独生子女的“安全部” – 作者:k89ill

前言

在某传统保险公司从事公司整体网络安全工作,为保单人个人信息保驾护航。在将近一年的时间里,经历了独生子女的“安全部”,总算即将迎来二胎时代,遥想当年看过一篇《一个人的“安全部”》,颇为感慨,在此效防前辈,做个总结,给经历过独生子女的“安全部”的伙伴分享共勉。

0x01.个人观点

公司为传统保险业公司,借助金融科技技术,公司数字化转型,建设了大大小小不同的应用系统支撑业务运营及发展。下面会按边界安全、安全运营和安全管理作介绍。这里,先阐述我的一些观点:如果你像我一样是独生子女的团队,建议不要抱着规划一个美好建设蓝图的想法,跑去讲目标,要资源,往往会被打脸。相反,建议要明确个人能为公司带来的安全建设的底线在哪,去开展工作,会轻松些。比如我在公司,个人的底线就是守住边界,有精力再来收拾内部。这样,工作才有目标和章法。

0x02.边界安全

刚入职时,发现公司互联网边界较为脆弱,一是废旧系统下线不及时;二是系统开放不严谨,不该开放的都开放,比如管理后台;三是系统漏洞较多。对此,我认为收敛攻击面,可以有效的加强边界安全能力。所以主要做了下面几件事:

a.清理废旧资产。这里我改变拿张excel建立资产清单识别废旧资产的方法,直接架上子域名爆破工具,如Sublist3r、subDomainsDrute等工具交叉扫描,建立了一张几十个域名的清单,提交给运行研发同事核对,直接下线了10多个废旧资产。

b.减少不应开放页面。同清理废旧资产使用的方法一样,运用渗透探测的形式,借助开源工具对正常开放的资产进行目录枚举,发现了10多个不必要开放管理后台或高危页面。这里建议目录枚举多使用不同工具,交叉扫描,会有意想不到的收获。

c.系统漏洞识别整改。漏洞管理是安全工作一项持续、闭环的工作。鉴于守住边界的底线,我将漏洞管理的资源主要投入在互联网应用上,一是采购了商业化版本漏洞扫描,并重点关注一些可用于提权、命令执行的漏洞,比如微软MS17010、Bluekeep漏洞,坚决督促整改到位;二是引入外部渗透测试,识别命令执行、SQL注入、越权等漏洞;三是举行公司级攻防演习,请外部攻击队攻击,内部组建防守队伍,评估边界防护薄弱点在哪里和看下团队安全防守的能力;四是借助HIDS识别一些开源框架漏洞,这里某厂的HIDS在这方面还是比较给力,对软件资产的识别、清单建立、漏洞识别提供了比较大帮助,比如fastjson、Shiro等在近年演习经常被爆出利用的漏洞。

0x03.安全运营

打点了边界安全,要继续做好防护,我选择了在安全运营上继续加强。主要考虑,边界安全是一个动态的过程,应用每次的发版,都可能引入新的风险,以不变应万变,一套稳定的安全运营体系,刚好是应对这个动态过程最好的帮手。当然,搭建一套安全运营体系,不是一下子功夫的事情。目前,主要往以下方面推进建设。

a.完善工具化建设。公司原本在边界就部署了主流的安全工具,包括防火墙、WAF、邮件网关、入侵防御等,但这些对于安全运营来讲远远不够。我的思考是若攻击行为突破了边界的防护,进来了,该如何去识别和发现?为此,借助某次契机,在DMZ搭建了开源蜜罐系统、引入了HIDS和全流量系统,搭建了外一层防护、里一层监测的体系,经过演习的实践,部署里一层的工具,具备必要性。这里介绍我使用这样一套体系防守的一个场景。我会运用外一层防护设备的日志报表能力,统计出攻击排名前几或倒数倒数的攻击源和目的,关联到里一层去分析判断边界的攻击到底是成功的还是失败,帮助我们识别真正的攻击行为。

b.努力往日常化监测靠拢。这点其实在实践中比较被动,毕竟是独生子女。主要是设计了一些报表,定期去各设备提取定期时间段数据,看看攻击的趋势,比如被频繁攻击目标是啥?那下次的安全检查就会重点关注这个目标。

