技术干货 | 企业安全体系架构实践之道(八)

admin 2022年6月29日11:09:11技术干货 | 企业安全体系架构实践之道(八)已关闭评论42 views字数 6834阅读22分46秒阅读模式
图片

作者:武天旭


中国信通院【2021-GOLF+ IT新治理领导力论坛】演讲嘉宾

安世加【2021-EISS企业信息安全峰会-上海】演讲嘉宾

安世加【2022-第三十期安全沙龙-杭州】演讲嘉宾

安世加【2020-EISS企业信息安全峰会-上海】首届优秀作者奖获得者

国家级团体标准《智能家电云云互联互通-信息安全技术要求与评估方法》撰稿人

我设计的企业安全体系架构

经过一年的不懈努力,我和我的团队基本完成了公司信息安全体系的初步建设,虽然这其中还有些许不足,同时也还有很多更高级的东西需要安全团队未来有实力之后才能去做,但作为一个小团队,我认为我们是一支优秀的安全团队!

在公司信息安全体系初步建设完成的背景下,我决定将它分享出来与大家共同探讨学习,欢迎大家提出宝贵建议!

我设计的安全体系架构分为六大块:安全开发体系安全防御体系数据安全体系隐私合规体系资产管理体系安全管理体系,六大体系共同构成了完整的信息安全体系。

安全架构

企业资产管理体系建设总结

资产管理体系介绍

资产管理体系是信息安全体系架构中的基础模块,它主要是围绕资产开展的。我们知道,资产都有一个通性,那就是会不断的变化,流动性很强,几乎每周都有新增的与废弃的,而脆弱点是依附于资产而存在的,这些脆弱点本身没有危害,只有被相应的威胁所利用,才能对资产造成损害,就像生物病毒一样,它必须要有宿主作为载体才能发挥出它的杀伤力。甲方安全的目标是保障业务的安全,也就是说防护安全威胁,而安全威胁只有利用脆弱点才能有用武之地,脆弱点的载体往往就是资产,因此,管理好资产非常有必要,实际中我们所做的大多数安全工作也都是围绕资产开展的。

在实践中,资产管理体系也可以不用建设,但这样的话安全工作将会变得被动,长期处于救火状态。一个完整清晰的资产管理体系能让安全人员化被动为主动,在实施安全工作时大大提高效率,提前防御更多的安全风险,起到事半功倍的效果。

资产管理体系承担着整个信息安全体系架构中的基础角色,因此它在信息安全体系建设中的优先级属于较高的,在实践中,从属性划分来讲,我将资产管理体系分为端口管理域名管理URL管理接口管理网络管理风险梳理等六大块,这六大块的内容相互是独立的,从工作内容来讲,资产管理体系分为增量管理存量管理安全管理三大块,这三大块的重要性基本等同,同时它也是一个持续化的工作。

端口管理

端口管理往往是和IP管理相关联的,相较于IP来说,端口属于更细化的概念。这里暂不考虑那些复杂的情况,我们知道,任何一个服务它都是依附于IP的端口而存在的,如果一个IP没有开放任何端口,那这个IP将成为绝对安全的封闭IP,同时它上面也将没有任何服务,这个IP也没有任何意义。

在常规情况下,公司网络都会分外网和内网,而IP也会分为外网IP和内网IP,外网IP由于可以公网访问,因此它的风险性会更高,也更值得安全部门注意,相比而言,内网IP则不是本节的重点。


增量管理

对于公网IP及其开放端口数据的获取,如果公司使用阿里云或腾讯云服务的话,可以直接在云管理平台上获取公网开放的IP和对应的开放端口数据。

此时安全部门首先要做的是管理好增量的公网IP,即定期(一般是每周)排查本周期内新增的公网IP和开放端口,以及统计IP和端口的下线情况。一般情况下,除了开放443、8443这种一眼就能看出是https服务的端口外,其他开放的端口都应当进行安全排查,确认开放其端口的用途与必要性,对于误开放的端口应及时进行关闭。最后将IP地址、端口开放说明、端口对应的服务信息整理成文档即可。


存量管理

上文提到了,在云平台即可获取全量的公网开放的IP和对应的开放端口数据,这里除了定期排查本周期内新增的公网IP和开放端口外,也应当对历史数据进行安全排查,因此,存量管理只有在首次实施时才会执行,此后只需把控好增量就够了。在排查完成后,将IP地址、端口开放说明、端口对应的服务信息整理成文档即可。


安全管理

