企业上云如何才能保证安全?


荣叔整了版应用上公有云的安全方案,和架构师欣哥、海哥讨论过后,匆忙赶在节前给H总汇报。H总对该方案显然不是很满意,正好节后H总要到上海参加斗象科技举办的FIT互联网安全创新大会,于是决定带荣叔一同前往。
在主办方的招待晚宴上,荣叔认识了同桌一位安全领域的资深专家W总。W总是深圳一家做联盟链企业的合伙人,负责这家企业的安全工作,原来在华为安全部门。正好他和荣叔被安排到同一酒店的相邻房间。荣叔可不能放过机会,第二天下午邀请W总到酒店楼下星巴克,一个劲的向他请教。
荣叔说:“我原来是做开发的,后来做了架构师,虽然在各个项目上也接触过不少安全方面的工作,但毕竟不专业也不全面,这方面还得多向您请教!”
W总说:“请教不敢当,安全工作中,守方比攻方要困难许多,防范得再周全,也难免有疏漏,所谓百密一疏,而且做了很多工作,却很难让领导看到你的成绩。要想胜任安全工作,首先需要了解攻防双方的心里和行为,以及一些安全思想和体系。因此,荣叔,我建议你先了解一下渗透测试、盖特纳的PPDR模型以及近期安全领域比较流行的零信任机制。另外,关注关注国外著名安全公司和组织在安全领域的理念,比如盖特纳、思科、NIST、CIS、OpenSCAP等它们提出的一些新的安全体系,以及国内的安全标准体系,比如安全等保三级、ISO27001体系等。”
荣叔说:“早些年我曾关注过蓝莲花战队,并蒙对了他们在荷兰参加的一次安全大赛的排名,因此还获得了该战队创始人诸葛建伟编写的一本关于渗透测试的书籍和蓝莲花战队的一个徽章。因为这个原因,我对渗透测试这方面安全知识有一点粗浅的了解。”,荣叔接着说,“渗透测试对攻击者来说,在无法直接攻入核心系统的情况下,先从外围开始,收集信息(情报),通过收集到的信息分析外围系统存在的漏洞,然后利用漏洞攻入外围系统。攻击者就这样通过收集信息,发现漏洞,利用漏洞,一步步从外围渗透到要攻击的目标核心系统。”

W总说:“你说得没错,因此一家企业,他的安全防护理论上来说应该采用纵深防护策略。但许多公司,特别是自建数据中心和私有云的公司,往往重点采用周界防护策略。”。
荣说:”W总,您能给我讲解一些您对PPDR框架和零信任机制的理解吗?我对这一块,还不是很理解!”
W总说:“Gartner PPDR 是 Gartner 公司开发的一个框架,旨在指导组织创建有效的安全风险和事件管理方法。该框架重点关注安全管理的四个关键领域:
l 预测:这是指确定潜在安全威胁和风险的过程。预测分析工具和技术用于检测可能表明潜在安全威胁的模式和异常。这些信息可以用于主动采取措施防止事件发生。
l 预防:指实施措施以防止安全事件发生。这可以包括实施安全控制和策略、进行安全意识培训,并确保所有系统和应用程序都是最新的并进行了修补。
l 检测:指在安全事件发生时识别它的过程。这可以包括使用安全监控工具检测异常行为、进行漏洞评估和定期进行安全审计。
l 响应:指在安全事件发生时采取响应措施。这可以包括激活事件响应计划、控制事件、调查根本原因并实施措施,以防止类似事件再次发生。
通过采用 Gartner PPDR 框架,组织可以创建一个全面的安全风险和事件管理方法。该框架强调采取预防措施而不是被动应对,并采取综合方法进行安全管理的重要性。”

