前言
接上期,这期主要介绍应用开发及办公环境的安全建设(最近比较忙,所以这篇文章拖了那么久)
应用安全SDLC
对常规的企业来说,企业的大部分系统都为采购或者外包来进行开发,这种情况下可能无法拿到系统的源代码,也无法对开发人员进行安全开发培训,编码规范也形同虚设;对互联网企业来说,快速的迭代,新功能的上线,一个或者几个人的安全团队没有办法参与到整个SDLC的流程中。
这是个比较理想的SDLC的流程
上图是在一家互联网企业工作的APP上线的流程,公司大部分系统都为自己开发,安全比较容易嵌入到应用开发的各个流程中。不过,因为公司整个安全团队人员不多,开发的迭代又快,安全无法参与到所有的需求评审中。为了尽量满足业务和安全的需求,需求评审主要参与在公司重要的业务需求中(钱,用户),其他按照约定的安全设计的红线来进行执行。业务发布系统是公司自建的,在提测前会调用代码扫描的接口,接口程序每天执行一次,排重当天的发布情况,从代码库拉取代码自动扫描,扫描结果会同步到代码扫描平台,由开发自行来确定该漏洞的情况。我们把QA测试中的行为进行记录,提供给自动化测试平台来进行自动化的安全测试工作。非重要业务都会部署在WAF后(主要是开源的)来抵御一些基础的攻击情况,和对有poc却暂时不能及时修复的情况。
另一种系统外包或者采购的情况,这种无法上述比较全面的SDLC只能在应用上线之前进行渗透测试和上线部署较为成熟的商业WAF来进行防御。
办公环境安全
办公环境的安全需要考虑到多个方面,主要分为如下几点
办公环境的复杂性,考虑的安全的方面也比较多,上图中可能存在遗漏的地方,具体的情况,需要根据企业的实际情况来进行考虑,在做办公环境的安全上,主要是根据企业现在的环境,对提高企业安全现状最重要的部分开始执行。
安全运营
每个安全人员都有自己习惯使用的安全工具,自己习惯的防护方式,有些喜欢从内而外的防护,有些喜欢从外而内的防护,目的都是提高企业的安全基础,我主要供职的几家公司的安全团队的人数都较少,在没有hc,没有预算的情况下,主要是从无到有,有到覆盖率,覆盖率到了,运行稳定(you yu suan)了之后,才考虑精细化的一些工作。
一、 资产管理:
上图的很多地方和运维的资产管理有比较多的重合,为什么还需要安全还需要单独来进行管理。我们和运维关注点是不一样的,运维考虑的是系统的稳定性,安全更多考虑的是这些资产的完整性,是否有遗留的地方。攻击往往是在盲区发生的。
1. 网络资产
公司的公网地址,公网地址上开放的端口(协议),减少对外开放的端口(协议),规范对外开放端口的流程,可以有效的减少因为人为和系统因素造成的攻击,在对外开放的有限服务增加纵深防御,可以有效的阻挡一些日常的安全事件的发生。
可以实现的方式有很多,安全人员不够的情况下可以使用巡风,如果有开发能力的话,可以使用nmap来进行扫描,扫描的周期建议为4个小时一次(超过4个小时,基本已经会被外部扫描收入),如出现高危的端口(协议)进行通知。
2. 主机资产:
公司有哪些主机,是否存在遗留之外的主机,操作系统的版本,服务使用的三方库的版本,web容器的版本等,都是安全需要进行考虑的。
实现的方式也是通过巡风或者nmap来进行扫描,扫描的结果可以与公司的cmdb来进行联动,判断是否存在遗漏的资产,是否与cmdb中一致。操作系统的补丁很多都会要求重启,现在应用对于操作系统的依赖较少,操作系统的升级可以通过系统扩容,收缩的时候来进行。Web容器一般使用的一个稳定的版本,出现比较重大的漏洞的情况下,有poc的情况下,会在waf上先进行策略的阻断,然后进行web容器的补丁更新,尽量减少因为补丁引起的业务问题。三方库的版本主要是通过公司的配置管理系统来进行版本的管理及升级,如果没有配置管理系统,可以通过pom文件来扫描(从开始到放弃
来源:freebuf.com 2019-09-06 10:47:15 by: caspar
请登录后发表评论
注册