上“云”时代,云安全越发重要。我认为,云安全和传统的网络安全一样,单一的措施无法解决问题,因此纵深防御思想同样很重要。
纵深防御思想的本质是强调冗余的安全性。也就是说,云安全管理者可以通过在物理层、网络层、系统层、应用层分别构建相互独立的安全防护措施,即使某一防护措施被突破,依然可以通过其它的安全措施来阻止威胁,从而有效降低黑客攻击的成功率。具体如下图:
不同的云环境下提供不同的安全产品,但大体思路是一致的,本文基于华为公有云产品来构建安全防御方案。
一、物理层
华为云的物理层安全与传统环境的关注重点不一样。
传统环境下,物理安全主要关注的是数据机房的环境安全,比如安装部署报警器、监视器、空调、UPS等机房设施。
华为云环境下,数据机房的物理环境安全由华为公司负责,用户无需关心上述细节问题,从而可以将注意力放在华为云的分布式物理环境的安全应用上。
什么是华为的分布式物理环境呢?华为将云服务所需的硬件和软件服务部署至不同的物理数据中心,这里“物理”指的是不同的地区或同一地区的不同机房,来确保提供不会中断云服务。为了便于理解,华为云使用“区域”和“可用区”这两个概念来描述。
- 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。
*可用区(AZ):是一个或多个物理数据中心的集合。
简单来说,区域就是在地理空间上不同地区的数据中心;可用区就是在同一个地区的不同位置的数据中心。
如下图所示:
从使用安全的角度,是否将资源放在同一可用区内,主要取决于对容灾能力和网络时延的要求。对容灾能力的要求越高,越是要注意不要把鸡蛋放在同一个笼子里。因此,将数据在不同区域、或者同一区域的不同可用区进行多份冗余备份,能够确保不会因为物理问题而丢失数据。具体部署如下图所示:
此处还涉及到数据同步、冷备、热备等相关知识,建议大家遇到具体情况时再具体分析和解决。
二、网络层
华为云网络层的安全主要依托VPC网络、iptables和DDOS防护产品来实现。
1、VPC网络
华为云的主流网络架构是VPC网络,其网段划分、网络隔离以及相关网络功能都是企业级云网络所必须的。
那么什么是VPC网络呢?VPC即Vitrual Private Cloud,虚拟专用网络。它采用的是数据链路层隔离技术,有点类似于传统网络中VLAN的划分,既能够实现VPC之间的100%安全隔离,也能够灵活的控制VPC内和VPC间的通信访问。
安全隔离包括两个方面功能:
- 安全组:通过对报文协议(TCP、UDP、ICMP)以及端口的过滤来实现严格控制外部对ECS的网络访问
- 防火墙:VPC子网支持黑白名单,可以用来放行或禁止进出一个或多个子网的流量
灵活控制通信包括三个方面功能: - 自定义路由:可以自定义VPC内的路由规则
- 对待连接:在两个VPC之间,能够使用私有IP地址进行通信
-
VPC和云专线服务:打通线下数据中心和华为云之间的数据通道
下图是基于VPC网络架构的华为云部署示意图。
2、iptables
在实践应用中,我们一般会在ECS(云服务器)上开启iptables来做网络访问安全规则,iptables能够实现包过滤、地址转换等功能。
3、DDOS防护产品
对云来说,DDOS攻击是网络层最大的威胁,也是最常见的威胁。DDOS攻击即分布式拒绝攻击,指的是攻击者通过大规模的网络请求数据包,造成我们的云服务器网络、服务、应用等瘫痪,不能对外提供正常服务。
从某种角度来说,DDOS攻击利用的是合法的数据访问,因此是无法真正解决的。在我的博文《“图兰军”攻击事件的威胁分析》中曾经指出:目前情况下,应对DDoS的方法主要是三板斧:
- 头板斧:小流量封锁。对网络流量进行分析,检测到DDoS攻击后立刻通过防火墙进行阻断,或通过路由黑洞、路由协议转发等方式进行流量封锁。但是小流量封锁的方式在攻击流量超过出口带宽时,就不再有效了。
- 二板斧:大流量清洗。大流量清洗主要侧面借助华为云的带宽扩容或者华为云DDOS防护产品进行数据清洗。
- 三板斧:CDN分流。内容分发服务(CDN)是指通过在网络各处放置节点服务器,让用户能够就近访问网站服务。在出现DDoS攻击时,我们可以将所有静态站迁移到CDN去,进一步稀释攻击流量。
此处还需介绍一下华为云DDOS防护产品。华为云DDOS防护服务(Anti-DDoS Service,简称ADS)有如下3个版本: - DDoS原生基础防护(Anti-DDoS流量清洗)
- DDOS原生高级防护(DDoS原生标准版、DDoS原生防护-全力防基础版、 DDoS原生防护-全力防高级版和DDoS原生铂金版)
-
DDOS高防(DDoS高防中国地区和DDoS高防国际版)。
其中,Anti-DDoS流量清洗为免费服务,DDoS原生高级防护和DDoS高防为收费服务。
基于DDOS威胁太大,所以建议采购DDOS原生高级防护产品,但是相关产品价格比较贵,因此应该注意按需采购,即,保底防护带宽与日常遭受攻击的流量值持平或者略高,其它的突发攻击交给弹性防护带宽来解决。这样就能尽量少花钱,其部署方式如下图所示:
三、系统层
系统层安全主要对应的是操作系统安全:一方面,企事业单位的实际需求和个人主机的应用场景不一样;另一方面,云操作系统往往以服务器为主,稳定性和可用性非常重要。
综合两方面情况,系统层的终端或服务器安全应以云服务提供商的安全防护产品为主,以对操作系统的用户管理、软件包管理、文件系统管理等基线配置为辅,综合做好系统层安全管理工作。
1、华为云企业主机安全 HSS
企业主机安全(Host Security Service)产品能够提供资产管理、漏洞管理、基线检查、入侵检测、程序运行认证、文件完整性校验等安全运营功能,基本符合云安全例规相关要求。与此同时,使用非常方便,一键购买和开启云主机的安装防护,如下图所示。
2、主机系统基线安全
拿Linux操作系统为例,需要设置的安全基线如下:
- 用户管理安全方面:
- passwd文件和shadow文件管理
- 用户口令复杂度
- 特权用户使用管理
- 最小权限用户新建、使用和删除
- 软件包管理:
- 自启动应用和服务管理
- 安装包来源设置和检查
- 文件系统管理:
- 关键文件系统加锁
- 日志文件的操作和应用
- 敏感文件的扫描和清除
- 数据管理:
- 数据备份和删除
- 数据加密
限于篇幅,本文先简单带过这些内容,后期专门写一篇博文来进行介绍。
部分基线安全设置已在《Python脚本:一键加固Ubuntu服务器》和《批处理脚本:一键加固Windows终端》等两篇博文中有所涉及。
四、应用层
需要对外开放的云端应用主要是Web应用,因此应用层安全主要以Web服务安全为主。
在我的博文《典型Web安全防护策略》中,已经详细介绍过传统环境下Web安全防御防护基础知识。
此处重点介绍一下华为云的Web应用防火墙产品,它在针对华为云环境进行适配的基础上,通过对网站业务流量进行多维度检测和防护,结合深度机器学习智能识别恶意请求特征和防御未知威胁,具备较好的Web攻击防护、CC攻击防护、访问控制、安全可视化等功能。
华为云官网介绍WAF如下图所示:
笔者认为,其主要优势包括以下几点:
- 使用简单。无需安装任何软件或者部署任何硬件设备,在购买WAF后,把域名解析到WAF的CNAME地址上,并配置网站服务器IP地址,就可以启用WAF。
- 自动更新。补丁、插件、功能等由华为云负责更新和维护,用户无需担心最新Web漏洞的问题。
- 功能齐全。能够有效防御SQL注入、XSS跨站、木马上传等常见攻击,过滤CC攻击,支持对HTTP\HTTPS流量进行防护,提供实时查看攻击信息和事件日志的功能。
综上所述,部署华为公有云的企业,如果对外开放Web服务,那么就应该购买华为云WAF产品。
五、态势感知系统
云上态势感知系统其实就是一套能够集中展现物理层、网络层、系统层、应用层的整体安全情况的预警系统。
态势感知系统中的“态势”二字指的是将来可能发生的事。顾名思义,态势感知系统能够提前感知将来可能发生的事,实现网络空间的“知己知彼、百战不殆”。而云态势感知系统是以大数据技术和高性能计算为基础,通过对威胁情报进行分析,形成对云上网络威胁的预判。
这里可以把威胁情报简单理解成各类安全数据库,比如软件白名单、恶意地址库、反网络病毒联盟信息、国家漏洞发布数据以及云上部署的安全系统和软件日志、云上资产指纹等,它是态势感知系统的数据依据。
因此,在云上部署态势感知系统的最大作用是发现威胁,而不是解决威胁。它覆盖了物理层、网络层、系统层、应用层等各个层级,却与各个层级的安全产品作用并不相同,它搜集这些已经部署的安全产品信息,起到的是事件集中呈现、整体安全评估、威胁分析告警的作用。
如下图所示,是华为云态势感知系统与其它云服务的关系。