在大型甲方做安全,经常遇见三个问题。
外界公布的高危漏洞要不要修?多长时间全部修复完?
微软又出现命令执行漏洞了,我们要不要大规模打补丁?Linux服务器出现了提权漏洞要不要打补丁?Nginx出现了dos漏洞要不要大规模升级?
使用了底层hook这样的侵入型安全软件要不要大规模部署?
这款功能更强大,不仅有应用层hook还有内核hook的hids要不要大规模推广?要不要全站部署RASP来解决反反复复的Java框架安全问题?
发生了入侵事件,我们要不要迅速封禁某个域名?经过分析日志,我们确定某个key已经被窃取了,我们要不要全站立即停用这个key?尤其是这个key在核心业务上也在使用
这三个问题,分别涉及到安全加固(预防),安全监控(检测)和应急处置(响应)。如果你想让一个大型甲方补锅匠陷入哲学思辨,请问他上面三个问题。
标准答案当然是要要要!小孩子才做选择,霸道总裁是既要又要也要还要!
但现实生活里面,这几个问题并不像看上去那么确定。
当你面对一千台机器时,几十个到百来个应用时,回答要要要当然很简单。但当机器数到数十万数百万台,应用数有成千上万个,涉及到的配置环境不同,甚至Webserver版本,Java版本也不统一时,没做好任何准备的要要要最终的结果很可能是,Webserver莫名大规模超时,操作系统莫名重启,核心业务中断。
远的不说,微软的KB4524244安全补丁可能会导致电脑无法启动,KB4557957导致电脑随机重启,用户一不小心数据丢失。就问你这样的补丁你敢不敢打?
最近几年,安全方面大家谈了很多,包括怎么管理,怎么运营,怎么开发RASP,开发HIDS,开发扫描器。仿佛大家已经完成了安全的跨越。
但随着管理的IDC环境规模的增大,我们将不得不面对一个问题:安全性和稳定性好像是两个相互对立的要求。
如何调和好这两股似乎相互矛盾的力量,这里既需要很强的技术实践,又需要建立相应的制度支撑。如果说安全建设方面也像修仙一样有级别的话,那能调和好这相互矛盾一阴一阳的两股力量的从业人员,大概就是踏入虚空的半神了。
今天先开个头,后面我们将展开讲。