最后,输出端口安全管理记录报告,由于IP数据和端口数据是不断变化的,因此报告内容也应当定期更新,报告内容可以包括本周期内的新增IP统计、下线IP统计、新增端口统计、下线端口统计、端口开放说明、端口对应的服务信息、不合规端口整改情况等等,在实践中,一般以周为时间单位进行汇报就可以了。

域名管理

域名是由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们通过DNS来将域名和IP地址进行相互映射,从而使人更方便地访问互联网的产物。

一般情况下,一个IP可能会对应多个域名,因此从某种意义上讲,域名对于IP来说,是一个更细化的概念。


增量管理

IP有外网IP和内网IP,域名也有外网域名和内网域名,规范来讲,不同网络下的应用应该使用不同的域名格式,例如,外网应用的域名都是使用xxx.com,内网应用则使用xxx-inc.com,或者使用xxx.net等等。如果域名内外部交叉使用,使用审批没有规范标准,可能还会导致存在诸多野域名,不知道什么业务在用,因此会存在较大的安全隐患,也会对域名管理带来困惑。

在进行域名管理前,首先要做的就是管控好新增域名,先让增量规范起来,此时安全部门可以先制定一个域名申请规范,申请规范的内容主要是什么情况下该用内网域名以及什么情况下该用外网域名等,之后接管域名申请流程,让所有的域名申请均要先经过安全部门的同意后才能投入使用,实际上,对于内网域名和外网域名的区分使用,安全部门在审批时要有自己的判断,切不可只听从域名申请人的一言之谈。


存量管理

规范完增量,以后域名池中新增的部分就不会再有不规范的了,接下来就是规范历史存量的域名了。

这里要做的事情主要有两个,第一个是先梳理出公司所有的外网域名和内网域名,具体的梳理方式有很多,如果公司使用了阿里云或腾讯云服务的话,可以直接在云服务上拉取即可,拉取之后就有了一个全量外网域名和内网域名的域名清单。

但我们知道,由于过去的不规范使用,这里的域名清单实际上是不准确的,有些使用外网域名的应用却只能内网访问,有些使用内网域名的应用外网也可以访问,此时,需要做第二个事情,就是对所有域名进行测试梳理。

在测试梳理完之后,就能知道历史存量的域名哪些是不规范的,对于这些不规范的域名,应当督促整改,让使用外网域名的内网应用换回内网域名,让使用内网域名的外网应用换回外网域名,从而处理干净内外网域名的交叉使用情况。

测试梳理除了验证真实情况下的外网域名和内网域名外,也可搭车完成资产的其他梳理,例如哪些域名是有界面的、哪些域名只是接口域名没有界面、哪些域名有登录功能、哪些域名只是静态页面等等,这样的梳理非常有意义,在安全开发体系建设一文中也有提到,它在进行全量渗透测试时就能体现出价值了。


安全管理

规范完增量域名和存量域名之后,所有的域名就都回归正轨了,之后就是对域名做一些安全管理的工作啦。

由于公网域名对外开放,因此它的风险级别相较于内网域名来说较高,安全管理的工作除了刚提到的督促整改不合规域名外,还应当将公网域名接入日志系统(Nginx),这样一来,公网域名的操作变化就有记录可循了。

最后,输出域名安全管理记录报告,该记录报告需要经常更新内容,因为域名数据是会经常变化的。撰写报告的目的一个是为归纳域名管理结果,另一个它也是域名管理工作的产出成果。报告内容可以包括全量域名统计、外网域名统计、内网域名统计、整改了哪些域名、整改结果、日志系统接入情况等,同时也可以包含哪些域名有登录功能、哪些域名只有静态页面、哪些域名是接口域名等测试梳理时的结果内容,甚至,如果进行了渗透测试,也可以包含各个域名对应的安全测试结果等。在实践中,以上罗列只是参考,这里的域名安全报告内容根据实际情况任意撰写就可以了。

URL管理

相较于域名,URL是一个更细化的概念,一个域名下可能有成百上千个URL,规范完域名,接下来的工作就是管理URL了。URL由于应用场景繁多,因此它是不需要规范格式的,同时URL管理中主要是针对外网应用的URL,内网应用的URL是无需管理的。


增量管理

在域名管理一节中有提到,我们将公网域名接入了日志系统,从此公网域名的操作变化就有记录可循了,在此基础上,通过对日志的监控和处理,就能从其中获取到全量的URL,再经过去重展示与数据保存,URL管理池就能建立起来。

