安全涵盖的范围广泛,阿里云保证自身云基础设施和服务的安全,例如机房、虚拟化平台等,但您在使用云产品的过程中遵循安全实践同样重要,例如阿里云账号安全、机密信息保管、权限控制等。
传统IT结构向云化架构转变,也会带来新的安全挑战。可能一个误操作就会让自己的应用从内网访问变为公网访问或者泄露了自己的密钥导致信息安全事件。安全和合规是数字化转型的基石,也是上云的第一步。
您需要明确安全战略的地位,提高足够的重视度,系统和应用安全不是一蹴而就的,需要大量精力持续投入、持续建设。
除此之外,您需要明确以下内容:
通常意义上的云计算安全或云安全是指通过一系列策略、控制和技术,共同确保数据、基础设施和应用的安全,保护云计算环境免受外部和内部网络安全威胁和漏洞的影响。越来越多的企业更加重视云安全合规,云上安全合规需要有自上而下的顶层设计,要以安全为出发点构建云上应用。
根据目前的安全趋势,阿里云推荐您使用如下表所示的安全最佳实践来保护云上信息资产的安全。
安全项
最佳实践
说明
账号安全
应用资源管理
信息数据安全
网络环境安全
应用防护安全
实例内GuestOS应用系统安全
一般情况下,ECS实例的应用程序是通过阿里云账号或者RAM用户的AccessKey访问阿里云各产品的API。为了满足调用需求,需要直接把AccessKey固化在实例中,例如写在配置文件中。但是这种方式权限过高,存在泄露信息和难以维护等问题。因此,阿里云推出了实例RAM角色解决这些问题,一方面可以保证AccessKey安全,另一方面也可以借助RAM实现权限的精细化控制和管理。
阿里云账号AccessKey是客户访问阿里云API的密钥,请务必妥善保管。请勿通过任何方式(如GitHub等)将AccessKey公开至外部渠道,以免被恶意利用而造成安全威胁。AccessKey泄露会威胁所有资源的安全,根据如下AK信息使用的安全建议,可以有效降低AccessKey泄露的风险。
您在使用阿里云产品过程中需要遵循以下几点AK信息使用安全建议,以降低凭证泄露造成的影响:
类别
策略说明
阿里云账号
密钥、凭据
密码
机密信息使用KMS安全加固托管
机密数据明文落盘存储会导致泄露风险,建议您提前开通密钥管理服务,无需自行研发和运维密码设施,即可在云服务中使用数据加密功能,例如在云服务器ECS中使用云盘加密、实例可信启动等功能。
规模化、自动化运维与审计云上资源,避免因错误的配置变更造成例外或单点资产保护遗漏情况。建议您统一实例、安全组的命名规范与部署约定,定期检测、提醒或删除不符合命名规范的安全组和实例。使用标签规模化管理资源、使用云助手自动化运维资源通道、使用配置审计对资源进行合规审计。
如果您的业务面向高安全可信要求的场景,可以使用安全增强型实例,保障实例的可信启动和实例中隐私数据的安全。
阿里云根据国家信息安全部发布的《GB/T22239-2019信息安全技术网络安全等级保护基本要求》中对操作系统提出的一些等级保护要求,推出自研云原生操作系统AlibabaCloudLinux等保2.0三级版镜像。您使用本镜像无需额外配置即可满足身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范的等保合规要求。
建议您在加固模式下使用实例元数据,加固模式下实例和实例元数据服务器之间建立一个会话,并在查看实例元数据时通过Token验证身份,超过有效期后关闭会话并清除Token。Token具有以下特点:
云计算利用专有网络VPC(VirtualPrivateCloud)来抽象物理网络并创建网络资源池,实现数据链路层的隔离,为每个用户提供一张独立隔离的安全网络环境。不同VPC之间内部网络完全隔离,只能通过对外映射的IP互连。在VPC内部,用户可以自定义IP地址范围、网段、路由表和网关等。此外,用户可以通过VPN网关、高速通道物理专线、智能接入网关等服务将本地数据中心和云上VPC打通,也可以通过云企业网实现全球网络互通,从而形成一个按需定制的网络环境,实现应用的平滑迁移上云和对数据中心的扩展。
此外,网络是所有云服务的基础要素,网络攻击种类多、危害大,是最难防护的风险之一。云计算平台会提供一套成熟的网络安全架构,以应对来自互联网的各种威胁。在阿里云上,可以通过安全组、网络ACL、路由策略或网络专线来控制虚拟网络的访问权限。除了对内网网络访问的控制之外,还需要配置云防火墙、应用程序防火墙、DDoS防护等安全措施,针对各种外部网络安全威胁进行安全防护。
网络资源隔离的安全建议如下:
允许全部入网访问是经常犯的错误。使用0.0.0.0/0意味着所有的端口都对外暴露了访问权限,这是非常不安全的。正确的做法是,拒绝所有的端口对外开放,设置安全组白名单访问。例如,如果您需要暴露Web服务,默认情况下只开放80、8080和443等常用TCP端口,其他端口都应关闭。
关闭不需要的入网规则
如果您当前使用的入规则已经包含了0.0.0.0/0,您需要重新审视自己的应用需要对外暴露的端口和服务。如果确定不需要让某些端口直接对外提供服务,您可以添加一条拒绝的规则。例如,您的服务器上安装了MySQL数据库服务,默认情况下不应该将3306端口暴露到公网,此时,您可以添加一条拒绝规则,并将其优先级设置为100,即优先级最低。
不同的安全组按照最小原则开放相应的出入规则。对于不同的应用分层,应该使用不同的安全组,不同的安全组应有相应的出入规则。
定义合理的安全组名称和标签
合理的安全组名称和描述有助于您快速识别当前复杂的规则组合,您可以通过修改名称和描述来帮助自己识别安全组。
您也可以通过为安全组设置标签来分组管理自己的安全组。您可以在控制台直接设置标签,也可以通过API设置标签。
将需要互相通信的ECS实例加入同一个安全组
一个ECS实例最多可以加入5个安全组,而同一安全组内的ECS实例之间是网络互通的。如果您在规划时已经有多个安全组,且直接设置多个安全规则过于复杂,您可以新建一个安全组,然后将需要内网通讯的ECS实例加入这个新的安全组。
不建议您将所有的ECS实例都加入同一个安全组,对于一个中大型应用来说,每个服务器所扮演的角色不同,合理地规划每个服务器的入方向请求和出方向请求是非常有必要的。
安全组内实例间隔离
安全组是一种虚拟防火墙,具备状态检测和包过滤功能。安全组由同一个地域内具有相同安全保护需求并相互信任的实例组成。为了满足同安全组内实例之间网络隔离的需求,阿里云丰富了安全组网络连通策略,支持安全组内实现网络隔离。
使用安全组五元组规则
安全组用于设置单台或多台ECS实例的网络访问控制,它是重要的网络安全隔离手段,用于在云端划分安全域。安全组五元组规则能精确控制源IP、源端口、目的IP、目的端口以及传输层协议。
公网服务的云服务器和内网服务器尽量属于不同的安全组
是否对外提供公网服务,包括主动暴露某些端口对外部访问(例如80、443等),被动地提供端口转发规则(例如云服务器具有公网IP、EIP、NAT端口转发规则等),都会导致自己的应用可能被公网访问。
DDoS(DistributedDenialofService,即分布式拒绝服务)攻击指借助于客户、服务器技术,联合多个计算机作为攻击平台,对一个或多个目标发动攻击,成倍地提高拒绝服务攻击的威力,影响业务和应用对用户提供服务。阿里云云安全中心可以防护SYNFlood、UDPFlood、ACKFlood、ICMPFlood、DNSFlood、CC攻击等3到7层DDoS的攻击。DDoS基础防护免费提供高达5GB的默认DDoS防护能力。
云安全中心是一个实时识别、分析、预警安全威胁的统一安全管理系统,通过防勒索、防病毒、防篡改、合规检查等安全能力,实现威胁检测、响应、溯源的自动化安全运营闭环,保护云上资产和本地主机,并满足监管合规要求。
接入Web应用防火墙的好处如下:
Linux实例:
Windows实例:
配置安全组或防火墙,仅允许已经对数据加密的网络服务的端口之间进行通信。可使用传输层安全性(TLS1.2及以上版本)等加密协议加密在客户端和实例之间传输的敏感数据。
建议您使用云监控、操作审计、日志审计、VPC流日志、应用日志等构建一套异常资源、权限访问监控告警体系,对及时发现问题、止损、优化安全防御体系具有至关重要的意义。