荣叔静静的听着,W总接着说:“‘安全零信任’(Zero Trust Security)这一概念最早由福布斯(Forrester)研究公司的首席安全官John Kindervag在2010年提出。他认为,传统的企业安全架构仍然存在漏洞,因为它们将防御策略仅仅限制在企业网络的外围,而忽略了内部网络的安全。他建议,企业应该采用更加安全的、细粒度的策略,不仅仅限制在边缘,而是在整个网络中强制执行安全策略。这就是‘安全零信任’的理念。对于企业而言,零信任机制不仅仅是一套4A综合安全策略和机制,零信任机制从对资源(数据、服务、应用等)的保护角度看安全工作,PPDR从安全威胁和风险的角度看安全工作,两者看问题的角度不同。”我们年龄相仿,小学课本有一节课叫《列宁和卫兵的故事》,很好的解释什么叫零信任。”

作者旁白:4A 机制是指:认证(Authentication)、授权(Authorization)、审计(Auditing)和访问控制(Access Control)。
l 认证(Authentication):是确定用户或实体身份的过程。认证机制通常涉及用户名和密码、数字证书、生物特征识别、多因素身份验证等方式,用于确保用户是他们声称的人,并且有权访问相关系统或资源。
l 授权(Authorization):是在认证成功之后控制用户或实体对系统或资源的访问权限。授权通常由访问策略和权限管理实现,可以基于用户身份、角色、组织结构等因素来控制访问权限。
l 审计(Auditing):是记录用户或实体的访问行为的过程。审计可以跟踪用户对系统或资源的访问、访问的时间、访问的方式、访问所使用的权限等信息。审计记录可以用于安全事件的调查和后续的风险评估。
l 访问控制(Access Control):是限制用户或实体对系统或资源的访问的过程。访问控制机制可以基于多种因素来实现,如用户身份、角色、组织结构、网络位置、时间等。它可以帮助组织防止未经授权的访问和数据泄漏等安全问题。
荣叔想了想,接着问道:“W总,您说的这些都是理论知识,具体的措施该怎么做?”
W总说:“首先,为了应对安全事件,贵公司应该先建立一套安全管理体系,它基本会包含如下内容:
1. 安全政策和安全目标:明确企业的安全政策和安全目标,确保全员理解和遵守。
2. 安全组织和职责:建立健全的安全管理组织架构,明确各部门的安全职责和工作任务。
3. 安全规章制度:制定安全管理规章制度,规范企业安全行为,防范安全风险。
4. 安全风险评估:开展安全风险评估,识别企业安全风险,制定应对措施。
5. 安全培训和教育:组织开展安全培训和教育,提高员工安全意识和应对能力。
6. 安全监控和管理:建立安全监控和管理机制,及时发现和处理安全问题。
7. 安全应急和处置:制定安全应急预案和处置方案,确保能够快速、有效地应对安全事件。
8. 安全审计和评估:定期开展安全审计和评估,发现问题并及时整改。
9. 安全技术保障:采用安全技术手段保障企业信息系统和数据的安全性和可靠性。
10. 安全文化建设:加强安全文化建设,营造安全、健康的企业氛围,提高员工的安全意识和安全素质。
以上是企业安全治理体系的基本内容,贵公司还可以根据自身实际情况,适当增加或调整相关内容。基于这套制度,我们还要做如下工作:
首先,梳理企业安全现状,梳理企业资产,给资产分类并识别各类资产可能受到的威胁。根据资产的重要性以及可能受到潜在威胁,设定安全等级,不同安全等级的资产采取相应的安全防护措施。
对于贵公司应用要上云的情况,建议采用的安全预防与防护措施有这么几项:
1. 减少攻击面,不该对外暴露的必须隐藏起来。在公有云上,可以通过安全组、反向代理以及DMZ域等措施实现内外网隔离,尽量减少将主机、数据库、底层服务等不该暴露的资产暴露给外部。这就像一个美女,对于男人来说,穿着越少越暴露越好。对于攻击者来说,被攻击的对象,对外暴露越多,越容易被拿下。另外,将整个空间划分成不同的域,比如开发域、测试域、生产域,生产域又划分成管理域、DMZ域、应用域等,不同的域采取不同的防护策略,通过安全组实现域间隔离。

