2018年 第8篇 本文共3310字 预计阅读时间10分钟
作者简介
马辰,中通快递信息安全工程师,负责中通信息安全运营,从安全测试到安全运维,从审计合规到安全培训,现专注于SDL和DevSecOps的研究。关于甲方信息安全建设的话题欢迎添加微信(Misaki_MaChen)相互交流。
在早期,大多数甲方企业的安全建设都是事件驱动型的,由一个安全漏洞或者事件驱动开始建设安全。随着安全的不断建设和发展,很多企业很快就会发现事件驱动型的安全建设大多数都只是不断的救火,远远满足不了企业安全体系化建设的需求。微软的SDL为体系化安全建设提供了一个很好的思路,DevSecOps的理念也被越来越多的提起,虽然SDL和DevSecOps为如何在企业中建设安全体系提供了一个很好的参考,但是在实际的落地建设中会发现存在各种各样的问题,而中通安全也面临着同样的困扰。
图1:微软的SDL(Security Development Lifecycle)
我的理解是不管是SDL还是DevSecOps,对于甲方企业来讲是否执行标准化的SDL和DevSecOps并不重要,我们也完全没有必要照搬,而是应该学习其安全建设的思路,以SDL和DevSecOps为指导思想进行最适合自己企业的安全建设,然后在企业中逐步建设最适合自己的安全体系。
目前,中通安全的建设也是处于不断落地和完善的阶段,和大家分享下甲方安全运营的一些思考,欢迎大家一起讨论。本篇文章主要讨论在甲方安全运营中的两个核心问题:
在有限安全资源的情况下怎么利用自动化提高安全工作的效率。
使用赋能的方式打破安全孤岛状态,即各个安全产品的孤岛以及独立安全部的部门孤岛。
为了解决以上的两个问题,中通安全的做法是通过安全运营的方式输出安全影响力,建设中通安全管理运营平台,打通各个软硬件安全产品,提高安全自动化和可视化水平 ;通过安全服务给全员赋能,让安全成为其能力中的一部分。
为了解决上述的问题,中通安全部学习DevSecOps的思想,将安全集成到DevOps以及其他研发相关的工作中。
中通自主研发的CI/CD平台名为星云发布系统,与星云自动发布系统集成的主要有安全测试、代码扫描、运维安全以及主机安全等安全模块。
图 2:中通DevSecOps
中通安全自主研发了安全风险管理系统(名为同安)用于管理中通所有安全漏洞和风险事件。同安安全风险管理系统通过与CMDB(Configuration Management Database,配置管理数据库)以及星云系统的对接,实现了对系统上线前安全测试的管控。
同安安全风险管理系统通过与CMDB的对接,获取应用的基础数据,包含应用、IP、负责人等应用基础数据信息(自动发布平台与CMDB对接同步数据),通过与自动发布平台的对接控制系统上线前的安全测试。
SDL有一个很重要的思想,即安全风险的处理越是前置处理的成本越低,而在前置环节中最简单和快速的就是系统上线前的安全测试。经过与自动发布平台的集成可以确保所有的发布均通过安全测试。当新的应用在自动发布平台创建后,安全工程师对系统进行评估后设置安全测试方式,包括自动安全扫描、被动扫描(关于被动扫描的介绍可以参考《中通分布式被动安全扫描实践》)以及人工安全测试。当应用发布到测试环境,自动发布系统会将测试信息与同安安全风险管理系统同步。完成安全测试后,同安安全风险管理系统会同步测试结果给到自动发布平台,若系统存在安全风险则会限制其发布,需完成安全风险修复后才可以上线。对于需进行紧急发布的系统,除经负责人审核同意外,还需经过自动安全扫描后才可以进行发布,同时同安安全风险管理系统也会收到紧急发布通知,以便在发布后进行安全测试。
图3:中通安全风险管理系统
很多公司对于生产服务器的访问控制都很严格,但是有些时候研发人员有查看生产服务器日志的需求,我们通过堡垒机对接自动发布平台和CMDB,在有堡垒机进行安全控制和审计记录的情况下允许开发人员访问生产服务器日志。中通目前使用的堡垒机其中一个为开源的jumpserver,通过重写jumpserver的登录对接中通的SSO,可以让开发在同样对接SSO的自动发布平台上访问jumpserver。在与CMDB对接后,自动给应用的对应研发人员分配低权限的帐号,仅允许研发人员访问生产服务器的日志。
图 4:jumpserver
为了保障线上系统的安全,中通安全对线上系统的主机进行了安全监控,防止线上主机遭到入侵和安全攻击。为了保障线上系统的服务器均纳入安全监控,在自动发布平台进行部署环境检查的时候,会自动检查服务器是否部署了主机安全系统的agent。如即将上线的服务器未部署主机安全系统的agent,会自动进行部署。在完成部署后自动进行主机安全检查并输出主机安全报告,确认主机无问题后才可以进行发布上线。
安全培训作为SDL里最前置流程的同时也是自动化建设的重点。中通学院在线教育平台,可以直接把安全技术培训做成在线课程,要求新入职员工全部在线学习后进行在线考试,提高全员安全意识和安全技术能力。另外,通过同安安全风险管理系统的数据,可以发现各个部门的安全薄弱点,自动为部门各个成员推送适合的安全培训课程。
图 5:中通信息安全培训体系
很多安全漏洞的产生并不是因为研发人员安全技能不足,而是其安全意识薄弱,所以安全意识的培养也很重要。安全意识的培养并不是靠一两次的培训就可以搞定,而是需要长期的培养。中通安全除了通过各个渠道推送信息安全小常识和海报外,还有以在线答题的方式提高员工信息安全意识。
图 6:中通信息安全意识海报
针对SDL最后置的应急响应,中通上线了中通安全应急响应中心(插播小广告:欢迎各位大佬入驻,丰富礼品等你来兑)。白帽子提交的漏洞自动同步到同安安全风险管理系统,经安全工程师审核完成后自动进行漏洞分发和提醒,后续可以通过同安安全风险管理系统直接进行漏洞状态跟踪以及自动定期输出数据提供给质量管控部门。
安全部门的影响力应该靠输出服务去建立而不是靠输出规则。在很多的甲方企业中会出现安全部成为孤岛的状况,一方面是由于在甲方企业中安全还没有成为生产力,另一方面是因为很多安全部并没有服务意识。解决安全部孤岛状态一个很好的思路就是去学习乙方安全公司的做法,向其他的部门输出安全部的专业安全服务,甚至可以去引导其他部门发现安全需求,而不是以安全为名要求其他部门配合安全工作。
在中通安全管理运营平台上,针对公司不同的人员和岗位提供了不同的安全赋能。针对APP安全,安全部提供专业的APP安全加固功能;针对实人认证需求,中通安全提供实人认证SDK。用心去发现,其实在甲方企业中有各种各样的安全需求可以去做,小到验证码大到安全风控,当安全部去满足这一个个安全需求的时候,不断的刷出存在感,就会发现甲方的安全并没有那么难做。
图 7:中通安全管理运营平台
除了不断的去输出安全部人员的安全能力外,还有一个很好的方式就是安全赋能,让非安全人员拥有安全能力。在甲方企业中,即使是有安全研发团队,也很难做到全部的安全体系均使用自己研发的产品,在权衡研发的各种成本后,总会用到第三方的产品,而不同厂商的产品很少提供联动。中通安全通过安全管理运营平台将各个安全产品打通进行联动,既可以利用系统代替人工的方式自动化处理安全工作,还可以通过封装的方式将安全工具提供给研发人员、测试人员等使用。
中通安全部不仅给安全部的好伙伴QA人员提供了被动扫描工具外,安全部还提供各类主动安全扫描工具,可满足研发人员以及其他业务部门对待测试系统的安全扫描需求。在安全营运管理平台上,通过提交扫描地址等基础信息即可主动对待测试系统进行安全扫描,扫描完成后即可直接查看扫描结果。
正所谓运维和安全不分家,安全部的很多工作和运维部都存在交叉,密不可分,通过安全管理运营平台,可以将运维相关的产品直接开放给运维人员使用,让运维可以更直接的了解到运维相关的安全状态。如通过主机安全产品,运维可以批量检查和执行安全基线;通过安全日志管理中心,可直接查看各个安全设备的日志,快速进行故障排除;通过外发流量管理系统精细化管理对外访问的流量。
我们期望可以在一个平台上集中安全能力,输出安全服务,安全管理运营平台除了上面有提到的功能,其实还有很多其他的功能,例如针对领导、研发、测试、运维和安全等不同岗位提供不同视角的安全大盘,让不同的人员可以直观的看到自己关心的安全内容。
图 8 :一起期待诗和远方
我们在甲方企业要做的不仅仅是建立一个安全体系,更应该去运营一个安全生态,让安全成为企业的生产力,成为甲方企业文化的一部分。甲方企业安全建设任重而道远,仍需砥砺前行,跨过当下的黑暗和苟且,让我们一起期待诗和远方。
参考资料:
1.Microsoft 安全开发生命周期:https://www.microsoft.com/en-us/SDL
2.OWASP DevSecOps Studio Project:https://www.owasp.org/index.php/OWASP_DevSecOps_Studio_Project
本文作者:中通SRC
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/82911.html