Nessus漏洞扫描器从零到实战:安装、配置与首次扫描完整指南
2026/8/7 2:59:23 网站建设 项目流程

1. 这篇文章真正要解决的问题

如果你是一名安全工程师、运维人员,或者正在学习网络安全,那么你一定听说过Nessus。它被誉为漏洞扫描领域的“瑞士军刀”,是无数安全团队进行资产发现和风险评估的首选工具。然而,对于大多数初学者甚至是有一定经验的使用者来说,Nessus的“入门”过程本身就可能是一个巨大的“漏洞”。

你可能会遇到以下这些典型问题:从官网下载哪个版本?家庭版和专业版到底有什么区别?那个神秘的“激活码”从哪里获取,又该如何使用?安装后,面对复杂的Web界面和上千个插件,如何进行第一次有效的扫描?更不用说那些令人头疼的报错,比如“Your Nessus data directory is critically low on disk space”,或者扫描策略配置不当导致误报漏报。

网络上充斥着零散的教程,有的只讲安装,有的只贴几个截图,但很少有文章能系统性地、手把手地带你走完从“零认知”到“第一次成功扫描”的全过程,并告诉你背后的原理和避坑指南。这正是本文要解决的问题。我们将不满足于简单的步骤罗列,而是深入剖析Nessus的核心工作流程,为你提供一份从下载、安装、激活、配置到实战使用的完整地图。读完本文,你将能独立完成Nessus的部署,并理解如何用它来为你的网络环境做一次“健康体检”。

2. Nessus 基础概念与核心原理

在动手之前,我们必须先理解Nessus到底是什么,以及它是如何工作的。这能帮助你在后续配置时做出更明智的决策,而不是盲目点击。

Nessus 是什么?Nessus 是由 Tenable 公司开发的一款广泛使用的漏洞扫描器。它的核心功能是主动向目标系统(如服务器、网络设备、应用程序)发送特定的数据包,并根据目标的响应来判断其是否存在已知的安全漏洞、配置错误或合规性问题。你可以把它想象成一个自动化的“安全审计员”,按照预定的检查清单(漏洞插件)对资产进行逐一排查。

核心工作原理:无凭证扫描 vs. 有凭证扫描这是理解Nessus能力边界的关键。

  • 无凭证扫描:Nessus 仅从网络外部探测目标,例如通过发送特定的TCP/UDP包来识别开放的端口、运行的服务及其版本。然后,它根据这些信息匹配已知的漏洞数据库(Nessus插件)。这种方式速度快、无需权限,但深度有限,无法发现系统内部配置、缺失的补丁等更深层次的问题。
  • 有凭证扫描:Nessus 需要你提供目标系统的登录凭据(如Windows的域账号/本地账号、Linux的SSH密钥/密码)。获得凭证后,Nessus会以“授权用户”的身份登录系统,直接检查系统内部状态,如已安装的补丁、注册表设置、文件权限、应用程序配置等。这种方式扫描更深、结果更准确,是进行合规性审计和深度风险评估的必备手段。

版本选择:家庭版 vs. 专业版Tenable 提供多个版本,对于个人学习和小型评估,主要关注这两个:

  • Nessus Essentials (原家庭版):免费。功能强大,足以满足学习和非商业用途的初级评估。它支持最多16个IP地址的扫描,但不包含高级合规性审计(如CIS Benchmark)、恶意软件检测等企业级功能。
  • Nessus Professional:付费商业版本。无IP数量限制,包含所有漏洞插件、合规性策略、恶意软件检测等高级功能,并享受优先技术支持。

对于绝大多数想要入门和学习漏洞扫描技术的读者,Nessus Essentials 是完全足够且推荐的选择。本文的演示也将基于此版本。

关键组件解析

  1. Nessus Scanner:扫描引擎本体,负责执行扫描任务。
  2. Nessus Web Interface:基于浏览器的图形化管理界面,用户通过它进行所有配置和操作。
  3. 插件 (Plugins):Nessus 的核心“知识库”。每个插件对应一个具体的漏洞检查项或信息收集项。Tenable 会持续更新插件库,以涵盖最新的漏洞(CVE)。安装后首次启动,Nessus 会下载大量插件,这需要一些时间和网络带宽。
  4. 扫描策略 (Scan Policy):定义了“如何扫描”。包括使用哪些插件、扫描的端口范围、扫描的强度(避免对目标造成影响)、是否使用凭证等。你可以创建自定义策略,也可以使用内置模板(如“Basic Network Scan”)。
  5. 扫描任务 (Scan):一次具体的扫描执行。它关联一个目标(或目标列表)和一个扫描策略。