由于对日志的消费处理是实时的,那么URL的新增也是实时的,因此只需要每天对新增的URL进行逐一安全排查就可以做到增量管理了,一般情况下,每日的新增量也并不会很多。


存量管理

实际上,对于开展URL管理工作以前存在的历史URL,已经无从考证了,这个只能依靠日常安全测试去cover它们的安全性,唯一的缺点是在于无法做到全量把控,不过这并无大碍。 

对于开展URL管理工作之后的URL,由于新增时已经做过安全排查了,那么这些存量的URL,也无需做其他操作,让它们在数据库中躺着就好了,一般情况下,在日后排查某些问题的时候可能会用到。


安全管理

在完成URL的梳理以及安全排查之后,还需要对URL进行一些其他的安全工作。

首先是URL安全扫描,它和漏洞扫描是一样的道理,是由于自动化检查和人本身的测试各有优劣,将各自的优势结合起来是比较好的解决方案。实际实施的办法也很简单,部署一个扫描器,自动开始扫描就可以了,最后对扫描出的安全缺陷进行人工验证,对于真实存在的安全缺陷推动修复即可。

正常情况下,需要登录的地方都是会涉及到权限安全的,对于身处外网环境的应用来说,登录安全就更为重要了。因此,需要先梳理出公司所有公网环境下需要登录的URL、接口以及测试账号,之后对登录功能执行安全测试,包括登录功能存在的缺陷、接口认证过程、token更新周期、生成算法、具体逻辑等等,从而全面掌握目前外网登录所存在的安全风险。之后,推动这些发现的安全缺陷修复即可。

最后,URL管理也需要输出URL安全管理记录报告,该记录报告也需要经常更新内容,因为URL数据是会经常变化的。报告内容可以包括排查了多少URL、发现了多少风险、风险的处置结果等等,在实践中,一般以周为时间单位进行汇报就可以了。

接口管理

处理完域名和URL,接下来我们谈一个相较于URL更细化的概念,它就是接口。我们知道,一个IP下有N个域名,一个域名下有N个URL,一个URL下有N个接口,一个接口下有N个参数,参数应该是安全测试的最小粒度,但对于资产管理来说,本小节以接口为粒度进行资产管理。


增量管理

常见的API管理平台是YAPI,官网:YAPI官网,它的功能非常强大,如果用好的话,基本可以完成API管理的相关工作。但它有一个前提,就是需要开发人员手动通过平台提供的接口数据写入工具以及点击操作才能实现接口录入,那假如开发人员不去YAPI更新接口数据呢?新增API就会成为无人知晓的野数据,下线的API也没人知道。

这时候,最质朴的做法是自建API管理平台,通过拉取Zookeeper中注册的信息数据,并对这些数据做处理规整展示,就能实现真正的线上全量API数据池,同样的,每天定时拉取Zookeeper数据,并与前一天做差异性比较,这样就能得到每一天新增的API数据了。

API增量管理就是每天对新增的API进行逐一安全排查,API安全测试的工具一般是postman或postwoman,这里比较推荐postwoman,大多人可能不知道这个工具,它真的比postman好用多了,而如果这个接口在YAPI中有录入,那么直接使用YAPI进行测试也是一个不错的选择。测试结束后,对于发现的安全风险进行推动修复即可。


存量管理

在上一步已经拿到线上所有的API接口数据了,存量管理就是对以前的历史API接口做一次安全测试,对于发现的安全风险进行推动修复即可。

我们回顾一下域名、URL、API的存量管理,域名能拿到历史数据,因此它的存量管理是排查历史数据的规范性并作整改;URL拿不到历史数据,因此它没有存量安全的概念;API也能拿到历史数据,因此它的存量管理是对历史数据做安全测试。


安全管理

有些API接口是返回敏感数据的,敏感数据比如手机号、身份证号、银行卡号等等,假如这个接口存在安全隐患,那么用户的敏感数据就有可能泄露,因此,对于返回敏感数据的接口需要额外关注。

在实践中,需要对返回敏感信息的接口进行梳理规整,这一步可以通过RASP来实现,RASP在安全防御体系建设一文中有过介绍,同时对返回敏感信息的API接口进行深度安全测试,确保其没有已知安全风险,对于返回的敏感信息,应当进行脱敏评估,如果属于非必需明文展示的,一律执行脱敏处理,以保障数据安全。

最后,也要输出API接口安全管理记录报告,以作为工作成果,该记录报告也需要经常更新内容,因为API的数据是不断变化的。该报告的内容可以包含每天新增了多少个API接口、安全排查了多少个API接口、是否有安全风险、安全风险的处置结果等等,在实践中,一般以周为时间单位进行汇报就可以了。

