你无法保护你不知道的东西。虽然这并不是IT安全领域的咒语,但当你从“可信”用户的角度寻找安全漏洞,或者换句话说,通过身份验证执行漏洞扫描时,这个原则确实是真的。
通过配置漏洞扫描仪来登录到你正在测试的主机,你会看到这个故事的其余部分——即为了节省时间或金钱,或者因为复杂性而经常被忽略的安全方面。事实的真相是,尽管执行身份验证扫描确实需要更多的时间,但从发现的漏洞(以及最终缓解的风险)来看,这种漏洞扫描比通过非身份验证扫描的效果好十倍。
安全团队可以遵循下面五种方法来更有效地准备和执行身份验证漏洞扫描,以及充分利用其得到的结果:
1. 事先知道需要通过身份验证进行扫描的系统
这可能包括所有Windows和基于Linux的系统,或者少数计算机部分(例如服务器或工作组)。此外,请务必考虑扫描Web应用、数据库以及允许或要求通过Telnet、FTP、SSH和SNMP等协议的身份验证的所有网络主机。很多商业漏洞扫描仪(例如Nexpose和LanGuard)提供了各种方法来进行扫描。如果你网络外部的黑客或者内部的恶意用户都开始使用身份验证扫描,那么你也需要这样做。
2. 确定想要扫描何种用户角色水平
笔者建议至少使用管理员或根级登录凭证进行扫描;这样你将会发现大部分漏洞。然而,通过不同用户角色进行扫描(例如经理级别角色或基本用户角色),你可以更好地了解每个用户组可以看到和利用的资源。在一定程度上,你测试的用户角色越多,你得到的结果会越好(不过在某种情况下将会出现收效递减的规律)。当你看到你的结果不再根据权限而变化时,你会知道什么时候该适可而止。
3. 为身份验证扫描设置用户账号
这样在首次登录时不会要求更改密码(这是Active Directory组策略和一些web应用的通用设置)。如果你忘记了这一点,你的扫描仪首次登录时将会提示你更改密码,当然这无法做到。你可能不知道这个情况,然后继续进行扫描。几分钟后(可能更长时间),你会意识到身份验证无法使用,你将需要重新开始进行扫描。通过web漏洞扫描仪,你可能需要创建一个登录宏以允许你测试。出于某种原因,大多数网络漏洞扫描仪不会提供选项以在你开始扫描前测试你的登录凭证。笔者所知道的唯一具有这种功能的两个扫描仪是老的Harris STAT扫描仪和Rapid7的Nexpose。这一点似乎是老生常谈,但从长期来看,这个功能可以为你节省大量时间和避免很多麻烦。
4. 先确保对网络主机的身份验证漏洞扫描不会带来问题
这就是说,这可能会在生产环境产生问题,特别是当扫描web应用时。无论你在扫描什么,都会消耗CPU、磁盘和网络周期,日志文件和数据库可能会被填满,用户账号可能被锁定等。笔者建议首先在一个或两个系统上运行身份验证扫描,看看会带来什么副作用,再扩展到扫描成千上万个系统。
5. 按照漏洞的排序方式来生成HTML或电子表格报告
在身份验证扫描期间发现的安全漏洞可能非常多,特别是当查看传统PDF报告中的结果时。笔者发现,按照漏洞的排序方式来生成HTML或电子表格报告是查看发现结果的最佳方法。当你整理漏洞结果时,你可以通过能够更简单更清楚地看清事物(例如每个漏洞所影响的主机或网页)而节省大量时间,并且可以更简单地生成最终报告或修复计划,而不是一次查看一台主机。
使用漏洞扫描仪来正确地执行漏洞扫描类似于使用数码单反相机拍摄照片。任何人都可以使用这个工具,但这并不意味着你知道如何有效地利用它,而且也不能保证取得积极的效果。
你执行身份验证扫描的次数越多,你就会学到越多的技巧,这将让你的使用变得更加高效。这样,你能够在更短时间内更好地发现漏洞,帮助企业降低风险,然后万事大吉,何乐而不为呢?
|