什么是Nessus,怎么使用它?

目录(快速导航)

  1. 获取 Nessus:选项与建议
  2. Nessus 支持平台与系统需求(简明表)
  3. Nessus 安装(Linux / Windows / Docker 简要步骤)
  4. Nessus 初次配置与激活(使用 Nessus Home / 试用 / 许可激活)
  5. 创建首次扫描(策略 / 目标 / 认证扫描 / 扫描模板)
  6. 扫描类型详解:主流扫描模式与何时使用
  7. 高级配置:认证扫描、合规性扫描、凭证与脚本(Nessus 插件)
  8. 扫描结果解析:漏洞等级、证据、利用代码、优先级与误报排查
  9. 报告导出与自动化:Schedule、API、报告格式 (PDF/CSV/HTML/XML)
  10. 安全与合规注意事项(伦理、合法性、渗透测试授权)
  11. 性能调优与大规模部署建议(扫描并发、分布式扫描器)
  12. 常见问题与故障排查清单
  13. 开源替代:Greenbone/OpenVAS(安装与基础使用)
  14. 结语:合理使用与持续改进

1. 获取 Nessus:选项与建议

  • Nessus Home(免费):适合家庭与学习用途(受限于非商业使用与每次可扫描 IP 数量限制,Tenable 有具体条款)。适合个人练习、学习插件与扫描原理。
  • Nessus Professional(付费):适合企业、渗透测试与专业安全工程师,功能与漏洞库实时更新、支持企业用例。可申请试用(通常 7-14 天)。
  • Nessus Manager / Tenable.io / Tenable.sc:适合大规模、企业级集中管理与历史审计,带有分布式扫描与合规功能。

2. Nessus 支持平台与系统需求(简明)

(以 Nessus Professional 最新常见版本为例;实际以 Tenable 官方文档为准)

  • 支持系统:多数 Linux 发行版(CentOS/RHEL, Ubuntu), Windows Server, macOS(客户端/管理控制台多为 web)。
  • 资源建议(单台小型扫描器):
    • CPU:2-4 核(扫描较重时建议更多)
    • 内存:4-8 GB(大规模扫描 16GB+)
    • 磁盘:至少 50GB(插件库和缓存)
    • 网络:稳定的出网(用于下载插件并可能连接许可证服务器)

3. Nessus 安装(Ubuntu / Windows / Docker 示例)

注意:下面给出 官方途径 的安装参考命令(适配你所下载的版本)。实际安装前以你下载的具体 .deb.rpm.msi 文件名为准。

在 Ubuntu / Debian 上(示例)

  1. 从 Tenable 官网下载对应的 .deb(例如 Nessus-<version>-debian6_amd64.deb)。
  2. 上传到服务器或用 wget 直接下载(示例): wget https://downloads.nessus.org/nessus3dl.php?file=Nessus-<version>-debian6_amd64.deb -O Nessus.deb sudo dpkg -i Nessus.deb sudo systemctl start nessusd sudo systemctl enable nessusd
  3. 打开浏览器访问 https://<scanner-ip>:8834/ 进行 web 配置界面(首次访问会提示设置 admin 用户和激活)。

在 CentOS / RHEL(rpm)

  1. 下载 .rpm,然后: sudo rpm -ivh Nessus-<version>.rpm sudo systemctl start nessusd sudo systemctl enable nessusd
  2. 访问 https://<scanner-ip>:8834/ 完成配置。

在 Windows(示例)

  1. 下载 Windows MSI 安装包。
  2. 以管理员身份运行 MSI,默认安装路径及服务。
  3. 安装完成后访问 https://localhost:8834/https://<host-ip>:8834/

Docker(不常用,仅作提示)

Tenable 并不推荐直接用官方 Docker 镜像生产环境托管;许多用户仍会用容器化方式做临时演示或测试。若用 Docker,需确保端口 8834 暴露并且数据持久化卷正确挂载。


4. Nessus 初次配置与激活(含 Nessus Home / 试用)

  1. 在浏览器打开 https://<scanner-ip>:8834/,接受证书(自签名)并进入安装向导。
  2. 创建管理员账号(用户名/密码)——记住不要用简单密码。
  3. 激活方式:
    • Nessus Home:在 Tenable 网站注册并取得 activation code(Home 版通常受 IP 数量限制)。在 web 向导中输入 activation code 即可激活并下载插件集。
    • Trial / Professional:在购买或申请试用后得到 activation code,于此处激活。
  4. 插件更新:激活后 Nessus 会自动下载插件库(这一步可能需要几分钟至十几分钟,视带宽而定)。插件库非常重要——它包含最新的漏洞检测逻辑。
  5. 账号与访问控制:建议启用 HTTPS(默认 8834),并考虑放置在内网或 VPN 后面以减少外网暴露风险。

