尧图精选

Kali Linux安装Nessus漏洞扫描器全流程与故障排除指南

🕒 发布时间:2026/10/1 4:53:42 📁 来源:尧图网络
Nessus在安全圈里的地位基本就是“漏洞扫描工具里的老牌主力”。我最早开始接触Kali Linux时第一台测试服务器就是靠它扫出高危漏洞的插件库全、报告直观、更新速度也快很多安全团队都拿它当基线工具。不过Nessus并不像Metasploit那样默认集成在Kali里安装需要自己下载、初始化、激活插件源整个流程其实并不复杂但中间确实有不少容易卡住的地方。这篇文章就把我在Kali Linux上安装Nessus的完整过程写下来从版本选型到常见故障排解都覆盖到适合刚把Kali装好、准备入坑漏洞扫描的朋友也适合那些之前装到一半就卡在“激活/插件更新”的人。我用的环境是Kali Linux 2024.x内核6.xNessus版本为10.x整个过程大约需要半小时其中插件更新会占掉大部分时间。接下来直接进入正题。1. 安装前的准备与版本选型1.1 为什么要在Kali里单独装Nessus很多人会问Kali本身不是带了一堆漏洞扫描工具吗像OpenVAS、Nikto、Nmap还有Metasploit里集成的Vuln Scanner为什么还要额外装Nessus我的实际体验是OpenVAS功能不算弱但它的界面和报告风格偏“运维化”插件质量和误报控制也没有Nessus那么成熟。Nessus更擅长的事情是“漏洞管理闭环”——它可以做资产发现、系统漏洞扫描、Web应用扫描、配置基线核查还能导出一份管理层看得懂的报告。对于做渗透测试、红队评估、等保测评的人来说Nessus基本上是必备的第三方扫描器。另外Kali默认不自带Nessus并不是因为它不好而是官方策略上更倾向于开源工具。Nessus是Tenable的商业产品免费版Nessus Essentials最多可以扫描16个IP个人学习和测试完全够用了。所以在Kali里单独装一个Nessus既安全又不影响系统自带工具链。1.2 确认系统环境与安装包版本安装之前先做好三件事确认架构、确认依赖、确认网络状态。Nessus官方并没有强制依赖Java或特定数据库它的核心组件是自包含的二进制所以系统层面基本没有额外安装包的需求。但你要注意CPU架构。Kali Linux默认安装在x86_64amd64架构上下载Nessus时也要选对应版本。如果你在ARM设备树莓派、RK3588开发板等上跑Kali就得下载ARM64版本千万别搞混。可以用下面命令快速确认架构uname -m输出为x86_64就选Debian/Ubuntu的amd64包输出为aarch64就选ARM64包。我踩过的坑就是一开始在虚拟机里下载了x86包没问题换到ARM设备上忘了重新下载直接dpkg安装后提示结构错误白折腾了一轮。还有一点是磁盘空间。Nessus安装包不大但插件库更新后体积会快速增长建议给/opt或者系统分区预留至少10GB空间。如果你用的是Kali默认的LVM布局别忘了用df -h提前看一下磁盘剩余量。因为插件缓存目录/opt/nessus/var/nessus会存放所有插件和扫描数据空间不足时会导致更新失败或扫描中断。1.3 拿到可用的Activation CodeNessus安装完成后激活阶段需要输入一个Activation Code。免费版Nessus Essentials的激活码需要在Tenable官网注册账号后获取注册时填写邮箱即可不需要付费。这里有一个注意事项Nessus没有“离线注册”的便捷路径激活码是通过邮件发送的所以注册邮箱一定要能正常收信。如果你是企业用户使用的可能是Tenable.io或Tenable.sc的托管连接码那不是在官网个人中心生成的而是在Tenable平台里创建“Connector”之后拿到的Code。我个人不建议在安装过程中临时注册最好先注册、拿到激活码再开始动工。这样初始化向导时就能连续走完不用干等邮件。另外如果发现收不到邮件检查垃圾箱。2. 下载安装包并完成核心安装2.1 从官方渠道下载正确版本的deb包Nessus的下载页面是Tenable官网的Downloads区域进入之后选择Nessus然后根据你的操作系统选择对应包。Kali Linux基于Debian所以这里应该选择Debian/Ubuntu系列的包文件后缀是.deb。需要注意不要直接下载“Latest Linux”那个通用包那是给CentOS/Ubuntu等发型版用的脚本包虽然在多数情况下也可以装上但官方支持的Debian包才是最稳妥的。建议在下载页面里看清楚“Nessus-10.x.x-debian6_amd64.deb”这样的文件名。下载方式有两种。一种是在浏览器里点击下载然后通过文件管理器或cd ~/Downloads找到它另一种是直接在终端里wget下载。如果你已经知道完整下载链接Tenable的下载链接是动态签名的过期很快直接在终端里下载效率更高。我当时是在浏览器里下载的因为链接里带了时间戳参数手动拼接容易失败。下载完成后不要急着双击安装建议先核对一下文件大小是否正常。Nessus 10.x的deb包大约在30MB到40MB之间如果只有几MB大概率下载不完整安装时会报一堆奇奇怪怪的依赖错误。2.2 dpkg安装与Nessus服务启动Kali上安装deb包优先使用dpkg它会保留安装日志便于后续排查。操作命令如下sudo dpkg -i Nessus-10.7.3-debian6_amd64.deb如果包名不同记得替换成你实际下载的文件名。安装过程会输出一堆路径其中关键路径是/opt/nessusNessus主程序目录/etc/nessus配置文件目录/opt/nessus/var/nessus/logs/nessusd.messagesNessus服务日志安装完成后Nessus服务会自动注册到systemd里但默认并不会自动启动。你可以用下面命令启动并设置开机自启sudo systemctl start nessusd sudo systemctl enable nessusd然后确认服务状态sudo systemctl status nessusd正常输出里会看到active (running)的字段同时监听端口8834。确认端口在监听ss -tlnp | grep 8834如果看到LISTEN 0 4096 0.0.0.0:8834说明服务已经起来了。这一步经常出问题的是端口被占用比如你之前装过其他Web应用占用了8834这时需要先处理冲突再继续。2.3 确认安装结果的三个关键点安装完不要急着初始化先用命令确认三个信息版本号、插件库状态、服务运行时间。这三个信息能帮你快速定位后续问题/opt/nessus/sbin/nessuscli --version systemctl status nessusd cat /opt/nessus/var/nessus/logs/nessusd.messages | tail -n 20nessuscli --version会显示Nessus版本、插件版本、构建时间。如果版本显示异常说明安装包有问题建议重新下载再装。日志文件是关键如果服务启动失败日志里会直接写明原因比如数据库损坏、端口占用、权限错误等。走到这一步你的Nessus核心程序就装好了但还差最后一步——通过Web界面完成激活和插件下载。3. 初始化配置与插件更新全流程3.1 浏览器初始化向导的关键选择打开浏览器访问https://127.0.0.1:8834如果你在远程访问Kali则换成Kali的IP。第一次访问会有证书警告这是Nessus自签证书导致的直接点击“高级”并选择继续即可不影响使用。进入初始化页面后会碰到第一个关键选择连接方式。选项有Nessus Essentials、Nessus Professional、Managed Scanner等。如果你只是为了个人学习选择Nessus Essentials即可。如果你已经有Nessus Professional许可证可以先注册试用后输入专业激活码也可以选Professional。我之前在虚拟机里选错过一次Managed Scanner结果发现它需要Tenable.sc控制台地址根本不会建立本地扫描器最后只能重新初始化。所以个人使用场景下请直接选第一项“Nessus Essentials”或“Nessus Professional”千万别选“Managed Scanner”。选完之后页面会让你输入Activation Code直接在对应输入框粘贴你注册邮箱收到的激活码即可。然后填写本地管理账号的姓名、邮箱和密码这个账号是以后登录Nessus Web管理界面的主要凭证密码建议设置得复杂一点因为Nessus本身是一个扫描器管理账号泄露意味着攻击者可以直接发起内部扫描容易被人拿到敏感信息。3.2 插件更新进度查看与等待技巧点击提交后Nessus会进入插件编译阶段界面上会显示一个进度条。首次插件同步非常耗时视网络情况可能需要20分钟到1小时。等待期间不要直接关掉页面也不要反复刷新。第一次初始化时插件包数量通常有几万个Nessus需要把这些插件编译成本地格式CPU会满负荷工作一段时间。如果页面卡住不动你可以打开另一个终端用下面的命令检查实时进度tail -f /opt/nessus/var/nessus/logs/nessusd.messages正常输出中会出现类似nessusd: finished compiling plugins的字样。还有一个方法可以直接查询插件状态/opt/nessus/sbin/nessuscli update --status它会显示当前插件集的生成时间如果显示的是你安装当天或近几天的日期说明插件源已经成功同步了。这里有一个经验插件编译期间Kali的内存占用会非常高如果虚拟机只分配了2GB内存编译过程可能直接被系统oom-killer杀掉最终表现为页面一直停留在初始化界面或服务崩溃。建议在初始化插件前把虚拟机内存调到4GB以上或者关闭不必要的图形界面程序。3.3 离线更新与常见卡点如果网络环境不稳定插件更新可能是整个安装过程中最容易失败的一步。Nessus插件更新失败时的典型表现是页面卡在初始化、编译进度始终为0%、或者日志里出现connection timed out。针对这种情况官方支持离线更新方式。你可以访问Tenable官网的Nessus插件下载区域下载一个all-2.0.tar.gz的完整插件包然后放到/opt/nessus/var/nessus/目录下再执行sudo /opt/nessus/sbin/nessuscli update /opt/nessus/var/nessus/all-2.0.tar.gz这个命令会读取本地插件包并解压/编译插件完成后重启服务即可。需要注意离线更新包通常比较大几百MB下载文件后一定要先校验压缩包完整性再放到对应目录。解压失败时日志会直接报错此时重新下载即可。另外免费版Nessus Essentials在插件更新频率上和企业版没有太大区别基本每天都会有增量更新。但免费版的扫描目标IP数被限制在16个以内扫描大型网段时会被拒绝这属于正常限制不是安装问题。4. 常见安装故障与排查速查4.1 端口起不来怎么处理Nessus服务启动失败的最常见原因有三个端口被占用、权限不足、数据目录损坏。依次排查ss -tlnp | grep 8834 ls -ld /opt/nessus/var/nessus如果8834端口已经被其他进程占用先杀掉占用进程或者修改Nessus监听端口。修改端口不推荐因为后续扫描器和管理端之间会有默认端口通信预期建议还是把占用进程处理掉。权限问题则多见于直接用su切换用户启动的场面Nessus服务必须以root或nessus用户运行普通用户启动会直接失败。如果日志提示数据库损坏解决方式就是把数据目录备份后重置再重新初始化sudo mv /opt/nessus/var/nessus /opt/nessus/var/nessus.bak sudo systemctl restart nessusd4.2 证书警告与页面无法访问访问https://127.0.0.1:8834时出现“您的连接不是私密连接”是正常现象Nessus默认使用自签名证书很多新手会在这里放弃。直接点击“高级”-“继续前往”即可。但如果页面完全无法打开先确认服务监听地址是否绑定在0.0.0.0上。默认情况下Nessus只允许本地访问如果你在VMware虚拟机里用客户机IP访问宿主机的Nessus会遇到连接拒绝。此时需要进入Nessus的配置文件调整监听地址修改/etc/nessus/nessusd.conf中的listen_address字段改成0.0.0.0然后重启服务。这一步在远程管理场景下很实用。4.3 激活码相关错误激活码输入后提示“Invalid Activation Code”时首先要确认你选择的是Nessus Essentials而非其他选项。免费版激活码不能用于Professional初始化向导两者入口不同。如果你注册后长时间没收到邮件先在官网账户页面确认激活码是否已生成。有些邮箱服务会把Tenable的邮件归入垃圾箱需要手动白名单。还有一种情况是激活码未激活也就是官网虽然生成了Code但没有完成邮箱验证这个要回到注册邮件里点击验证链接之后激活码才有效。4.4 资源占用与扫描性能问题Nessus初始化插件后后台会常驻nessusd进程占用约300MB到500MB内存。随后启动扫描时每个并发扫描目标都会占用额外内存和CPU。Kali虚拟机如果只分配2GB内存Nessus扫描时整个系统会明显卡顿甚至无响应。建议至少给虚拟机分配4GB内存并把CPU核心数调到2以上。此外Nessus扫描产生的临时文件会存在/opt/nessus/var/nessus目录下扫描结果、报告、临时文件都往那里写。某个扫描任务非常大时临时空间不足会导致扫描任务中途停止。建议定期清理旧报告和临时文件。4.5 插件更新失败与磁盘不足插件更新失败除了网络问题外另一个常见原因是磁盘空间不足。Nessus在更新插件时需要临时缓存空间如果分区可用空间小于1GB更新会反复失败。用df -h /opt查看分区使用情况必要时清理Kali系统里的旧包和日志。还有一次我遇到的问题比较特殊Nessus插件更新正常但页面一直显示“正在初始化”后来发现是系统时间不正确。Nessus对TLS校验很严格如果系统时间和真实时间偏差太大插件下载请求会被拒绝。设置好系统时间后更新立刻恢复了。5. 装完之后的实用建议5.1 首次扫描前的策略与目标规划Nessus装好后第一件事不要急着拿内网大网段直接扫。免费版Essentials限制16个IP如果目标范围设置过大扫描任务会直接被拒绝。建议先创建一个“Basic Network Scan”策略目标只填单个IP确认扫描器运行状况正常再逐步扩大范围。扫描结果里会出现很多“低危”和“信息”级别的条目比如SSL证书过期、SSL版本过旧等。这些不能简单当作漏洞处理需要结合资产实际暴露面去判断。Nessus的评分体系是CVSS 3.0高危漏洞9.0以上通常需要第一时间处理但8.0以下的条目也要看具体场景。我第一次用Nessus扫自己的测试机时它报了一个“SSH服务器允许空密码”的高危漏洞我一开始以为是误报后来确认是测试机自己配置的sshd_config里允许了空密码登录。这说明Nessus的条目都是基于实际探测结果的不是泛泛而谈。5.2 已知凭据扫描与配置基线检查如果你的目标是Linux服务器且你有root权限建议在Nessus策略中启用“Credentials”扫描选项填入SSH或Windows凭据。这样可以利用SSH协议直接读取系统内部状态扫描结果会精准得多误报率明显降低。配置方法是在New Scan里选择Basic Network Scan后进入Credentials选项卡选择SSH类型填入用户名和密码。填好后保存再启动扫描。Nessus会通过SSH通道连接目标收集系统版本、已安装补丁、弱配置等数据。这种方式比纯外部扫描更有价值特别是对等保测评和漏洞复核这类场景。5.3 安装在虚拟机里的额外注意事项很多朋友是在虚拟机里装Kali来跑Nessus的这里有几个额外的建议。第一请先安装VMware Tools或VirtualBox Guest Additions这样可以支持宿主机与虚拟机之间的文件拖拽和剪贴板共享。安装Nessus时如果需要把deb包拖进虚拟机这个增强工具会省去很多麻烦。装好之后还能动态调整虚拟机分辨率操作体验好很多。第二虚拟机的网络模式建议设置为“桥接模式Bridge”这样Nessus扫描的是宿主机所在局域网的真实IP段适合做内网渗透测试和资产发现。如果用的是NAT模式Nessus扫到的目标范围会被限制在虚拟网络内部很多真实设备的漏洞测不出来。第三拍摄快照。在Kali刚装好、Nessus初始化完成、还没有进行任何扫描前给虚拟机做一个快照。后期插件更新出问题、或者你扫坏了一些系统配置可以直接回滚到这个干净状态。这个习惯对做安全测试的人来说非常重要因为扫描器本身也是一把双刃剑误操作可能把目标系统扫挂清理现场最稳妥的方式就是重建环境。我在实际使用中还有一个体会Nessus安装步骤本身并不难真正浪费时间的是初始化阶段的等待以及网络不稳定导致的插件下载失败。很多人装到一半就放弃了其实只要记住插件更新时间较长、耐心等待并学会看日志这关就很好过。装好之后你获得的是一个可以持续跟踪漏洞的评估平台而不只是一个扫描按钮。最后再分享一个实操小技巧如果你经常需要在内网中做扫描评估可以考虑把Kali Linux做成持久化U盘系统把Nessus直接装在U盘系统里。这样无论换到哪台机器只要U盘插上就能直接进入带Nessus的扫描环境不需要重复安装和初始化。唯一要注意的是U盘的写入速度要足够快推荐用USB 3.0以上的U盘或移动固态硬盘否则Nessus插件编译和扫描缓存会让人等到崩溃。
上一篇/下一篇内容由系统自动关联 返回资讯列表 →