网络管理

除了对业务资产进行安全管理外,网络资产也是安全部门不可忽视的一部分。一般情况下,网络资产管理包括:


1、安全设备在网络中的位置。以WAF为例,WAF的部署模式是什么?流量经过哪些设备后才能到WAF?流量从WAF出去后又去了哪里?……等等之类。以此为例,需要梳理出所有的安全设备所在网络位置以及部署方式,包括WAF、高防DDOS、防火墙、入侵检测、RASP、上网行为管理……等所有安全设备。


2、安全设备的配置情况。同样以WAF为例,WAF中接入哪些资产?有哪些黑白名单?启用了哪些防护策略?防护策略级别是高是低?哪些人有权限访问和更改WAF配置……等等之类。以此为例,需要梳理出所有安全设备的基础配置情况,包括WAF、高防DDOS、防火墙、入侵检测、RASP、上网行为管理……等所有安全设备。


3、网络区域划分情况。公司网络划分为哪些区域?为什么要划分成这些区域?不同区域的访问关系是怎样的?是隔离还是互通还是有权限限制的?……等等之类。


4、网络IP地址分配情况。不同网络区域内的IP分配具体是怎样的?当前分配了哪些网段?预留了哪些网段?回收处置情况是怎样的?……等等之类。


最后,可以输出一个带有详细信息的网络拓扑图,拓扑图中不仅有最基础的网络设备连线关系,还可以将以上所有了解到的详细信息也添加到拓扑图中。这样一来,既方便了安全部门对于网络情况的熟悉了解,也方便了安全部门对网络进行安全管理,同时对于审计来讲也是十分有价值的。

风险梳理

首先,我个人认为风险也是资产的一部分,因此将风险梳理放到了资产管理体系中。

业务安全风险梳理是指梳理公司目前各个业务的详细情况,评估出其中存在的安全风险,这个和安全开发体系建设中发现与梳理的漏洞有着本质区别,这里的风险都是我们在测试中无法接触到的,只有通过向开发了解详细细节才能摸清具体情况,例如后端某个应用的架构是怎样的?架构中存在哪些不合理设计导致了可能存在安全隐患?应用和应用之间的交互细节是怎样的?加密部分使用了哪些密码学算法?等等。

业务安全风险梳理可以分为后端业务安全风险梳理、客户端业务安全风险梳理、前端/小程序业务安全风险梳理,另外业务安全风险梳理是一个非常耗时的事情,需要各个开发详细介绍他们的业务应用情况,安全部门通过提问的方式来评估发现安全缺陷。一般情况下,这种耗时不讨好的事开发是不会配合的,因此要进行业务安全风险梳理需要有一定的契机。同时,在进行业务安全风险梳理时,需要有至少一名专业的安全专家在场,否则也评估不出来什么结果。

在实践中,专利评估是一个非常不错的契机,在进行专利评估时,各个开发需要详细介绍他们的业务应用情况,此时安全部门可以搭乘专利评估的车,在进行专利评估时顺道完成业务安全评估,可谓一举两得。

最后,安全部门应输出一份安全风险评估报告,报告中包含所有发现的安全缺陷,由于这里发现的安全缺陷一般是设计层面的,修复起来难度都不会小,因此,只对紧急的、高危的、能推得动的漏洞进行修复推动就可以了,对于其余的安全缺陷,安全部门可以通过其他方式来进行防护,以降低这些安全缺陷的风险级别。

总结

资产管理体系是整个安全体系架构中的基础部分,其优先级和重要性都不言而喻,资产安全管理的覆盖范围理论上应该是包含公司的所有资产,但我这里仅仅罗列了业务资产、网络资产和漏洞资产,不过对于一个小团队来说这已经足够了。资产管理的方式也有很多,不同的团队有不同的管理方式,本文在此谨以抛砖引玉供大家参考。

未完待续图片

技术干货 | 企业安全体系架构实践之道(七)

技术干货 | 企业安全体系架构实践之道(六)

技术干货 | 企业安全体系架构实践之道(五)

技术干货 | 企业安全体系架构实践之道(四)

技术干货 | 企业安全体系架构实践之道(三)

技术干货 | 企业安全体系架构实践之道(二)

技术干货 | 企业安全体系架构实践之道(一)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月29日11:09:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   技术干货 | 企业安全体系架构实践之道(八)https://cn-sec.com/archives/1148688.html