理解了这些,我们就知道接下来的步骤:获取软件(下载)、安装引擎、获取使用许可(激活)、初始化配置(更新插件、创建策略),最后执行任务(使用)。

3. 环境准备与前置条件

在开始安装 Nessus 之前,请确保你的环境满足以下要求。合理的准备能避免很多后续问题。

硬件要求:

  • CPU:建议至少 2 核。扫描速度和多任务处理能力与CPU性能直接相关。
  • 内存:最低 4 GB,强烈建议 8 GB 或以上。Nessus 在运行时会加载大量插件到内存中,内存不足是导致扫描缓慢或失败的主要原因之一。
  • 磁盘空间:至少 10 GB 可用空间。这用于存放 Nessus 程序、插件库以及扫描结果数据。如果出现 “Your Nessus data directory is critically low on disk space” 错误,就是因为磁盘空间不足。
  • 网络:稳定的互联网连接。首次安装需要下载数百MB甚至上GB的插件库。

软件与系统要求:

  • 操作系统:Nessus 支持 Windows、Linux (多种发行版)、macOS。本文将以Windows 10/11Ubuntu 22.04 LTS为例进行演示,其他系统步骤类似。
  • 浏览器:需要使用现代浏览器(如 Chrome, Firefox, Edge, Safari)访问 Nessus 的 Web 界面(默认 https://localhost:8834)。确保浏览器支持 HTTPS。
  • 权限:在 Linux 系统上安装,需要rootsudo权限。在 Windows 上,需要管理员权限运行安装程序。

获取激活码 (Activation Code):这是使用 Nessus Essentials (免费版) 的必要条件。你需要一个有效的邮箱来接收激活码。

  1. 访问 Tenable Nessus Essentials 官方注册页面。
  2. 填写你的姓名和邮箱地址。
  3. 提交后,检查你的邮箱(包括垃圾邮件箱),你会收到一封来自 Tenable 的邮件,其中包含你的激活码。形如XXXX-XXXX-XXXX-XXXX-XXXX。请妥善保存这串代码。

重要提醒:

  • 仅从官方渠道下载:务必从 Tenable 官网下载安装包,避免使用来路不明的“破解版”,后者可能包含恶意代码,且无法获得官方的插件更新。
  • 选择测试环境:首次安装和学习,强烈建议在虚拟机(如 VMware, VirtualBox)或独立的测试机器上进行。避免直接在重要的生产服务器或个人主力机上操作。

4. Windows 系统安装与激活详解

我们将从最常用的 Windows 平台开始。整个过程分为下载、安装、初始化和激活。

4.1 下载与安装

  1. 访问官网:打开浏览器,访问 Tenable 官网的 Nessus 下载页面。
  2. 选择版本:在产品列表中选择 “Nessus Essentials” (免费版)。在操作系统下拉菜单中选择 “Windows”。
  3. 下载安装包:点击下载,你会得到一个类似Nessus-10.7.2-x64.msi的安装文件(版本号会随时间更新)。
  4. 运行安装:双击下载的.msi文件。如果系统弹出用户账户控制 (UAC) 提示,点击“是”。
  5. 安装向导
    • 欢迎界面点击 “Next”。
    • 接受许可协议,点击 “Next”。
    • 选择安装目录(默认即可),点击 “Next”。
    • 点击 “Install” 开始安装。
    • 安装完成后,确保勾选 “Launch Nessus” 选项,然后点击 “Finish”。此时,Nessus 服务会自动启动,并尝试打开浏览器。

4.2 初始化与激活

如果浏览器没有自动打开,请手动访问:https://localhost:8834。你会看到 Nessus 正在初始化的界面,这需要几分钟时间。

  1. 选择产品类型:初始化完成后,页面会提示你选择 Nessus 产品类型。这里我们选择“Nessus Essentials”
  2. 输入激活码:在接下来的页面中,粘贴你从 Tenable 邮件中收到的激活码,然后点击 “Continue”。
  3. 创建管理员账户:接下来需要为 Nessus 的 Web 界面创建一个管理员账户。这个账户不是你的 Windows 账户,而是 Nessus 自身的登录凭据
    • 用户名:可以自定义,例如admin
    • 密码:设置一个强密码并牢记。
    • 点击 “Submit”。
  4. 下载插件:此时,Nessus 会开始下载最新的漏洞插件库。这是一个漫长的过程,取决于你的网速,可能需要30 分钟到数小时。页面会显示进度条。请耐心等待,不要关闭浏览器或中断进程
  5. 完成启动:插件下载并编译完成后,Nessus 服务会重启。之后,浏览器会自动跳转到登录页面https://localhost:8834/#/。用你刚才创建的管理员账号登录,即可进入 Nessus 主界面。

至此,Windows 下的 Nessus 已经安装并激活成功。

5. Linux (Ubuntu) 系统安装与激活详解

在 Linux 服务器环境下部署 Nessus 更为常见。以下以 Ubuntu 22.04 为例,使用命令行完成安装。

5.1 下载与安装

  1. 下载 DEB 包:在 Tenable 官网下载页面,选择 “Nessus Essentials” 和 “Ubuntu / Debian” 版本。你可以直接在服务器上使用wget命令下载,或者先下载到本地再上传。

    # 示例,请替换为官网提供的实际最新链接 wget https://www.tenable.com/downloads/api/v1/public/pages/nessus/downloads/XXXX/download?i_agree_to_tenable_license_agreement=true -O Nessus-latest-ubuntu-amd64.deb

    注意:上面的URL是示例,实际下载链接请在官网点击获取。

  2. 安装 DEB 包:使用dpkg命令安装。如果缺少依赖,可以用apt修复。

    sudo dpkg -i Nessus-latest-ubuntu-amd64.deb # 如果报告依赖问题,运行 sudo apt-get install -f
  3. 启动 Nessus 服务

    sudo systemctl start nessusd # 设置开机自启 sudo systemctl enable nessusd # 查看服务状态 sudo systemctl status nessusd

    如果状态显示为active (running),说明服务已成功启动。

5.2 初始化与激活

  1. 访问 Web 界面:在服务器本机或能访问该服务器的其他机器上,打开浏览器,访问https://<你的服务器IP地址>:8834。例如https://192.168.1.100:8834

    • 重要:由于使用的是自签名证书,浏览器会提示“不安全连接”。这是正常现象,点击“高级”或“继续前往”即可。
  2. 后续步骤:接下来的步骤(选择Nessus Essentials、输入激活码、创建管理员账户、下载插件)与第4.2节 Windows 部分完全一致,请参照执行。

  3. 防火墙配置:如果无法从外部访问8834端口,可能需要配置防火墙。

    # 如果使用 ufw (Ubuntu) sudo ufw allow 8834/tcp sudo ufw reload # 如果使用 firewalld (CentOS/RHEL) sudo firewall-cmd --permanent --add-port=8834/tcp sudo firewall-cmd --reload

6. 核心配置与首次扫描实战

成功登录后,你会看到 Nessus 的主仪表盘。现在,让我们创建第一个扫描任务。

6.1 创建你的第一个扫描策略

策略决定了扫描的行为。我们从一个简单的内置模板开始。

  1. 点击顶部导航栏的“Policies”
  2. 点击“New Policy”按钮。
  3. 在模板列表中,选择“Basic Network Scan”。这是一个很好的起点,它进行常规的端口扫描和服务识别,而不使用攻击性插件。
  4. 为策略命名,例如My First Scan Policy,并添加描述(可选)。
  5. 点击“Save”

6.2 配置扫描任务并执行

有了策略,现在可以创建扫描任务了。

  1. 点击顶部导航栏的“Scans”->“New Scan”
  2. 选择“User Defined”标签页,你会看到刚才创建的My First Scan Policy,点击它。
  3. 配置扫描设置:
    • Name:Scan My Local Network
    • Description: (可选)。
    • Folder: 保持默认。
    • Targets:这是最关键的一步。在这里输入你要扫描的目标。
      • 可以是一个IP地址:192.168.1.1
      • 可以是一个IP范围:192.168.1.1-192.168.1.50
      • 可以是一个CIDR网段:192.168.1.0/24
      • 可以是主机名:scanme.nmap.org(这是一个允许扫描的测试主机)
      • 重要警告只扫描你拥有合法授权的主机或网络。未经授权扫描他人网络是违法行为。建议在本地虚拟机环境(如扫描另一台虚拟机)或家庭内网中进行测试。
  4. 其他设置(如计划任务、邮件通知)暂时保持默认。
  5. 点击页面底部的“Save”
  6. 保存后,你会回到扫描列表。找到刚创建的Scan My Local Network任务,点击其右侧的播放按钮 (Launch)

6.3 查看扫描结果与报告

扫描启动后,状态会变为Running。扫描时间取决于目标数量和网络状况。

  1. 实时查看:点击扫描任务名称,进入详情页。你可以看到实时进度、已发现的主机和漏洞数量。
  2. 完成查看:扫描完成后,状态变为Completed。再次点击任务名称。
  3. 报告解读
    • Hosts 标签页:列出所有发现的主机及其风险统计(严重、高危、中危、低危、信息)。
    • Vulnerabilities 标签页:按漏洞严重性列出所有发现的问题。点击任意一个漏洞,可以查看详细信息,包括:描述、风险等级、解决方案(如何修复)、输出(Nessus发现了什么证据)、参考链接(如CVE详情)。
    • Remediations 标签页:提供修复建议摘要。
    • History 标签页:本次扫描的历史记录。
  4. 导出报告:点击“Export”按钮,可以选择多种格式导出报告,如 PDF、HTML、CSV、Nessus格式 (.nessus) 等,便于存档或分享。

至此,你已经完成了 Nessus 从安装到第一次成功扫描的全流程。

7. 进阶配置:有凭证扫描与策略定制

无凭证扫描只能发现表面问题。要进行深度审计,必须配置有凭证扫描。

7.1 配置扫描凭证

  1. 进入“Policies”,编辑或新建一个策略。
  2. 在策略配置页面,点击左侧的“Credentials”
  3. 这里可以配置多种类型的凭证:
    • SSH:用于扫描 Linux/Unix 主机。推荐使用 SSH 密钥对,更安全。
      • Authentication Method:Public Key
      • Username: 例如ubuntu
      • Private Key部分,上传或粘贴你的私钥文件内容。
    • Windows:用于扫描 Windows 主机。
      • Authentication Method:PasswordNTLM
      • Username: 格式为DOMAIN\Username.\Username(本地账户)。
      • Password: 输入对应用户的密码。
  4. 配置完成后,保存策略。

7.2 创建自定义扫描策略

内置模板可能不符合你的所有需求。你可以创建高度自定义的策略。

  1. 新建策略时,选择“Advanced Scan”
  2. “Discovery”部分,可以配置主机发现方式(Ping扫描)、端口扫描范围和技术(TCP SYN, TCP Connect等)。
  3. “Assessment”部分,这是核心。你可以:
    • 启用/禁用插件族:例如,只启用“RedHat Local Security Checks”来专门检查RHEL漏洞。
    • 配置扫描强度Safe checks选项确保扫描不会对目标造成损害(推荐开启)。
    • 配置并行主机数:控制扫描并发度,避免对网络造成过大压力。
  4. “Report”部分,可以配置报告生成的选项。
  5. “Advanced”部分,可以配置各种超时、重试和性能参数。

通过精细的策略配置,你可以让 Nessus 的扫描行为更贴合你的实际环境和需求。

8. 常见问题与排查思路

在使用 Nessus 过程中,你几乎一定会遇到下面这些问题。这里提供了系统的排查思路。

问题现象可能原因排查方式解决方案
无法访问https://localhost:88341. Nessus 服务未启动。
2. 防火墙阻止了8834端口。
3. 浏览器代理设置问题。
1. Windows: 检查服务“Tenable Nessus”是否运行。
Linux:sudo systemctl status nessusd
2. 检查防火墙规则。
3. 尝试关闭浏览器代理或无痕模式访问。
1. 启动服务。
2. 开放端口(Linux见5.2节)。
3. 调整代理设置。
初始化或更新插件时极慢或失败1. 网络连接问题,无法连接到 Tenable 服务器。
2. 系统DNS解析问题。
1. 检查网络连通性 (ping plugins.nessus.org)。
2. 查看/opt/nessus/var/nessus/logs/(Linux) 或安装目录下的日志文件。
1. 确保网络通畅,可尝试更换网络环境。
2. 在Linux上,可尝试修改/etc/resolv.conf使用8.8.8.8等公共DNS。
扫描任务长时间卡在InitializingPending1. 扫描引擎繁忙或故障。
2. 策略配置错误(如目标不可达)。
3. 资源(内存/CPU)不足。
1. 查看扫描任务详情页的“Notes”或“Errors”部分。
2. 检查系统资源使用情况 (top,htop, 任务管理器)。
1. 重启 Nessus 服务 (sudo systemctl restart nessusd)。
2. 检查目标IP地址是否正确,网络是否互通。
3. 为服务器增加资源,或减少并发扫描任务。
错误:Your Nessus data directory is critically low on disk space磁盘空间不足,无法存放插件或扫描结果。使用df -h(Linux) 或查看磁盘属性 (Windows) 确认磁盘使用率。1.清理旧扫描结果:在“Scans”页面,删除不再需要的扫描任务(会同时删除结果)。
2. 扩展磁盘或清理系统其他文件。
扫描结果中漏洞数量为0或极少1. 目标主机防火墙丢弃了探测包。
2. 扫描策略过于宽松(如只扫描了少数端口)。
3. 目标主机确实是全新的、打过补丁的系统。
1. 从扫描目标主机本身,尝试pingtelnet [ip] [port]
2. 检查扫描策略的端口设置和插件配置。
1. 临时关闭目标主机防火墙进行测试(仅限测试环境)。
2. 使用更全面的扫描策略,如“Advanced Scan”并扩大端口范围。
3. 配置有凭证扫描以获得更深结果。
有凭证扫描失败1. 凭证错误(用户名/密码/密钥不对)。
2. 目标主机限制了登录(如SSH仅允许密钥登录)。
3. 网络策略阻止了认证流量。
1. 在策略的“Credentials”设置页面测试连接(部分版本支持)。
2. 手动使用提供的凭证尝试登录目标主机。
3. 查看扫描结果中该主机的“Notes”,会有更详细的错误信息。
1. 仔细核对凭证,确保有权限登录。
2. 调整目标主机的SSH/WinRM配置,允许密码认证(测试后请恢复)。
3. 确保Nessus服务器能通过网络访问到目标主机的管理端口(22, 5985, 5986)。

9. 最佳实践与工程建议

将 Nessus 集成到日常安全工作中,需要遵循一些最佳实践。

  1. 定期更新插件:漏洞库日新月异。虽然 Nessus 会自动检查更新,但建议定期登录控制台,在“Settings” -> “Software Update”中手动检查并更新插件,尤其是在进行重要扫描之前。
  2. 扫描分阶段进行
    • 发现扫描:使用轻量级策略,快速发现网络中的存活主机和开放端口。
    • 深度扫描:针对发现的主机,使用更全面、带有凭证的策略进行深度漏洞评估。
    • 合规扫描:使用专门的合规策略(如CIS Benchmark)检查配置是否符合安全标准。
  3. 合理安排扫描时间:扫描,尤其是有凭证的深度扫描,会消耗目标系统资源(CPU、内存、磁盘I/O)。务必在业务低峰期(如深夜)进行,并提前通知相关系统负责人。
  4. 结果分析与误报处理:Nessus 的报告需要人工分析。不是所有“高危”漏洞在你的特定环境下都能被利用(需要结合网络环境、防护措施判断)。要学会识别误报,并对真实风险进行优先级排序。
  5. 建立修复闭环:扫描不是目的,修复才是。建立流程:扫描 -> 生成报告 -> 分派工单给系统负责人 -> 修复 -> 重新扫描验证。可以将 Nessus 报告导出并导入到工单系统或安全运营平台(SOAR)。
  6. 安全存储凭证:用于有凭证扫描的账号密码或密钥,应使用权限最小化的专用账户。在 Nessus 中配置好后,定期更换密码。避免使用域管理员等高级别账号进行日常扫描。
  7. 备份配置:定期备份你的扫描策略、插件设置等重要配置。Nessus 的配置目录(如Linux下的/opt/nessus/etc/nessus/)可以定期归档。
  8. 性能调优:如果扫描主机很多,可以调整“Settings” -> “Advanced”中的max_hosts(同时扫描的最大主机数)和max_checks(同时进行的插件检查数),以平衡速度和资源消耗。

掌握 Nessus 只是网络安全工作的一个起点。它是一款强大的发现和评估工具,但真正的安全是一个持续的过程,涵盖预防、检测、响应和恢复。建议你以 Nessus 为支点,进一步学习漏洞原理(CVE)、安全加固指南(如CIS)、以及如何将扫描结果与防火墙、WAF、SIEM等安全设备联动,构建主动防御体系。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询