implementing-rapid7-insightvm-for-scanning

部署和配置 Rapid7 InsightVM 安全控制台(Security Console)和扫描引擎(Scan Engines),在企业环境中执行认证和非认证漏洞扫描。

9 stars

Best use case

implementing-rapid7-insightvm-for-scanning is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

部署和配置 Rapid7 InsightVM 安全控制台(Security Console)和扫描引擎(Scan Engines),在企业环境中执行认证和非认证漏洞扫描。

Teams using implementing-rapid7-insightvm-for-scanning should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/implementing-rapid7-insightvm-for-scanning/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/implementing-rapid7-insightvm-for-scanning/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/implementing-rapid7-insightvm-for-scanning/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How implementing-rapid7-insightvm-for-scanning Compares

Feature / Agentimplementing-rapid7-insightvm-for-scanningStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

部署和配置 Rapid7 InsightVM 安全控制台(Security Console)和扫描引擎(Scan Engines),在企业环境中执行认证和非认证漏洞扫描。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 使用 Rapid7 InsightVM 实施扫描

## 概述
Rapid7 InsightVM(前身为 Nexpose)是企业级漏洞管理平台,通过 Security Console 和 Scan Engines 进行本地扫描,并借助 Insight Platform 提供基于云的分析。InsightVM 利用 Rapid7 漏洞研究库、Metasploit 漏洞利用知识、全球攻击者行为数据、全网扫描遥测数据和实时报告,提供全面的漏洞可见性。本技能涵盖部署 Security Console、配置 Scan Engines、设置扫描模板、认证扫描,以及与 Insight Agent 集成实现持续评估。

## 前置条件
- 满足最低配置的服务器:16 GB RAM、4 CPU 核心、500 GB 磁盘(Security Console)
- Scan Engine:8 GB RAM、4 CPU 核心、100 GB 磁盘
- 可访问目标子网的网络连接(端口因扫描类型而异)
- 用于认证扫描的管理员凭据(SSH、WMI、SNMP)
- Rapid7 InsightVM 许可证和 Insight Platform 账户
- PostgreSQL 数据库(与 Security Console 捆绑)

## 核心概念

### InsightVM 架构组件

#### Security Console(安全控制台)
核心管理服务器,功能包括:
- 托管基于 Web 的管理界面(默认端口 3780)
- 在嵌入式 PostgreSQL 数据库中存储扫描结果
- 管理 Scan Engine 部署和扫描计划
- 生成报告和仪表板
- 连接 Rapid7 Insight Platform 进行云端分析

注意:Security Console 不支持容器化环境。

#### Scan Engines(扫描引擎)
分布式扫描组件,功能包括:
- 对目标资产执行主动网络扫描
- 可跨网络段部署用于隔离环境
- 支持 Docker Hub 上的容器镜像灵活部署
- 将结果回传到 Security Console

#### Insight Agent(洞察代理)
轻量级端点代理,提供:
- 无需网络扫描的持续漏洞评估
- 对远程/漫游端点的评估
- 补充基于引擎的扫描实现全面覆盖
- 实时资产清单更新

### 扫描模板类型

| 模板 | 用例 | 深度 |
|----------|----------|-------|
| 发现扫描 | 资产清单、主机枚举 | 低 |
| 完整审计(不含 Web Spider) | 标准漏洞评估 | 中 |
| 完整审计(增强日志) | 详细评估并记录详细日志 | 高 |
| HIPAA 合规 | 医疗监管合规 | 高 |
| PCI ASV 审计 | PCI DSS 外部扫描要求 | 高 |
| CIS 策略合规 | 配置基准检查 | 中 |
| Web Spider | Web 应用发现和评估 | 中 |

## 实施步骤

### 步骤 1:安装 Security Console

```bash
# 下载 InsightVM 安装程序(Linux)
chmod +x Rapid7Setup-Linux64.bin
./Rapid7Setup-Linux64.bin -c

# 验证服务运行状态
systemctl status nexposeconsole.service

# 访问 Web 界面
# https://<console-ip>:3780
```

初始配置:
1. 打开 https://localhost:3780
2. 使用许可证密钥完成设置向导
3. 配置数据库设置(推荐内嵌 PostgreSQL)
4. 设置管理员凭据
5. 激活 Insight Platform 连接以使用云端分析

### 步骤 2:部署分布式 Scan Engines

```bash
# 在远程服务器上安装 Scan Engine
./Rapid7Setup-Linux64.bin -c

# 安装时选择"仅 Scan Engine"
# 使用共享密钥与 Security Console 配对

# 基于 Docker 的 Scan Engine 部署
docker pull rapid7/insightvm-scan-engine
docker run -d \
  --name scan-engine \
  -p 40814:40814 \
  -e CONSOLE_HOST=<console-ip> \
  -e CONSOLE_PORT=3780 \
  -e ENGINE_NAME=DMZ-Scanner \
  -e SHARED_SECRET=<pairing-secret> \
  rapid7/insightvm-scan-engine
```

在 Security Console 中配对引擎:
1. 管理 > Scan Engines > 新建 Scan Engine
2. 输入引擎主机名/IP 和端口(默认 40814)
3. 使用共享密钥进行认证
4. 验证连接状态显示"Active"

