关于 scanning-infrastructure-with-nessus
面向使用 Tenable Nessus 评估网络基础设施的安全团队,介绍扫描策略配置、凭据扫描与非凭据扫描、结果分析和报告导出。
主要功能
- 01配置扫描策略
- 02运行凭据扫描与非凭据扫描
- 03扫描主机、服务和 Web 应用
- 04按严重级别查看发现
- 05以多种格式导出结果
适用场景
- 01评估服务器和网络设备
- 02执行定期漏洞审计
- 03检查补丁和合规状态
- 04通过扫描报告跟踪修复进度
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill scanning-infrastructure-with-nessus安装后在 Claude Code 中输入/scanning-infrastructure-with-nessus确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEassets/template.mdreferences/api-reference.mdstandards.mdworkflows.mdscripts/agent.pyprocess.py详细介绍
使用 Nessus 扫描基础设施
概述
Tenable Nessus 是业界领先的漏洞扫描器,用于识别网络基础设施中的安全弱点,包括服务器、工作站、网络设备和操作系统。本技能涵盖配置扫描策略、运行经过身份验证和未经身份验证的扫描、解读结果,以及将 Nessus 集成到持续漏洞管理工作流中。
适用场景
- 在涉及使用 nessus 扫描基础设施的安全评估中
- 遵循相关安全事件的事件响应流程时
- 执行定期安全测试或审计活动时
- 通过动手测试验证安全控制时
前置条件
- 已安装并激活 Nessus Professional 或 Essentials 许可证
- 可访问目标系统的网络(防火墙规则允许扫描器 IP)
- 用于经过身份验证的扫描的管理员凭据
- 了解 TCP/IP 网络和常见服务
- 获得扫描目标环境的书面授权
核心概念
Nessus 架构
Nessus 以客户端-服务器应用程序的形式运行,Nessus 扫描器引擎作为服务(nessusd)在主机系统上运行。它采用基于插件的架构,包含超过 200,000 个插件,这些插件由 Tenable 的研究团队每周更新。每个插件都会针对特定漏洞、错误配置或合规性检查进行测试。
扫描类型
- 主机发现 - 使用 ICMP、TCP、UDP 和 ARP 识别在线主机
- 基本网络扫描 - 涵盖常见漏洞的默认策略
- 高级扫描 - 可精细选择插件的自定义策略
- 凭据补丁审计 - 检查已安装补丁的身份验证扫描
- Web 应用测试 - 扫描特定于 Web 的漏洞
- 合规性审计 - 根据 CIS、DISA STIG、PCI DSS 基准进行检查
插件系列
Nessus 将插件归类为多个系列,包括:
- 操作系统:Windows、Linux、macOS、Solaris
- 网络设备:Cisco、Juniper、Palo Alto、Fortinet
- Web 服务器:Apache、Nginx、IIS、Tomcat
- 数据库:Oracle、MySQL、PostgreSQL、MSSQL
- 服务:DNS、SMTP、FTP、SSH、SNMP
工作流
步骤 1:初始配置
# Start Nessus service
sudo systemctl start nessusd
sudo systemctl enable nessusd
# CLI management with nessuscli
/opt/nessus/sbin/nessuscli update --all
/opt/nessus/sbin/nessuscli fix --list
# Verify plugin count
/opt/nessus/sbin/nessuscli update --plugins-only
步骤 2:创建扫描策略
通过 https://localhost:8834 上的 Nessus Web UI 配置自定义扫描策略:
- 前往 Policies > New Policy > Advanced Scan
- 配置 General 设置:名称、描述、目标
- 设置 Discovery 设置:
- 主机发现:Ping 方法(ICMP、针对端口 22、80、443 的 TCP SYN)
- 端口扫描:扫描常见端口或全部 65535 个端口的 SYN 扫描
- 服务发现:探测所有端口以发现服务
- 配置 Assessment 设置:
- 准确性:覆盖默认准确性设置(减少误报)
- Web 应用:扫描 Web 服务器时启用
- 选择与目标环境相关的插件系列
步骤 3:配置凭据
对于经过身份验证的扫描,请在 Credentials 选项卡下配置凭据:
- SSH:用户名/密码或 SSH 密钥对
- Windows:通过 SMB、WMI 使用域凭据
- SNMP:团体字符串(v1/v2c)或 USM 凭据(v3)
- 数据库:Oracle、MySQL、PostgreSQL 连接字符串
- VMware:vCenter 或 ESXi 凭据
步骤 4:运行扫描
# Using Nessus REST API via curl
# Authenticate and get token
curl -k -X POST https://localhost:8834/session \
-d '{"username":"admin","password":"password"}' \
-H "Content-Type: application/json"
# Create scan
curl -k -X POST https://localhost:8834/scans \
-H "X-Cookie: token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"uuid": "<TEMPLATE_UUID>",
"settings": {
"name": "Infrastructure Scan Q1",
"text_targets": "192.168.1.0/24",
"enabled": true,
"launch": "ON_DEMAND"
}
}'
# Launch scan
curl -k -X POST https://localhost:8834/scans/<SCAN_ID>/launch \
-H "X-Cookie: token=<TOKEN>"
# Check scan status
curl -k -X GET https://localhost:8834/scans/<SCAN_ID> \
-H "X-Cookie: token=<TOKEN>"
步骤 5:分析结果
Nessus 按严重程度对发现项进行分类:
- 严重(CVSS 9.0-10.0):需要立即修复
- 高(CVSS 7.0-8.9):在 7-14 天内修复
- 中(CVSS 4.0-6.9):在 30 天内修复
- 低(CVSS 0.1-3.9):在下一个维护窗口期间修复
- 信息性:无需立即采取行动
步骤 6:导出和报告
# Export via REST API
curl -k -X POST "https://localhost:8834/scans/<SCAN_ID>/export" \
-H "X-Cookie: token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"format":"nessus"}'
# Supported formats: nessus (XML), csv, html, pdf
最佳实践
- 在维护窗口期间安排扫描,以尽量减少对生产环境的影响
- 使用身份验证扫描,可多发现 45-60% 的漏洞
- 将脆弱系统(医疗设备、旧版 SCADA)排除在激进扫描之外
- 为不同的网络分段维护单独的扫描策略
- 每次扫描前更新插件,以发现最近披露的 CVE
- 手动验证关键发现后,再提交给修复团队
- 实施扫描结果趋势跟踪,以跟进修复进度
- 将扫描结果存储在 Tenable.sc 或 Tenable.io 中,以便集中管理
常见陷阱
- 仅运行未通过身份验证的扫描(会漏掉 45-60% 的漏洞)
- 未获得书面授权就进行扫描(违反法律和道德规范)
- 忽视扫描对生产系统性能的影响
- 未调整插件,导致出现过多误报
- 启动扫描前未验证扫描器的网络连接
- 使用默认扫描策略,未根据环境进行自定义
相关技能
- performing-authenticated-vulnerability-scan
- prioritizing-vulnerabilities-with-cvss-scoring
- implementing-continuous-vulnerability-monitoring
- performing-network-vulnerability-assessment
评论
支持 Markdown