安全架构--4--先补漏水的窟窿

安全团队成立的第一个月–先补漏水的窟窿

如果我们将甲方业务比做一个蓄水库,那安全体系就是水库大坝,脆弱的水库大坝不一定有窟窿,但有窟窿的水库大坝一定是脆弱的。

甲方安全在初始建设时,一般都没有太大的人力物力投入,安全团队通常是一个人或两三个人,这时候第一优先级要做的,我认为就是填补漏水的窟窿,之后再修脆弱的大坝。

大前提:不管安全团队一共有几个人,至少要有一个资深的安全从业者,这个人的知识面不仅要有足够的宽度,还要有一定的深度,才能将安全工作全面的推进起来。否则只关注自己在意的地方,安全短板就出现了

一、设计通用的安全规划

要开展一项工作,首先要做的就是规划,规划就是框架,指明目标与前进的路,没有规划就像无头的苍蝇乱飞乱撞,终会迷失。

虽然每个公司的业务和环境天差地别,但是对于安全来说,有一些东西是通用的,比如渗透测试、比如代码审计……,在安全团队刚成立的时候,由于对公司业务还不太熟悉,因此从通用安全方向来开展工作是非常好的选择。

那么,我们就来看看在一个甲方安全架构中,通用安全有哪些?

1、安全培训

这是面向开发人员的安全培训,包括web安全编码培训、APP安全编码培训、密码学安全编码培训,培训频率大约在一季度一次,因为对开发人员编码安全其实没有特别多的花样,无需频次太高。当然了,对于几千人甚至上万人的大公司来说,这些课程应该是放在公共学习仓库的,是否每个人必须要学习要考试,就看公司制度了。

2、安全评审

一个项目立项之后,紧接着就是评审,评审有很多种,安全一般是在技术评审的时候接入,和开发测试一起讨论技术实现细节。当然,安全并不是所有的评审都需要参与,择重点参与即可。中小公司一般人肉参与评审,拉个会议室就搞定。

3、开发编码安全

这里涉及一些安全编码规范,网上比较流行的如阿里巴巴编码规范和华为编码规范,他们的编码规范已经写的非常好了,可以直接拿过来用,在推行安全编码规范时,最好是组织培训与考试,效果才能起来。

4、自动风险识别

以自动化方式发现安全风险的方式就比较多了,比如威胁建模、代码审计、漏洞扫描、APP扫描、Docker镜像扫描之类的。自动化工具除了非常省事之外,还能发现一些人工一般注意不到的风险点。

5、渗透测试

这个是大家最喜闻乐见的,也是一般安全技术人员最能直接考虑到的,就不多做介绍了。

6、安全防护

安全防护是必须要有的东西,这里涉及如WAF、IPS等等。具体执行就看公司策略了,如果公司预算紧张,需要自己搭建的话,相对来说还是很耗费时间的,同时对于一般工程师,是有复杂度的。如果公司直接购买商业产品,那安全做好运维就可以了。

7、安全管理制度

什么员工安全手册啊、上网安全手册啊等等,这个也是每个公司都应该有的东西,但不建议一开始就写制度推行,为什么?因为安全团队刚成立的时候,自己对公司业务和文化都不太熟悉,更不用说写管理制度让别人去执行了。

8、合规认证

一般安全团队刚成立的公司,还算不上太大,但也都不小了,如果只做国内业务的话,那么等级保护是应该考虑起来了,因为等级保护是国家强制的,不做属于违法哦!除此外,看具体业务情况,可能会涉及ISO 27000系、GDPR等,这个的优先级不是安全团队决定的,是公司业务发展决定的。

9、其他合规

这个就是一些业务中的合规事宜了,也是每个公司都会涉及的。比如各种协议内容是否合规、用户数据收集是否合规等等。在日常工作中cover住就可以了。

以上,是每个公司的安全部都需要去做的工作(我认为的),不管这个公司处在何环境,从事何业务。因此,初步的安全规划,就可以从通用安全事例开始搞起来了。

二、对全网做一次安全渗透测试

1、全量安全测试

安全团队成立之时,公司已经发展很久了,必定是遇到了某些事件,才让高管层决定要成立安全部门,因此安全团队刚成立的时候,公司各个业务必定也是漏洞满满。这就是漏水的窟窿!对全网业务做一次细致的安全渗透测试并推动安全漏洞修复,是每个安全团队成立后做的第一件事。

2、安全测试接入

在项目开发完成后,都会进行测试,这时候项目流程一般是转到测试部进行,测试部小妹妹测测测,bug提提提,开发改改改,小妹妹测测测……循环往复。安全测试在这时候接入,即可实现对所有发布项目的安全把控。当然啦,并不是所有发布项目都要进行安全测试,通常只对上新功能的项目进行增量测试。

三、安全测试规范

编写渗透测试用例与指南,不仅可以规范化安全测试流程,也可以便于安全团队内同事之间交叉作业,尤其是安全部门有新进员工进来的时候,直接给新员工看安全测试规范即可。

四、对全网做一次安全扫描

搭建扫描器,每月对所有web资产服务器主机资产做一次漏洞扫描,虽然不一定能发现很严重的漏洞,但是扫描器总是可以检测到一些人工注意不到的地方,发现一些人工不能发现的问题。同时,外部攻击除了定向的攻击外,大多攻击者都是没有目标的拿扫描器一把梭,在扫描到某公司的系统有安全漏洞的时候,再对该系统进行人工渗透。因此,模拟外部攻击者用扫描器扫描系统发现漏洞,是一件很有必要的工作。

五、对明显的合规问题做一次排查

这个不用特意去做,在做渗透测试的时候,顺便关注一下即可。安全工程师一般会忽略这一点,但不得不承认,这一点很重要。在不了解公司业务的情况下,一般检查点也不多,通常有以下:

1、各种协议合规排查

主要是针对于隐私政策、用户服务协议,以及各个公司独有的一些协议。排查协议内容是否符合相关法律法规标准。尤其是对于隐私政策,隐私政策是GDPR出台后的产物,再之后全球各个国家纷纷效仿GDPR出台了各自的数据安全法案,隐私政策就成了必需品,更加重要了。需要注意的是,安全团队只排查各种政策协议中的不合规处,对于它们的编写,应当由公司法务人员执笔编写修改。

2、用户数据收集排查

根据公司各个业务线,梳理各个业务线所收集的用户数据,检查收集数据与处理数据是否符合法律法规标准,比如是否有收集了多余的用户数据,是否收集了儿童数据,收集的儿童数据在处理上是否符合规范等。

六、搭建安全平台

非必选项,且非高优先级。安全平台仅仅是为了方便安全工作开展,提高安全工作开展效率而产生的。至于安全平台的功能,可由安全负责人自行定义。开发安全平台是一个很费力的活,应注意把握时间节奏。

七、安全文档沉淀

所谓铁打的营盘流水的兵,随着时间的流逝,员工可能会一茬一茬的换,但工作不能因为员工更换而出现断层,这就是沉淀的价值。而沉淀的主要表现形式通常是文档,文档架构应当随着文档数量的增长不断调整,以清晰展示安全团队的工作内容,比如某个系统是如何搭建的,设计了哪些API,应如何使用,遇到哪些坑,如何解决的,这些都要写成文档存放起来。

你可能感兴趣的:(安全架构)