### 步骤 3:配置资产发现站点

```
站点配置:
  名称:          Production-Network
  Scan Engine:   Primary-Engine-01
  扫描模板:      完整审计(不含 Web Spider)

  包含的资产:
    - 10.0.0.0/8     (内部网络)
    - 172.16.0.0/12   (DMZ 网络)

  排除的资产:
    - 10.0.0.1        (核心路由器 - 脆弱设备)
    - 10.0.100.0/24   (ICS/SCADA 网段)

  计划:
    频率:    每周
    日期:    周日
    时间:    凌晨 02:00
    最大持续时间:8 小时
```

### 步骤 4:配置认证扫描

#### Windows 凭据(WMI)
```
凭据类型:    Microsoft Windows/Samba (SMB/CIFS)
域:          CORP.EXAMPLE.COM
用户名:      svc_insightvm_scan
密码:        <服务账户密码>
认证:        NTLM

权限提升:
  类型:  无(使用域管理员或本地管理员)
```

#### Linux/Unix 凭据(SSH)
```
凭据类型:    Secure Shell (SSH)
用户名:      insightvm_scan
认证:        SSH 密钥(推荐)或密码
SSH 私钥:    /opt/rapid7/.ssh/scan_key
端口:        22

权限提升:
  类型:      sudo
  sudo 用户:  root
  sudo 密码:  <sudo 密码>
```

### 步骤 5:配置扫描模板

用于均衡扫描的自定义扫描模板:
```
模板名称:      Enterprise-Standard-Scan

服务发现:
  TCP 端口:    知名端口(1-1024)+ 常见服务
  UDP 端口:    DNS(53), SNMP(161), NTP(123), TFTP(69)
  方式:        SYN 扫描(隐蔽扫描)

漏洞检查:
  仅安全检查:  启用
  跳过潜在:    禁用
  Web 爬取:    禁用(使用单独模板)
  策略检查:    启用(CIS 基准)

性能:
  最大并行资产:   10
  最大每秒请求数:  100
  每资产超时:     30 分钟
  重试次数:       2
```

### 步骤 6:设置 Insight Agent 部署

```powershell
# Windows Agent 安装(通过 GPO 或 SCCM)
msiexec /i agentInstaller-x86_64.msi /quiet /norestart `
  CUSTOMTOKEN=<platform-token> `
  CUSTOMCONFIG=<agent-config>

# Linux Agent 安装
chmod +x agent_installer.sh
./agent_installer.sh install_start \
  --token <platform-token>

# 验证代理连通性
# 检查 InsightVM 控制台:资产 > Agent Management
```

### 步骤 7:配置修复工作流

```
修复项目:
  名称:          Q1-2025-关键修复

  范围:
    严重程度:    关键 + 高
    CVSS 分数:   >= 7.0
    资产:        Production-Network 站点

  分配:
    团队:        基础设施运营
    截止日期:    2025-03-31

  跟踪:
    自动验证:    启用(在下次计划扫描时重新扫描)
    通知:        逾期项发送邮件
    升级:        SLA 75% 时通知管理者
```

### 步骤 8:API 集成自动化

```python
import requests
import json

class InsightVMClient:
    """Rapid7 InsightVM API v3 自动化客户端。"""

    def __init__(self, console_url, api_key):
        self.base_url = f"{console_url}/api/3"
        self.session = requests.Session()
        self.session.headers.update({
            "Content-Type": "application/json",
            "Authorization": f"Bearer {api_key}"
        })
        self.session.verify = False  # 控制台使用自签名证书

    def get_sites(self):
        """列出所有已配置的扫描站点。"""
        response = self.session.get(f"{self.base_url}/sites")
        response.raise_for_status()
        return response.json().get("resources", [])

    def start_scan(self, site_id, engine_id=None, template_id=None):
        """触发站点的临时扫描。"""
        payload = {}
        if engine_id:
            payload["engineId"] = engine_id
        if template_id:
            payload["templateId"] = template_id

        response = self.session.post(
            f"{self.base_url}/sites/{site_id}/scans",
            json=payload
        )
        response.raise_for_status()
        return response.json()

    def get_asset_vulnerabilities(self, asset_id):
        """检索特定资产的漏洞。"""
        response = self.session.get(
            f"{self.base_url}/assets/{asset_id}/vulnerabilities"
        )
        response.raise_for_status()
        return response.json().get("resources", [])

    def get_scan_status(self, scan_id):
        """检查正在运行的扫描状态。"""
        response = self.session.get(f"{self.base_url}/scans/{scan_id}")
        response.raise_for_status()
        return response.json()


# 使用示例
client = InsightVMClient("https://insightvm-console:3780", "api-key-here")
sites = client.get_sites()
for site in sites:
    print(f"站点:{site['name']} - 资产:{site.get('assets', 0)}")
```