5. 创建首次扫描(从零开始)

Nessus 的扫描通常分为:新建扫描任务(New Scan)选择模板配置目标与策略启动扫描

常见扫描模板

  • Basic Network Scan:基础的主机漏洞扫描(未使用凭证)。
  • Credentialed Patch Audit:利用凭证登录目标进行更深层检测(更准确、可检测补丁情况)。
  • Web Application Tests:应用层测试(针对 Web 漏洞)。
  • Advanced Scan:可自定义端口/插件/扫描技法。
  • Discovery / Host Discovery:仅做活跃主机发现,不做完整漏洞扫描。

创建示例:基础网络扫描

  1. Dashboard → New Scan → 选择 Basic Network Scan
  2. 填写 Name / Description。
  3. Targets:可以是单个 IP、IP 范围(例如 192.168.1.0/24)或主机名;也可以上传 targets 列表文件。
  4. Credentials:若想做认证扫描,配置对应的凭证(SSH key/password、Windows WMI/SMB 凭证等)。
  5. Advanced(可选):设置端口范围、并发扫描线程、超时、插件筛选等。
  6. 保存并点击 Launch 开始扫描。

6. 扫描类型详解:何时用哪种

  • 无凭证扫描(Unauthenticated):适合外部渗透测试或黑盒测试;发现公开服务与明显漏洞。优点是快速;缺点是许多内部问题无法检测。
  • 有凭证扫描(Authenticated / Credentialed):使用 SSH/SMB/WMI/PsExec 等登录目标后进行深度检查(补丁、配置弱点、文件权限等)。这是最能反映真实风险的方法。
  • 合规性扫描(Compliance):对照 CIS、PCI-DSS 等基线检测系统配置项。输出通常是“通过/不通过”的配置项。
  • Web 应用扫描:更多关注 HTTP 层面的漏洞(XSS、SQLi、路径穿越等),常需要结合动态应用测试工具。
  • 敏感目录 / 自定义插件:可以定制脚本/插件,针对特定环境做检测。

7. 高级配置:认证扫描、合规与插件管理

认证扫描(Credentialed Scans)

  • 为什么要做:可以看到补丁是否应用、是否有敏感文件、是否有弱口令、系统配置问题等。
  • 常用凭证类型
    • Windows:用户名 + 密码 或域账户(支持 SMB/WMI/WinRM)
    • Linux/Unix:SSH 公钥或密码(建议使用密钥)
    • 数据库/应用:DB 用户(只读)
  • 注意:凭证应尽量只授予最低权限以完成检测(避免授予 root / admin 除非必要)。凭证泄露风险需评估。

合规性扫描

  • PoliciesTemplates 中选择合规模板(如 PCI、CIS)。
  • 合规项多数需要 credentialed 扫描以验证具体配置项(例如密码策略、补丁级别、审计开关等)。
  • 报告将标注哪些配置项不符合基线,便于整改。

插件管理

  • Nessus 插件由 Tenable 发布并自动更新;但你可以在管理面板里查看插件状态、更新历史。
  • 了解插件编号(Plugin ID)能方便查阅 CVE/修复建议。

8. 扫描结果解析:如何读懂输出并采取行动

Nessus 的结果页面通常包含:主机列表 → 每主机的漏洞列表 → 每漏洞的详情(描述、证据、影响、解决建议、参考链接、CVSS 分数、可被利用的 PoC 等)。

关键字段解释

  • Severity / Risk(信息级/低/中/高/严重):Nessus 根据内部规则与 CVSS 给出优先级。不要只盯颜色,要读描述与证据。
  • CVSS v3 分数:国际通用评分,帮助量化优先修复顺序。
  • Exploitability / Proof:若插件能证明漏洞存在(例如显示某个输出、某文件存在),会在证据(Evidence)中显示命令输出或 HTTP 响应片段。
  • 修复建议(Solution):通常给出补丁、配置改动或临时缓解措施。务必验证修复是否影响业务。

排查误报(false positive)

  1. 核对证据:查看 Plugin 的 Evidence、输出和触发条件。
  2. 使用凭证重测:有时无凭证检测会误判;用 credentialed scan 确认。
  3. 临时屏蔽插件:若确认为误报,可以在策略里禁用该插件并重新运行;但需记录原因与决策。
  4. 版本或环境差异:老旧插件或特殊环境(定制服务)也会引发误报;对比 CVE 与厂商公告。

优先级策略(实用)

  • 先修复:高/严重 + 可被利用的漏洞(尤其 RCE、认证绕过、公开可利用的漏洞)。
  • 其次:高/中但影响敏感系统(域控制器、数据库、网关设备)。
  • 长期计划:低/信息类漏洞与配置改善(可以批量安排)。

