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,说明激活或插件下载未完成,后续扫描会因缺少插件而无法执行。

Nessus 部署与初始化配置链路 平台部署 Windows:MSI 安装 服务 Tenable Nessus Linux:dpkg / rpm 安装 服务 nessusd 初始化向导 ① 创建管理员账号 ② 选择产品 / 输入激活码 ③ 下载插件 激活与插件状态 Settings → About 查看许可证与到期时间 插件数 > 0 且持续更新 否则扫描无法执行 网络访问控制 绑定网段 / 允许 IP 防火墙放行 8834/tcp nessusd.rules 限制可访问客户端,避免暴露公网 代理与离线更新 在线:配置 HTTP 代理 离线:导入插件包 nessuscli update all-2.0.tar.gz 完成离线升级 配置验证闭环 登录 8834 正常 插件版本为最新 授权客户端可访问

五、网络访问控制:别让 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 是否完整、是否使用了对应版本的插件包,以及磁盘空间是否充足。

代理配置中若使用 HTTPS 代理,需确认代理证书是否被系统信任;否则 Nessus 会因 TLS 校验失败而无法下载插件。可在代理设置中导入 CA 证书,或临时关闭证书校验(仅限测试环境)。

七、常见初始化故障与判断依据

现象可能原因判断与处理
浏览器无法打开 8834服务未启动 / 防火墙拦截 / 端口被占用检查服务状态、netstat 端口、防火墙规则
激活后插件数为 0网络不通 / 代理未配置 / 激活码无效查看 nessusd.messages 日志,确认更新源可达
扫描提示缺少插件插件未下载完成或版本过旧手动触发更新或导入离线包
远程访问被拒绝Allowed Hosts 未包含客户端网段修改 nessusd.rules 并重启服务

完成以上配置后,Nessus 才具备“可扫描”的基本条件:服务运行、许可证有效、插件完整、访问受控、更新通道畅通。后续创建扫描策略时,才能把精力放在漏洞发现与治理上,而不是反复排查环境问题。