ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Kali Linux安装Nessus漏洞扫描器:从零部署到实战扫描指南

Kali Linux安装Nessus漏洞扫描器:从零部署到实战扫描指南 这次我们来看一个在网络安全领域尤其是渗透测试和漏洞评估中几乎绕不开的工具——Nessus。它不是一个新工具但因其强大的漏洞库和持续更新的特性至今仍是安全从业者进行合规检查、资产发现和漏洞扫描的首选之一。对于使用Kali Linux作为主力渗透测试平台的朋友来说在Kali上集成Nessus意味着能将一个商业级的漏洞扫描能力无缝融入这个“黑客工具箱”。这篇文章的重点不是讲Nessus有多厉害而是解决一个非常实际的问题如何在Kali Linux上从零开始完成Nessus的下载、安装、激活并跑通第一个漏洞扫描任务。整个过程会涉及官方包获取、离线激活码处理、Web服务启动以及基础扫描配置。无论你是安全专业的学生、刚入行的渗透测试工程师还是需要定期进行安全自查的运维人员这篇手把手的教程都能帮你快速搭建起可用的本地漏洞扫描环境。1. 核心能力速览在开始动手之前我们先快速了解Nessus的核心特性和本次部署的关键信息。能力项说明工具类型商业漏洞扫描器提供免费家庭版核心功能资产发现、漏洞扫描、合规性检查、配置审计部署平台Kali Linux(本文演示环境)也支持Windows、macOS等硬件门槛对CPU和内存有要求建议至少2核CPU、4GB内存。扫描性能与目标数量和网络环境强相关。显存占用不涉及GPU计算无显存要求。启动方式通过systemctl启动后台服务通过浏览器访问Web管理界面。是否支持API是Nessus提供完整的REST API可用于自动化扫描和报告管理。是否支持批量任务是可通过Web界面创建扫描任务队列或通过API进行批量扫描。适合场景企业内部网络安全评估、渗透测试前期信息收集、安全合规自查、教育学习与研究。重要提示Nessus家庭版Home免费但仅限于非商业用途且扫描IP数量有限制。专业版Professional功能更全需购买许可证。本文演示基于家庭版的安装与激活流程。2. 适用场景与使用边界Nessus是一个功能强大的工具但必须在合法、合规的范围内使用。它适合谁渗透测试人员用于前期全面的资产发现和漏洞信息收集。安全运维工程师用于定期对内部网络和服务器进行漏洞巡检。合规性审计人员利用其策略模板检查系统是否符合PCI DSS、HIPAA等标准。网络安全学习者在授权的实验环境如虚拟机、专用靶场中学习漏洞原理和扫描技术。它能解决什么问题资产清点自动发现指定网段内存活的主机及其开放的端口、服务。漏洞识别利用庞大的漏洞插件库识别操作系统、应用程序、中间件、数据库等的已知安全漏洞。合规检查对照安全基线模板检查系统配置是否符合安全标准。生成报告提供详细的技术报告和管理摘要用于风险分析和整改跟踪。使用边界与法律风险绝对禁止在未获得明确书面授权的情况下对任何不属于你或你未被授权测试的网络、系统、网站进行扫描。这属于违法行为。授权测试仅在拥有所有权的资产、或已获得所有者正式授权如渗透测试合同、漏洞众测项目范围的资产上使用。实验环境强烈建议在虚拟机如VMware、VirtualBox搭建的隔离网络环境中进行学习和测试例如使用DVWA、Metasploitable等靶机。谨慎扫描即使对授权目标高强度的扫描也可能对目标系统性能造成影响甚至导致服务中断。应在业务低峰期进行并提前通知相关方。3. 环境准备与前置条件在Kali上安装Nessus前请确保你的环境满足以下要求。1. 操作系统确认本文基于Kali Linux 2024.x进行演示其他较新版本流程类似。打开终端使用以下命令确认系统信息cat /etc/os-release uname -a2. 网络连接安装过程中需要从Tenable官方服务器下载安装包和插件请确保Kali虚拟机或主机能够访问互联网。如果需要配置代理请提前在系统或终端中设置好。3. 系统更新建议先更新系统软件包列表确保环境一致sudo apt update sudo apt upgrade -y4. 资源检查磁盘空间Nessus安装及插件更新需要约2GB以上的磁盘空间。内存运行Nessus服务建议至少有2GB可用内存扫描大型网络时需要更多。权限安装和启动服务需要sudo或root权限。4. 安装部署与启动方式我们将按照“下载 - 安装 - 启动服务 - 初始化配置”的顺序进行。4.1 下载Nessus安装包访问Tenable官方下载页面是首选。但由于网络原因有时直接下载较慢。这里提供官方和备用方法。方法一官方命令行下载推荐在Kali终端中使用wget直接下载对应Linux版本的.deb安装包。请访问Tenable官网查看最新版本号并替换下面命令中的链接部分。# 示例下载适用于AMD64架构的Nessus 10.7.1版本 # 请务必前往 https://www.tenable.com/downloads/nessus 查看最新链接 wget https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.7.1-debian10_amd64.deb如果下载速度慢可以尝试使用curl或寻找镜像源。方法二手动下载后传输如果主机下载更快可以在Windows/Mac上通过浏览器从Tenable官网下载对应的.deb文件选择“Kali Linux / Debian”版本然后通过SSH如scp命令、共享文件夹或U盘等方式传输到Kali系统中。4.2 安装Nessus软件包下载完成后使用dpkg命令进行安装。dpkg可能缺少依赖我们可以用apt来修复。# 进入下载文件所在目录假设文件名为 Nessus-10.7.1-debian10_amd64.deb sudo dpkg -i Nessus-10.7.1-debian10_amd64.deb如果安装过程中报告依赖错误运行以下命令自动安装缺失的依赖sudo apt --fix-broken install -y安装成功后终端会输出提示信息表明Nessus服务已安装并注册。4.3 启动Nessus服务并设置开机自启安装程序会自动创建一个名为nessusd的系统服务。我们来启动它并设置为开机启动。# 启动nessusd服务 sudo systemctl start nessusd # 设置服务开机自动启动 sudo systemctl enable nessusd # 检查服务运行状态确认状态为 active (running) sudo systemctl status nessusd看到状态为“active (running)”即表示后台服务启动成功。Nessus默认监听https://localhost:8834。4.4 防火墙配置如有如果Kali系统启用了防火墙如ufw需要放行8834端口。# 如果使用ufw sudo ufw allow 8834 sudo ufw reload5. 初始化Web配置与激活服务启动后需要通过浏览器完成初始化设置包括创建管理员账户和激活产品。5.1 访问Web管理界面打开Kali Linux上的浏览器如Firefox。在地址栏输入https://localhost:8834注意是https不是http。如果是在虚拟机中安装可以从宿主机浏览器访问需将localhost替换为Kali虚拟机的IP地址例如https://192.168.1.10:8834。首次访问会看到安全警告这是因为Nessus使用自签名SSL证书。这是正常的点击“高级”或“接受风险并继续”即可。5.2 选择产品类型与获取激活码进入页面后会提示你选择产品版本。为了学习和测试我们选择“Nessus Essentials”(即之前的家庭版)。它是免费的。接下来需要输入一个激活码Activation Code。你需要一个Tenable账户来获取它。点击页面上的链接会跳转到Tenable官网的激活码申请页面。使用邮箱注册一个Tenable账户。注册成功后登录Tenable账户在管理页面你会找到属于你的激活码一串由字母和数字组成的代码通常类似XXXX-XXXX-XXXX-XXXX-XXXX。复制它。5.3 完成初始化设置回到Kali浏览器中的Nessus页面粘贴你获得的激活码。点击“Continue”。Nessus会开始连接Tenable服务器验证激活码并准备初始化。接下来创建你的Nessus管理员账户。务必记住这个用户名和密码这是你以后登录Web管理界面的凭证。提交后Nessus会开始初始化过程这包括下载最新的漏洞插件plugins。这是一个耗时较长的步骤取决于你的网速可能需要十几分钟到半小时以上。请耐心等待进度条完成。6. 功能测试与效果验证初始化完成后会自动跳转到Nessus的Web主界面。现在我们来创建一个最简单的扫描任务验证整个安装是否成功。6.1 创建第一个扫描任务登录使用你刚才设置的管理员账号密码登录。新建扫描点击左上角的“New Scan”按钮。选择模板在模板列表中找到“Basic Network Scan”。这是一个针对网络主机的通用漏洞扫描模板适合初学者。点击它。配置扫描Name给你的扫描任务起个名字例如My First Test Scan。Description可选填写描述。Targets这是最关键的一步在这里输入你要扫描的目标。绝对禁止扫描未经授权的公网IP或内网IP安全测试建议输入你本地搭建的靶机IP。例如如果你在同一个虚拟网络里有一台Metasploitable2靶机IP是192.168.1.100就输入这个IP。自我测试你也可以扫描Kali自己输入localhost或127.0.0.1。保存并启动配置完成后点击页面下方的“Save”按钮。然后在这个任务的界面上点击“Launch”按钮开始扫描。6.2 观察扫描过程与结果扫描队列点击顶部导航栏的“My Scans”可以看到你创建的任务。状态会从“Pending”变为“Running”并显示进度百分比。实时查看点击正在运行的任务名称可以进入详情页看到实时发现的主机、开放的端口以及正在检查的漏洞。扫描完成当状态变为“Completed”时扫描结束。查看报告点击已完成的任务你会看到扫描摘要。点击“Vulnerabilities”选项卡可以按风险等级Critical, High, Medium, Low查看发现的漏洞列表。点击任意一个漏洞可以查看详细描述、风险评级、解决方案Remediation以及输出信息Output即Nessus检测到的具体证据。效果验证成功标准能够成功创建并启动扫描任务。扫描状态能正常从“Running”变为“Completed”。在结果中至少能看到被扫描主机的开放端口信息。如果扫描的是存在漏洞的靶机如Metasploitable2应该能列出大量中高危漏洞。7. 接口API与批量任务对于需要自动化集成的场景Nessus的REST API非常有用。你可以通过API管理扫描、启动任务、导出报告等。7.1 启用API密钥在Web界面中点击右上角用户头像进入“My Account”。在账户设置中找到“API Keys”部分。点击“Generate”生成新的API密钥。你会得到两串字符Access KeySecret Key像保存密码一样妥善保存这两个Key它们只显示一次。7.2 使用cURL测试API连通性获取API密钥后可以使用简单的cURL命令测试API是否可用。以下命令用于获取当前用户的扫描任务列表。# 将 YOUR_ACCESS_KEY 和 YOUR_SECRET_KEY 替换为你刚刚生成的密钥 # 将 NESSUS_HOST 替换为你的Nessus地址如 127.0.0.1 curl -X GET \ https://NESSUS_HOST:8834/scans \ -H X-ApiKeys: accessKeyYOUR_ACCESS_KEY; secretKeyYOUR_SECRET_KEY \ -k-k参数表示忽略SSL证书验证因为自签名证书。如果成功会返回一个JSON格式的扫描列表数据。7.3 批量任务思路Nessus本身支持在Web界面中配置扫描排程Schedule。通过API你可以实现更灵活的批量操作批量创建扫描通过API循环调用为多个目标IP或IP段创建扫描任务。批量启动扫描获取所有“就绪”状态的扫描任务ID然后依次调用启动API。批量导出报告扫描完成后循环调用报告导出API将结果保存为PDF、HTML、CSV等格式。状态监控编写脚本定期检查所有扫描任务的状态并发送通知。Python示例使用requests库import requests import json # 配置信息 NESSUS_HOST 127.0.0.1 ACCESS_KEY YOUR_ACCESS_KEY SECRET_KEY YOUR_SECRET_KEY BASE_URL fhttps://{NESSUS_HOST}:8834 # 设置请求头 headers { X-ApiKeys: faccessKey{ACCESS_KEY}; secretKey{SECRET_KEY}, Content-Type: application/json } # 禁用SSL警告仅用于测试环境 requests.packages.urllib3.disable_warnings() # 示例获取扫描列表 try: response requests.get(f{BASE_URL}/scans, headersheaders, verifyFalse) response.raise_for_status() # 检查请求是否成功 scans response.json() print(f成功获取到 {len(scans.get(folders, []))} 个文件夹下的扫描任务。) # 可以进一步解析scans内容 except requests.exceptions.RequestException as e: print(fAPI请求失败: {e})8. 资源占用与性能观察Nessus作为一款本地部署的扫描器其资源消耗主要取决于并发扫描的主机数量、插件数量以及目标系统的响应情况。1. 进程与内存观察在终端中可以使用top或htop命令观察nessusd进程的资源占用。top -p $(pgrep nessusd) # 或者使用htop并过滤nessusd通常空闲时nessusd进程会占用数百MB内存。在进行扫描时内存占用会显著上升可能达到1-2GB或更高CPU使用率也会飙升。2. 磁盘空间观察插件和数据默认安装在/opt/nessus目录。可以使用df和du命令检查磁盘使用情况。# 查看/opt分区空间 df -h /opt # 查看/opt/nessus目录大小 sudo du -sh /opt/nessus3. 网络连接观察扫描时会产生大量网络连接。可以使用netstat或ss命令查看。sudo netstat -tunap | grep nessusd # 或 sudo ss -tunap | grep nessusd性能优化建议限制并发主机数在扫描策略的“Advanced”设置中降低“Max hosts per scan”和“Max checks per host”的值可以降低对系统和目标的压力。优化扫描策略针对特定目标如Web应用、数据库选择专门的扫描模板而不是每次都进行全端口、全插件的“大而全”扫描。安排扫描时间将大型扫描任务安排在业务低峰期或夜间进行。9. 常见问题与排查方法在安装和使用过程中你可能会遇到以下问题。问题现象可能原因排查方式解决方案浏览器访问https://localhost:8834无法连接1. Nessus服务未启动。2. 防火墙阻止了8834端口。3. Kali主机与虚拟机网络不通宿主机访问时。1.sudo systemctl status nessusd检查服务状态。2.sudo ss -tlnp | grep :8834检查端口监听。3. 检查Kali IP并尝试从Kali内部浏览器访问。1. 启动服务sudo systemctl start nessusd。2. 配置防火墙放行端口。3. 确保虚拟机网络设置为桥接或NAT并获取到IP。初始化时卡在“Downloading plugins...”进度条网络连接Tenable服务器慢或被阻断。观察终端中nessusd服务日志sudo tail -f /var/log/nessus/nessusd.messages1. 耐心等待首次下载插件数据量较大。2. 检查网络代理设置。3. 极端情况下可尝试寻找离线插件包进行手动更新。激活码无效或无法激活1. 激活码输入错误。2. 激活码对应的邮箱未验证。3. 网络问题导致无法连接激活服务器。1. 仔细核对激活码。2. 检查注册邮箱是否完成了验证。3. 尝试在Tenable官网登录账户查看激活码状态。1. 重新复制粘贴激活码。2. 完成邮箱验证。3. 确保Kali能正常访问tenable.com。扫描任务长时间处于“Pending”或“Running”状态无进展1. 目标IP不可达。2. 扫描策略过于激进被目标防火墙拦截。3. Nessus服务进程异常。1. 从Kaliping一下目标IP。2. 检查扫描日志在扫描结果页面。3. 查看nessusd服务日志。1. 确认目标主机在线且网络可达。2. 调整扫描策略降低并发和频率。3. 重启Nessus服务sudo systemctl restart nessusd。Web界面登录后提示错误或空白浏览器缓存问题或会话异常。尝试使用浏览器的无痕/隐私模式访问。1. 清除浏览器缓存和Cookie。2. 重启浏览器。3. 重启Nessus服务。dpkg -i安装时报告依赖错误Kali系统缺少Nessus所需的某些库文件。查看具体的错误信息。运行sudo apt --fix-broken install -y自动修复依赖然后重新执行dpkg -i安装。10. 最佳实践与使用建议为了让你的Nessus用得更顺手、更安全这里有一些经验之谈。首次使用先扫自己在熟悉工具阶段将扫描目标设置为localhost或同一网络下的另一台测试虚拟机如Metasploitable。这能帮你理解扫描报告又不会引发任何法律风险。合理配置扫描策略不要总是使用默认的“Basic Network Scan”。根据目标类型Web服务器、数据库、网络设备创建或选择更精细的策略模板可以提升扫描效率和准确性。定期更新插件漏洞库日新月异。虽然家庭版插件更新有时延但仍应定期在Web界面的“Updates”页面检查并安装更新以确保能发现最新的漏洞。妥善保管凭证Nessus管理员密码和API密钥是最高权限凭证务必妥善保存不要泄露。管理扫描结果及时清理旧的、无用的扫描任务和报告以释放磁盘空间。重要的报告可以导出PDF/HTML/CSV并归档。关注资源使用在启动一个大型扫描如整个C类网段前预估一下时间和资源消耗。避免在性能不足的机器上执行过多并发扫描导致系统卡死。合规与授权永远是第一位再次强调任何扫描行为都必须建立在合法授权的基础上。在真实环境中扫描前务必获得书面授权并明确扫描范围和时间窗口。通过以上步骤你应该已经在Kali Linux上成功部署并运行了Nessus漏洞扫描器。从下载安装包到完成第一次扫描整个过程的核心在于网络畅通、激活码获取以及目标设定的合法性。这个工具打开了自动化漏洞评估的大门但记住它发现的每一个“高危”漏洞都需要你结合专业知识去验证、评估其真实的业务风险。接下来你可以尝试探索更复杂的扫描策略、学习如何解读漏洞的风险评分和修复建议甚至将API集成到你的自动化工作流中让安全巡检变得更加高效。
返回列表