9. 报告导出与自动化

  • Nessus 支持导出格式:PDF、HTML、CSV、 Nessus XML(用于与 Tenable.sc 等系统对接)。
  • 计划扫描(Schedule):可设定定时任务(每天/每周/每月)自动扫描并发送报告到邮箱。
  • API 自动化:Nessus 提供 REST API(需要生成 API key)——可以实现扫描触发、获取结果与集成到 CI/CD。
  • 示例场景:在补丁管理流程中,定期扫描并把漏洞清单传到票务系统(Jira)以安排修复单。

10. 安全与合规注意事项(必须强调)

  • 获得授权:任何对网络/系统的主动扫描都必须有书面授权(安全测试授权书 / scope)。未经授权的扫描可能被视为非法入侵。
  • 影响评估:某些扫描(尤其使用 exploit 模块或强度大的插件)可能影响系统可用性;在生产环境运行前请在测试/灰度环境验证。
  • 保密凭证:凭证应安全存储(Nessus 有凭证管理),并在测试后定期变更。
  • 日志与合规:保留扫描记录与审批过程以满足审计要求(如 PCI、SOX 等)。
  • 数据泄露风险:扫描结果包含敏感信息(开放端口、配置、补丁状态),在传输或存储时使用加密、最小权限访问与安全的传输渠道。

11. 性能调优与大规模部署建议

  • 并发/线程设置:在策略的 Performance/Advanced 里调整扫描并发数、端口扫描速度与超时,防止对目标造成过大压力。
  • 分布式扫描:对于大规模网络,使用分布式扫描器 + 管理服务器(Tenable.sc / Tenable.io)能减轻单点负载。
  • 扫描窗口/波次:把大网段拆分为多个波次或在低峰期执行。
  • 资源监控:监控 Nessus 主机的 CPU/内存/IO 性能,插件更新期间可能有短时高 CPU 使用率。
  • 网络策略:确保扫描器到目标的路由稳定,避免跨国链路导致误判。

12. 常见问题与故障排查清单

  • 插件库下载失败:检查出网、DNS、代理设置;查看 /opt/nessus/var/nessus/logs/nessusd.messages(Linux)或相应日志。
  • 扫描器无法连接目标:确认网络连通(ping/traceroute),目标防火墙/IPS 规则是否拦截。
  • 凭证登录失败:检查凭证正确性与目标的认证策略(例如是否启用 MFA、是否需要特殊权限)。
  • 扫描后大量误报:先尝试 credentialed scan;如果依旧,核查插件版本与目标环境的特殊实现。
  • 性能问题:降低并发、缩短端口范围或拆分扫描任务;检查 Nessus 主机资源。

13. 开源替代:Greenbone / OpenVAS / GVM(安装与基础使用)

如果你无法使用 Nessus(例如预算或授权问题),可以考虑开源解决方案 Greenbone Vulnerability Manager(GVM,常说的 OpenVAS)。下面给出 Ubuntu 上的简易安装与快速使用步骤(适合学习与中小型环境)。

注意:不同发行版与 GVM 版本差别较大,以下为 Ubuntu 示例并为常见流程,实际以官方文档为准。

在 Ubuntu 上快速安装(示例,使用 apt 或源码)

  1. 更新系统: sudo apt update && sudo apt upgrade -y
  2. 安装 GVM(在某些版本中有 gvm 包,或使用 Greenbone 社区脚本): sudo apt install -y gvm 或使用 Greenbone 官方安装脚本(社区版本有自动安装脚本,需参照官方仓库)。
  3. 初始化和同步NVT(vuln feeds): sudo gvm-setup sudo gvm-feed-update
  4. 启动服务并访问 Web 界面(通常在 9392 端口): sudo gvm-start 访问 https://<host>:9392/,登录默认 admin 账号或按照初始化提示创建账号。
  5. 创建扫描任务,和 Nessus 类似:New Task → 设置扫描策略与目标 → Launch。

GVM 的功能和插件生态相比 Nessus 略有差距,但对于漏洞发现、合规检测有良好覆盖,且完全可控/可部署于内网。


14. 结语:合理使用与持续改进

  • 使用漏洞扫描工具的核心目的不是“找出多少漏洞”,而是通过持续的发现-修复-验证循环降低真实风险。这需要组织内的责任分工、票务流转、补丁管理与验证流程。
  • 建议把漏洞扫描结果纳入补丁管理或 CMDB 流程,结合资产重要性做优先级(资产分级 + CVSS + 可被利用性)。
  • 定期审计扫描策略与凭证管理,确保扫描覆盖率与最小化误报。
  • 最后再次提醒:不要尝试破解或使用非法 license。如果你或你的组织预算有限,可以考虑 Nessus Home(教育/学习)或部署 GVM/OpenVAS 等开源工具作为短期替代。

发表回复