2. 数据备份和灾难恢复计划:定期备份企业重要数据,一般会采用冷热备份措施,并制定灾难恢复计划以应对意外事件。对于重点系统,建立灾备环境或采用多活方案。
3. 密码策略和身份认证策略:建立和执行强密码策略,包括密码复杂度、定期更改密码和禁止使用共享密码等。关键防范弱口令和共享密码的情况同时出现,比如一个用户,为了图方便,将多个系统的密码都设置成‘123456’,这种情况还真不少见,特别是管理员帐号,如果采用弱口令,一旦系统被攻破,损失巨大。由于AI技术等各类技术的发展,身份认证技术和防范措施也变得多种多样,比如人脸识别、短信认证、图形验证码、邮件认证、U盾等等,建议多种技术和因素结合使用。
4. 访问控制和权限管理:对企业内部的敏感信息和资源实行访问控制和权限管理,以确保只有授权人员才能访问这些信息和资源。比如,如下常见措施:
(1) 优化身份认证和权限管理技术,比如采用SSO集中实现身份认证,全面排查关键业务功能和关键数据的权限设置,避免缺失保护或赋予过大的权限。
(2) 限制研发人员对云服务器的访问,故障排查工作要求在运维或安全人员的协助下进行,或通过集中日志和监控系统获取信息来排查。
(3) 在研发中心与公有云之间拉专线,在云端设立访问控制机制,只允许来自研发中心以及白名单内的IP访问云服务器(比如安装堡垒机或跳板机)。对于某些特殊系统或特殊人员,通过VPN访问公有云上的环境。
(4) 通过WEB防火墙实现应用的防护,通过NGNIX实现访问与流量控制,通过iptables实现主机防护。
(5) 为了保证外网数据传输安全,所有与外部系统的通信,将HTTP方式改成HTTPS方式。关键数据的传输和存储,必须加密。
5. 安全审核和漏洞管理:定期对企业的安全措施进行审核和漏洞管理,及时发现和修复潜在的安全漏洞和问题。
(1) 上云前和上云初期,应对所有系统以及云环境全面漏洞扫描,包括应用系统、操作系统、中间件的漏洞扫描等。
(2) 应用系统上云初期,对所有系统做渗透测试。新建系统以及版本重大变更的系统,系统发布到云上后,也要做渗透测试。对于关键系统,需要定期安排渗透测试。
(3) 系统上云后,建立安全情报收集与漏洞修复机制与流程,特别要注意0day漏洞和重大漏洞的及时修复。
(4) 系统开发过程中,建立自动代码缺陷检查与静态漏洞扫描与修复机制与流程;
(5) 建立漏洞库,集中管理和跟踪漏洞的修复情况。
对于安全检测与响应方面,建议采取如下几项措施:
1. 安全审计和监控:建立完善的安全审计和监控机制,检测和预防潜在的安全威胁。
(1) 加强监控,包括主机、中间件、应用以及服务链路等方面的资源占用、访问、配置、起停、调用等行为监控,并提前制定预案,一旦监控到异常,启用预案。故障解决后,编制报告,并完善知识库;
(2) 记录用户的整个访问过程,特别是一些关键操作,比如登录操作系统、修改关键配置、关停启动应用或服务、添加删除文件、上传或下载文件或数据、登录应用、访问应用关键页面、调用关键服务等等,以便后续定期或故障发生后审计用户的行为。
2. 集中日志系统:建立集中日志系统,用于收集汇聚各系统的日志,便于故障发生时,研发人员与运维人员查看;
3. 应急响应计划:建立和实施应急响应计划,以应对安全事故和意外事件,并尽快恢复业务。”
荣叔听完W总的这一番高论,激动得双手合十:“谢谢,非常感谢!听君一席话,胜读十年书,令我茅塞顿开。”
经过和W总的交流后,荣叔终于知道怎么去完善他的那份不成熟的安全方案了!