## 最佳实践
1. 将 Scan Engines 部署在靠近目标网络的位置,以减少穿越防火墙的扫描流量
2. 对漫游笔记本电脑和远程工作者使用 Insight Agents,这类设备不总是可以通过网络扫描访问
3. 结合基于代理和基于引擎的扫描以获得最准确的漏洞视图
4. 在业务关键时段配置扫描黑名单窗口以避免运营影响
5. 在完整扫描前使用凭据测试验证认证是否有效
6. 启用安全检查以防止在生产系统上意外造成拒绝服务
7. 按网络段、业务部门或合规范围分隔扫描站点
8. 利用基于标签的资产组实现动态报告和修复跟踪

## 常见陷阱
- 在工作时间进行完整扫描导致网络拥塞或服务降级
- 仅使用非认证扫描,遗漏 60-80% 的本地漏洞
- 未将脆弱设备(打印机、ICS/SCADA、医疗设备)从激进扫描模板中排除
- 未跨网络段分布 Scan Engines,导致防火墙瓶颈
- 忽视扫描引擎资源利用率导致扫描不完整
- 未配置扫描持续时间限制,允许失控扫描无限消耗资源

## 相关技能
- performing-agentless-vulnerability-scanning
- building-vulnerability-data-pipeline-with-api
- implementing-wazuh-for-vulnerability-detection
- performing-remediation-validation-scanning

Related Skills

scanning-network-with-nmap-advanced

9
from killvxk/cybersecurity-skills-zh

使用 Nmap 的脚本引擎、时序控制、规避技术和输出解析,对授权目标网络执行高级网络侦察, 发现主机、枚举服务、检测漏洞并识别操作系统。

scanning-kubernetes-manifests-with-kubesec

9
from killvxk/cybersecurity-skills-zh

使用 Kubesec 对 Kubernetes 资源清单执行安全风险分析,识别错误配置、权限提升风险以及与安全最佳实践的偏差。

scanning-infrastructure-with-nessus

9
from killvxk/cybersecurity-skills-zh

Tenable Nessus 是业界领先的漏洞扫描器,用于识别网络基础设施(包括服务器、工作站、网络设备和操作系统)中的安全弱点。

scanning-docker-images-with-trivy

9
from killvxk/cybersecurity-skills-zh

Trivy 是 Aqua Security 开源的综合性漏洞扫描器,用于检测容器镜像中操作系统软件包、语言特定依赖项的漏洞、错误配置、密钥和许可证违规,并集成到 CI/CD 流水线,支持 SARIF、CycloneDX 和 SPDX 等多种输出格式。

scanning-containers-with-trivy-in-cicd

9
from killvxk/cybersecurity-skills-zh

本技能涵盖将 Aqua Security 的 Trivy 扫描器集成到 CI/CD 流水线中,用于全面的容器镜像漏洞检测。包括扫描 Docker 镜像中的操作系统包和应用依赖 CVE、检测 Dockerfile 中的错误配置、扫描文件系统和 Git 仓库,以及建立基于严重性的质量门禁以阻止有漏洞的镜像部署。

scanning-container-images-with-grype

9
from killvxk/cybersecurity-skills-zh

使用 Anchore Grype 扫描容器镜像的已知漏洞(Vulnerability),支持基于 SBOM 的匹配和可配置的严重性阈值。

performing-web-application-scanning-with-nikto

9
from killvxk/cybersecurity-skills-zh

Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。

performing-vulnerability-scanning-with-nessus

9
from killvxk/cybersecurity-skills-zh

使用 Tenable Nessus 执行认证和未认证漏洞扫描,识别网络基础设施、服务器和应用程序中的已知漏洞、 错误配置、默认凭据和缺失补丁。扫描器将发现与 CVE 数据库和 CVSS 评分关联,生成优先级修复指导。 适用于漏洞扫描、Nessus 评估、补丁合规检查或自动化漏洞检测等请求场景。

performing-sca-dependency-scanning-with-snyk

9
from killvxk/cybersecurity-skills-zh

本技能涵盖使用 Snyk 实施软件成分分析(SCA, Software Composition Analysis),在 CI/CD 流水线中检测存在漏洞的开源依赖项。内容包括扫描包清单和锁文件、自动修复拉取请求生成、许可证合规检查、已部署应用程序的持续监控,以及与 GitHub、GitLab 和 Jenkins 流水线的集成。

performing-ot-vulnerability-scanning-safely

9
from killvxk/cybersecurity-skills-zh

使用被动监控、原生协议查询和经过精心控制的Tenable OT Security主动扫描,在OT/ICS环境中安全执行漏洞扫描,在不破坏工业过程或导致旧版控制器崩溃的情况下识别漏洞。

performing-container-security-scanning-with-trivy

9
from killvxk/cybersecurity-skills-zh

使用 Aqua Security Trivy 扫描容器镜像、文件系统和 Kubernetes 清单,检测漏洞(Vulnerability)、错误配置、暴露的密钥和许可证合规问题,并生成 SBOM(Software Bill of Materials,软件物料清单)及集成到 CI/CD 流水线。

performing-agentless-vulnerability-scanning

9
from killvxk/cybersecurity-skills-zh

配置并执行无代理漏洞扫描(agentless vulnerability scanning),利用网络协议、云快照分析和基于 API 的发现方式评估系统安全,无需在端点安装 Agent。