3. Nessus安装与初始化配置
Nessus 的安装并不是“下一步—下一步—完成”这么简单。真正决定后续扫描能否稳定运行的,是安装完成后的初始化配置:许可证是否正确激活、插件是否成功下载、扫描引擎能否被授权客户端访问、以及在内网隔离或代理环境下如何持续更新插件。本节围绕 Windows 与 Linux 两个平台,把部署、激活、访问控制、代理与离线更新串成一条可复现的配置链路。
一、部署前的准备:版本、资源与端口
Nessus 分为 Nessus Essentials(免费,最多 16 个 IP)、Nessus Professional 和 Nessus Expert 等版本。安装前先确认三件事:一是目标主机资源,官方建议至少 4 核 CPU、8 GB 内存、30 GB 以上磁盘,扫描大型网段时磁盘占用会随插件与结果增长;二是操作系统版本,Windows 需 Server 2016 及以上或 Win10/11,Linux 常见支持 RHEL/CentOS 7+、Ubuntu 18.04+、Debian 10+;三是端口规划,Nessus 默认通过 8834/tcp 提供 Web 管理界面,扫描引擎与插件更新还会使用 443/tcp 访问 Tenable 官方更新源。
安装包命名通常形如 Nessus-10.7.0-debian10_amd64.deb 或 Nessus-10.7.0-x64.msi。版本号中的 10.7.0 是 Nessus 主版本,debian10_amd64 表示目标发行版与架构,选错包会导致依赖缺失或无法启动。
二、Windows 平台部署
Windows 下双击 MSI 安装包,向导会依次询问安装路径、是否允许 Nessus 通过防火墙、以及管理界面端口。建议保留默认路径 C:\Program Files\Tenable\Nessus,并在防火墙步骤勾选放行,否则远程浏览器无法访问 8834。安装完成后,Nessus 服务 Tenable Nessus 会自动注册为 Windows 服务,可用 services.msc 查看状态。
若安装后浏览器打不开界面,优先检查服务是否运行、8834 是否被占用、以及防火墙入站规则。可用 PowerShell 快速确认:
Get-Service "Tenable Nessus"
netstat -ano | findstr :8834
New-NetFirewallRule -DisplayName "Nessus 8834" -Direction Inbound -Protocol TCP -LocalPort 8834 -Action Allow
三、Linux 平台部署
Linux 下按发行版选择包管理器安装。以 Debian/Ubuntu 为例:
sudo dpkg -i Nessus-10.7.0-debian10_amd64.deb
sudo systemctl enable --now nessusd
sudo systemctl status nessusd
RHEL/CentOS 则使用 sudo rpm -ivh Nessus-10.7.0-es7.x86_64.rpm,随后同样启用 nessusd 服务。安装完成后,Nessus 会监听 8834,但默认只绑定本机。若需远程访问,需修改 /opt/nessus/var/nessus/nessusd.rules 或在 Web 初始化时配置允许的网段,并放行防火墙:
sudo firewall-cmd --permanent --add-port=8834/tcp
sudo firewall-cmd --reload
Linux 下还需注意 SELinux 与文件权限。若服务启动失败,查看 /opt/nessus/var/nessus/logs/nessusd.messages 是最快的定位方式。
四、许可证激活与初始化向导
首次访问 https://<主机IP>:8834 会进入初始化向导。第一步创建管理员账号,密码需满足复杂度要求;第二步选择产品类型,Essentials 需填写邮箱获取激活码,Professional 则上传 license.key 或输入激活码。激活成功后,Nessus 会立即开始下载插件,这一步耗时取决于网络,通常几分钟到几十分钟。
激活状态可在 Settings → About 中查看,正常应显示产品名称、许可证类型与到期时间。若显示 “Not Activated” 或插件数为 0,说明激活或插件下载未完成,后续扫描会因缺少插件而无法执行。
五、网络访问控制:别让 8834 暴露在公网
Nessus 的 Web 界面一旦暴露在公网,等于把扫描引擎和漏洞数据交给任何人。生产环境应遵循三条原则:第一,只允许管理网段访问 8834,可在初始化向导的 “Allowed Hosts” 中填写 CIDR,例如 192.168.10.0/24;第二,在主机防火墙层面再次限制,Linux 用 firewalld/iptables,Windows 用高级安全防火墙;第三,若必须远程管理,优先通过 VPN 或跳板机,而不是直接映射端口。
Linux 下可编辑 /opt/nessus/var/nessus/nessusd.rules,添加类似 # allow 192.168.10.0/24 的规则后重启服务。注意该文件语法严格,写错会导致服务无法启动,修改前先备份。
六、代理与离线更新配置
很多内网环境无法直接访问 Tenable 更新源,此时有两种方案。方案一是在线代理:在 Settings → Proxy 中填写代理地址、端口、用户名密码,Nessus 会通过代理下载插件。方案二是离线更新:在可联网机器上下载 all-2.0.tar.gz 插件包,拷贝到目标主机后执行:
sudo /opt/nessus/sbin/nessuscli update all-2.0.tar.gz
sudo systemctl restart nessusd
离线更新后,可在 Settings → About 中核对插件版本与更新日期。若插件数没有变化,检查 tar.gz 是否完整、是否使用了对应版本的插件包,以及磁盘空间是否充足。
七、常见初始化故障与判断依据
| 现象 | 可能原因 | 判断与处理 |
|---|---|---|
| 浏览器无法打开 8834 | 服务未启动 / 防火墙拦截 / 端口被占用 | 检查服务状态、netstat 端口、防火墙规则 |
| 激活后插件数为 0 | 网络不通 / 代理未配置 / 激活码无效 | 查看 nessusd.messages 日志,确认更新源可达 |
| 扫描提示缺少插件 | 插件未下载完成或版本过旧 | 手动触发更新或导入离线包 |
| 远程访问被拒绝 | Allowed Hosts 未包含客户端网段 | 修改 nessusd.rules 并重启服务 |
完成以上配置后,Nessus 才具备“可扫描”的基本条件:服务运行、许可证有效、插件完整、访问受控、更新通道畅通。后续创建扫描策略时,才能把精力放在漏洞发现与治理上,而不是反复排查环境问题。