这块其实能做的东西很多,比如继续发展就是建设态势感知平台,将这些分散的安全能力纳管在一起,形成自动化的运营、监测和分析手段。不必去分散的系统导报表、查日志。也是接下来努力的目标吧。

0x04.安全管理

“三分技术,七分管理”,安全管理工作都是任务重且繁杂的,而且会遇到比较多的一些阻力,所以我考虑的是有什么抓手能更好的推动安全管理工作?这里我选择了“建章立制”作为抓手来推动工作。下面主要在建章立制、安全评审、意识培训做介绍。

a.建章立制。搞安全都习惯崇尚技术,忽略管理,最后老是跟开发、运维“打架”打输了,人家扛着业务优先的大旗,你就要让道了。因此个人认为建章立制很重要,这样你在实施措施时,就有了依据,阻力也会相对较小。建章立制我主要参考了27001框架,这里我主要的经验就是必要且执行阻力大的控制措施,必须写进制度里面。

举两个例子:一是核心网络区域只进不出原则。一般系统架构都是前端部署DMZ,后端数据库放在核心区域,开发为了方便,基本都是申请开通双向策略允许访问。若是互联网系统,一旦有漏洞被进来了,核心区域也就沦陷了。执行上述原则就是为了进得来出不去,但给开发带来了不便,会来问为什么不能这么做了,一句话,规章制度要求,卒;二是开发、测试和生产必须分离。开发、测试为了方便,很喜欢将开发、测试与生产放在一起,代码在测试环境测试好了之后,直接自动化发布到生产,这样确实挺方便的,但是安全问题可想而知。一旦要求分离,你会听到这样的声音“太影响我们开发效率了”“你们这样做有什么依据吗?”。一句话,规章制度要求,卒。

当然,制度有了,具体怎么执行,能执行到什么成程度,个人认为这是一门艺术,比如下面要讲的安全评审,就考验对制度执行的把控。

b.安全评审。在有了规章制度后,在日常工单的审批上多了一个我审批的环节,安全评审。安全评审的依据是规章制度,但执行起来你会发现一种情况,就是现实情况与制度要求之间的差距太大,没法按要求完全执行。所以,遇到这种情况时,我采用的方法是阐述制度要求,明确风险点,限定需求有效期,通过安全评审倒逼整改符合制度要求。举个例子:开发部门申请一个开通访问开发、测试环境的防火墙策略,但这个开发、测试环境与生产混用,已经提出整改要求,但是整改需要一定周期。若一棍子打死不允许开通确实导致开发、测试工作停滞。最终给的意见是:不满足制度要求,建议有限时长开通,时长为3个月。其实重点就在这个限制时长,一旦他们每次都是提个工单走流程开通,就会很影响他们项目,这样,反而能倒逼他们对问题的整改。

c.意识培训。由于是独生子女,精力有限,在意识培训这块主要结合公司培训部门、邮件宣导和钓鱼测试相结合开展。一是与培训部门合作,将意识培训作为每年必修的培训内容,要求员工一定要完成培训并通过测验;二是按需开展邮件宣导。三是自行搭建了钓鱼测试平台,作为前面两部分工作的验证,这里我要介绍我搭建的开源钓鱼测试平台Gophish。这个系统的特点在于部署简单、功能齐全。部署方面,准备好资源,下载安全包,然后修改下配置文件,直接启动即可。功能方面,配置逻辑条理很清晰,提供了打开钓鱼邮件记录、打开链接或下载附件记录等功能。

0x05.总结

我把这将近一年独生子女所做的东西作了介绍,有些细节内容在这里就无法一一介绍,这里我简单总结一下:

1.没有合规的要求,很难推动这么多内容落地,安全落地一定要运用好合规作为推力;

2.一定解决最要命的,先解决好边界问题再来整内部,边界不安全,谈何内网安全,但边界安全不仅仅是架个防火墙就行了,每个应用系统都是一个边界,一定要守好;

3.做安全一定要有魄力,特别是一个人没有其他伙伴分担的时候,该坚持的原则必须坚持住;

4.成熟商业化产品虽然不错,但是开源工具使用起来也很好用,多研究,善使用,有些工作也可以事半功倍。

精力有限,如有不正确之处,多多指正。谢谢!

来源:freebuf.com 2021-03-08 22:49:13 by: k89ill

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论