运维过程中漏洞扫描工具的使用
漏扫工具是安全运维常用的工具。扫描出的漏洞,因为存在误报,通常需要业务领域和安全领域的专家进行确认;误报的原因在于基于指纹的扫描,指纹很多时候只是一个版本信息;如果你已经给这台服务器打上了补丁或者多了临时的修复策略,扫描器只是根据版本信息判断,误报就会产生。误报问题并不算是令人头疼的。至少可以提示你,你的服务器正在运行哪些应用和组件,是什么版本。间接提醒,你该注意谁,它可能存哪哪些漏洞;唯一需要进一步确认的是,这个版本上是否已经打了补丁或者配置了修补策略;
另一个选择是登陆扫描,正确打补丁后,远程扫描会出漏洞,登录扫描,打了补丁的漏洞就不会扫出了;是因为大部分厂商软件的补丁信息,只有登录才能获取到,远程扫描只能获取到大版本信息。不过登录扫描涉及root账号的管理和扫描操作的安全性,一般会慎重选择。
原理扫描会大概率降低误报,通过尝试利用漏洞,而非软件指纹信息。确认扫描结果;比如远程代码执行漏洞,通过构造随机字符窜,尝试在特定目录创建含有该字符串的文件进行利用。
漏报问题则没那么轻松。原理扫描可以降低误报,但仍无法避免漏报;漏报和很多因素有关:环境因素:比如远程扫描环境中是否有防火墙等防护设备、是否对扫描器端口全部开放策略。原理扫描插件的适用性,某个插件可能只适用于特定的版本。
为了弥补对于关键高危漏洞的漏报,还需要针对高危漏洞,进行独立的专项扫描;做专项扫描:
1、 首先要做资产梳理(资产清晰明确的可以跳过此步骤)。比如weblogic某高危漏洞专项;先确定哪些服务器运行weblogic应用,版本是什么;经过这一步骤后,可能哪些服务器有漏洞就已经明了了;
2、 针对特定资产进行专项扫描,尝试漏洞渗透,渗透过程可以使用多个尝试利用脚本进行测试;
3、 业务需要对这些存在漏洞的版本进行升级、打补丁、或者配置临时修补策略;
4、 修补结束后,通过专项脚本,进行漏洞尝试利用,测试漏洞是否仍然存在;保证修复正确性;