|
Nessus 扫出来的漏洞第一份报告,往往能把人看懵。工具满屏的讲座红色高危,CVSS 评分 9.8、课程10.0 扎堆,培训新手第一反应是漏洞“完了,这服务器得下线”。工具实际上那些高危里有一半是讲座误报,或者利用条件根本不成立。课程我见过一个运维半夜被叫起来修漏洞,培训折腾到天亮,漏洞最后发现 Nessus 报的工具那个“远程代码执行”需要攻击者先拿到域管权限——那还打个屁。 讲漏洞工具,讲座得先把工具本身的课程脾气摸清楚。Nessus 的培训检测逻辑分两类:一类是基于版本号比对,比如 Apache 2.4.49 直接标记 CVE-2021-41773;另一类是主动发送探测包,看目标回什么。前者快但容易误判,后者准但可能把服务打挂。培训课上我会反复强调一件事:拿到扫描结果先别急着修,花十分钟做验证。用 curl 手工发一个请求,或者丢到 Burp 里重放,确认漏洞真实存在再动手。这一步省不得。 扫描策略的选择比很多人想的要关键。默认的“Basic Network Scan”适合资产盘点,但做安全评估得用“Advanced Scan”并手动调插件族。Web 应用扫描要开“Web Applications”那组,数据库得勾上“Databases”。有个坑是“Denial of Service”类插件默认关闭,有人图省事全开,扫到一半把生产环境的打印机干趴下了。培训环境里我会故意留一台脆弱的 Windows Server 2003,让学员体验一下全开插件什么后果——蓝屏,重启,数据丢。这种教训比讲一百遍理论都管用。 凭据扫描是分水岭。没配 SSH 或 SMB 凭据的 Nessus 就是个端口扫描器加版本比对器,配了之后才能看到补丁缺失、注册表配置、本地提权路径。配置路径在“Credentials”标签页,SSH 用密码或密钥都行,Windows 走 SMB 需要域账号。有个细节:Linux 上扫描本地漏洞要开“Local Security Checks”插件族,否则只查网络层。我自己的习惯是给每台机器建一个只读的扫描专用账号,权限给到能读 /etc 和注册表就够,别用 root 或 Administrator。 报告输出别只盯着 PDF。Nessus 的 .nessus 格式是 XML,用 Python 的 nessrest 库或者直接解析都行。批量处理时我会写个脚本把 Host、Plugin ID、Risk Factor 抽出来,按 IP 排序,生成 CSV 丢给运维排期。客户要的是“哪台机器、什么漏洞、怎么修、优先级”,不是三百页的英文报告。有个小技巧:在“Report”里选“Custom”然后只勾“Hosts”和“Vulnerabilities”,导出的 HTML 比默认的干净得多。 最后说修复验证。Nessus 扫完修完再扫一遍,确认漏洞消失,这是标准流程。但有个陷阱:有些漏洞修复后需要重启服务或系统,Nessus 扫的时候服务没起来,报“无法检测”而不是“已修复”。这时候得看插件输出里的具体信息,别被“Not Available”骗了。我一般建议客户在变更窗口内完成“扫描-修复-重启-复扫”整个闭环,跨窗口操作容易漏。 工具是死的,人是活的。Nessus 再强也替代不了对业务的理解。一个对外只开 443 的 Nginx,扫出一堆内网服务漏洞,先问问自己:这些端口真的暴露了吗?防火墙策略看了没?别让工具牵着鼻子走。 |