之前有(yǒu)跟大家讲解一些关于漏洞扫描的一些情况。这期呢(ne)主要想简单的聊一下安全运营里,关于漏洞扫描的一些简单常识。
漏洞扫描是信息安全工作里,完成风险评估很(hěn)常见的一种手段。就像是医生用(yòng)X光来检查一下病人的身體(tǐ),是不是有(yǒu)毛病一样,安全工作者经常通过漏洞扫描来评估目标系统是否存在漏洞,进而决策如何做下一步的安全防护。
漏洞扫描的原理(lǐ)是发送特定的请求,到遠(yuǎn)程服務(wù),根据遠(yuǎn)程服務(wù)返回的行為(wèi),判断是否存在某个具體(tǐ)漏洞(也有(yǒu)很(hěn)多(duō)时候是根据返回的版本号信息来判断)。
1、漏洞扫描有(yǒu)什么影响
1.1 网络影响
请求网络包的频率、数量,对网络和应用(yòng)造成影响,交换机/路由器可(kě)能(néng)因此宕机,引发连锁反应,QPS过高可(kě)能(néng)超出服務(wù)的性能(néng)极限,导致业務(wù)中断;
1.2 异常处理(lǐ)影响
业務(wù)无法正确处理(lǐ)请求包里的特殊输入,引发异常宕机,比如一个私有(yǒu)协议的服務(wù)也许只是碰巧听在了TCP 80端口,收到一个HTTP Get请求就直接挂了;
1.3 日志(zhì)影响
请求公网的业務(wù)时,每一个URL的探测,都可(kě)能(néng)造成一个40x或者50x的错误日志(zhì)。而业務(wù)的正常监控逻辑正是用(yòng)Access Log里的状态码来进行的。不做任何处理(lǐ)的话,突然40x猛增,业務(wù)的SRE和RD必然要进行响应,如果他(tā)们从半夜、假期着急忙慌的登录VPN查了半天发现是安全工程师触发的,甚至还连带了1.1、1.2的影响,把某业務(wù)弄出事了,这个责任一定是安全工程师要背负的。
2、产生了什么问题
对于安全工程师而言,不扫描可(kě)能(néng)意味着无法开展工作了,无法得知公司风险,无从开展治理(lǐ)工作;对于业務(wù)方而言,扫描意味着添乱,业務(wù)不可(kě)用(yòng)的风险是较大的风险;有(yǒu)不少同行因此背锅黯然受伤的,也有(yǒu)一些强势的同行得罪了业務(wù)的。
3、错在了哪儿
漏洞扫描对于业務(wù)侧来说,是一种新(xīn)的变化。一个变化的一次引入,有(yǒu)问题是必然的,没问题才是异常的。合理(lǐ)的做法是遵循ITIL里的“变更管理(lǐ)”。
变更计划:扫描的时间、IP/URL/端口范围、QPS、测试用(yòng)例集(有(yǒu)DoS的测试用(yòng)例选择、有(yǒu)Delete/Update相关的资产选择、有(yǒu)POST隐蔽接口的选择)
变更风险评估:交换机路由器的流量和容量、业務(wù)的QPS、业務(wù)/网络挂掉的较极端风险评估
变更知会:业務(wù)的管理(lǐ)者、RD、SRE、DBA、QA甚至网络维护方,是否知道上述所有(yǒu)关键信息,并授权同意进行扫描(全公司强制的至少做到知会)
回滚计划:如果出了问题,怎么很(hěn)快速的停止扫描和恢复业務(wù)(有(yǒu)些动作要上面的变更知情范围的关键干系人配合)
变更观察:执行扫描的时候,大家有(yǒu)没有(yǒu)在盯着服務(wù)是否出错(以及判断业務(wù)是否正常),以便在出问题的很(hěn)快做出响应;
变更总结:灰度执行过程中总结不到位的地方,在下一次工作中改进
严格的说,不按照这些方法,上来就一通猛扫的,的确是安全同行自身没有(yǒu)做到足够专业。不能(néng)怪业務(wù)侧不理(lǐ)解不支持。
4、解决建议:公网坚决扫,内网谨慎
按网络分(fēn)类:互联网公开业務(wù)、内网业務(wù)
按服務(wù)类型分(fēn)类:Web类、高危服務(wù)类、私有(yǒu)协议类
公网Web服務(wù),业務(wù)必须接受安全检查,因為(wèi)我们不扫,黑也会没日没夜的盯着业務(wù)扫。与其未来无计划的被黑扫挂,不如有(yǒu)节奏的按变更计划,逐步适应被扫描。
在遵守变更管理(lǐ)原则的前提下,也就是上線(xiàn)稍微繁琐痛苦一些,比如业務(wù)侧需要1个月时间修改监控逻辑(忽略扫描器触发的错误请求),需要对某些扫描触发的异常进行兼容适配,甚至某些无人维护的业務(wù)被扫描之后改不了,只好加白名单。这些需要磨合。磨合完毕,也就是安全团队可(kě)以例行周期不间断扫描的时候,上述问题根本就不再是问题了。
公网高危服務(wù):只识别协议,不做漏洞检测,因為(wèi)高危服務(wù)的端口开放出来就是不可(kě)取的,直接关掉服務(wù)比较直接,检测漏洞只是浪费更多(duō)的资源罢了;
公网私有(yǒu)协议:大多(duō)数扫描器并不能(néng)支持这些协议的漏洞检测,只能(néng)忽略不做扫描,当然这里会存在盲点,暂时不展开;
内网服務(wù)的复杂度比上面高很(hěn)多(duō)倍,一方面,内网你不扫,黑进来扫的几率没那么大。另一方面,大家对传统的特权的依赖导致内网漏洞比公网多(duō)很(hěn)多(duō),也更禁不住扫,你一扫,大概率就是会出事的。
所以,如果只做端口扫描,确定交换机路由器还扛得住的情况下(嗯,之前遇到过老旧的网络设备你稍微开一点扫描请求它直接挂掉的现象),相对可(kě)接受。
协议识别这一步可(kě)能(néng)触发某些脆弱的服務(wù)挂掉,账号爆破则可(kě)能(néng)触发账号封禁(继而引发连带的事故),而漏洞扫描风险更大。
所以,多(duō)数时候其实并不鼓励使用(yòng)网络扫描的方式来做内网风险评估,如果agent能(néng)够采集到版本号、配置、账号相关的信息,其实也能(néng)完成风险数据的采集,不必死盯着网络扫描这一个手段。
可(kě)是,这样内网岂不是很(hěn)多(duō)风险了?
残酷的事实是,是的,这是现在的绝大多(duō)数企业的现状,非常可(kě)怕,对么?如果某些漏洞特别情急(比如MS17-010),针对特定的端口服務(wù),内网其实也可(kě)以遵守上面的标准流程去扫描的,但是全量全范围的漏洞扫描,就很(hěn)难实施了。
以上就是漏洞扫描的一些运营常识,大家可(kě)以参考一下,想要了解更多(duō),欢迎关注本网站或者致電(diàn)上海观初网络科(kē)技有(yǒu)限公司了解更多(duō)小(xiǎo)知识。