首页 阿里云安全指南 云资源安全

云资源安全

更新时间: 2024-09-12 21:11:50

本文介绍了常见的云资源的安全使用,建议结合自身业务特性,按照安全指南和最佳实践进行操作和管理。

阿里云致力于在云产品设计阶段即融入安全理念,确保云服务在初始部署时便具备稳健的安全设置,以此作为安全防护的基石。然而,考虑到用户应用场景的多样性与复杂性,我们也提供了丰富和灵活的自定义配置选项,以适应不同行业及特定业务需求的细微差异,在赋予用户高度的灵活性的同时也要求用户承担起相应的责任。因此我们建议在使用时遵循每个产品的安全指南与最佳实践,结合自身业务特性,审慎的配置与管理云上资源。

一、弹性计算ECS的安全性

(一)操作系统安全

操作系统的安全性是ECS安全性的基础,从用户登录和操作系统本身的安全性出发,我们建议按以下方式使用和配置:

  1. 登录安全。传统的服务器登录方式为开放公网IP和端口,然后使用账密登录,这种方式存在被扫描破解密码的风险,其登录记录也不能被溯源和审计,建议您使用以下方式:

    1. 通过会话管理连接实例,类似于堡垒机,在不需要密码的情况下能够安全的登录到ECS的实例上,并支持对所有登录操作进行追溯;

    2. 使用SSH密钥对,代替账号密码进行登录;

    3. 由于SSH密钥仅支持Linux实例,如果无法使用 SSH 密钥,推荐使用ECS uesr账号登录,而不是默认的root账号,同时使用KMS管理和定期更新登录凭证,避免密码泄露带来的风险。

  2. 操作系统安全

    1. 使用安全插件Agent,镜像开启安全加固,对操作系统中存在的安全漏洞进行扫描并定期修复;

    2. 使用云安全中心对系统漏洞进行修复,同时对操作系统中存在的木马和病毒进行扫描和修复;

    3. 通过系统运维管理的补丁管理自动设置对应的补丁扫描,并且设置对应的修复策略;

    4. 如果对安全等保有要求,也可以使用阿里云提供的原生操作系统Alibaba Cloud Linux等保2.0镜像来提升整个操作系统的安全合规要求。

(二)访问控制

在确保操作系统的安全后,您还需要进一步对ECS实例的访问做限制:

  1. 账号访问控制

    1. 使用阿里云RAM和资源组对ECS实例进行分组并授权,限制RAM用户只能查看和管理被授权ECS实例;

    2. 为ECS实例绑定标签,然后通过RAM的自定义策略指定授权的标签,利用标签限制RAM用户只能查看和管理指定的ECS实例。

  2. 网络访问控制

    1. 安全组:用户基于自身场景的需要将云资源暴露到不同的网络环境,在配置的过程中,应当遵循最小够用原则,在满足业务需求的前提下,尽可能缩小暴露范围,确保资源仅对必要范围内的IP地址开放;

    2. 网络ACL(Access Control List):管理和配置网络层所有出入子网的流量。

  3. 本地盘访问控制:通过操作系统层面的文件系统权限来管理本地盘的ECS实例,防止未授权的读写操作。

)备份与恢复

最后,您应该对ECS实例中的敏感数据进行备份,在遭遇勒索病毒攻击时,可快速恢复业务,从而降低安全事件带来的损失,建议按照以下方式进行备份:

  1. 使用自动快照策略对关键业务数据的云盘进行定期数据备份,应对因误删除、勒索病毒造成的数据丢失或者应用系统故障,需要时可以快速找回云盘数据,以保证业务的连续性;

  2. 通过自定义镜像对ECS的系统环境配置、实例数据等进行备份,方便在需要的时候快速恢复。

二、云数据库RDS的安全性

(一)访问限制

数据库中往往存放了重要的业务数据,如果对外暴露可能会引起严重的数据泄漏事件,建议您在使用时严格限制访问范围:

  1. 通过白名单与安全组规则限制访问来源

    1. 创建RDS实例后,将IP地址添加到白名单,该IP地址所属的设备才能访问该RDS实例;

    2. 关联和复用ECS安全组策略,仅允许ECS安全组下的ECS访问RDS。

  2. 将RDS限制在VPC内网可访问

将RDS的网络类型从默认的经典网络切换为VPC,一般选择ECS实例所在的VPC,实现同一VPC下的ECS对 RDS的内网互通。如果自有服务器也需要访问RDS,可以通过VPN或者专线,将自建IDC的服务器资源接入阿里云。

(二)数据加密

数据库中往往存放了一些敏感数据,比如个人身份信息、联系方式、订单信息等,在传输、存储和使用时建议加密,确保即使物理层遭到攻击或数据被不当访问,数据本身仍然受到保护,常用的一些加密方式包括:

  1. 使用SSL在数据传输时加密:使用SSL对所连接的数据库服务来源进行验证,从而有效避免中间人攻击,确保数据传输过程中的安全与私密。

  2. 数据存储加密:

    1. 透明数据加密 TDE :在数据写入磁盘之前对其进行加密,当数据被应用程序请求时,再进行解密,数据在使用过程中,如查询、更新等操作时,是以明文形式存在的,但在存储层面上,数据则以密文形式存在;

    2. 云盘加密:针对RDS云盘版实例,阿里云免费提供云盘加密功能,基于块存储对整个数据盘进行加密,即使数据备份泄露也无法解密,最大限度保护数据安全,而且加密不会影响您的业务,应用程序也无需修改。

(三)数据库备份

您应该定期对数据库进行备份,防止因为硬件故障、人为错误、病毒攻击或数据损坏等原因导致的数据不可用,RDS默认提供备份功能,同时针对个性化需求也可采用DBS备份方式。

  • RDS默认备份:RDS本身提供的备份功能,系统自动进行全量(数据)和增量(日志)备份;

  • DBS备份:高级备份功能,支持跨账号备份、单库或单表备份、异地备份、将备份存储于OSS等。

、对象存储OSS的安全性

(一)访问控制

为保证存储在OSS中数据的安全性,OSS资源(包括Bucket和Object)默认为私有权限,只有资源拥有者或者被授权的用户允许访问,不建议您设置为公共读或公共读写。如果要授权第三方用户访问或使用自己的OSS资源,可以通过多种权限控制策略向他人授予资源的特定权限,包括:基于RAM子账号的资源访问权限(RAM Policy)、基于单个Bucket 的访问权限(Bucket Policy)、以及基于单个Object 的访问权限(Object Policy),其中Bucket和Object可以设置读写权限ACL。

以下是一些常用的配置建议:

  • 根据用户的实际需求场景配置访问权限,如同一RAM用户限制只拥有对某一、某几个Bucket的读权限;

  • 敏感Bucket限制访问的RAM用户、访问来源IP等;

  • 对Bucket和Object设置读写权限ACL,仅当审批通过之后才能拥有对应权限。

(二)数据加密

OSS 支持服务端数据加密和客户端数据加密:

  • 服务端加密时,数据在OSS内部被加密,密钥由OSS或KMS管理,主要用于一些高安全性需求的场景,无需频繁访问加密密钥,简化密钥管理

  • 客户端加密时,客户端(如应用程序或用户)负责对数据进行加密,然后再将加密后的数据上传至OSS,解密过程也同样在客户端进行,适用于跨云或多云环境,或者数据高度敏感、合规要求、需要由特定实体解密的情况。

(三)数据备份

OSS提供两种不同的数据保护机制:版本控制和云备份。

  • 版本控制对数据的覆盖和删除操作以历史版本的形式保存下来,在错误覆盖或删除对象(Object)后,能够将存储在Bucket中的Object恢复至任意时刻的历史版本;

  • 云备份常用于灾备、故障等场景,可以对存储空间(Bucket)内的文件(Object)进行定期备份,当出现大规模数据丢失时使用云备份找回数据。

两者可以结合使用,为数据提供多层次的保护。

、容器服务的安全性

(一)身份认证和访问控制

  1. 使用RBAC管理用户访问权限,通过角色、集群角色的访问范围限制,精确控制对资源的访问;

  2. 集群访问控制:集群访问支持kubeconfig和服务账户两种方式

    1. kubeconfig:默认证书的有效期是3年,建议根据实际需要设置有效期,并在疑似泄漏的时候及时吊销凭证;

    2. 服务账户:通过上文的RBAC机制控制服务账户的访问范围,配置时应遵循权限最小化原则。

  3. Pod 访问控制:

    1. 网络策略(Network Policies):通过配置文件可配置 Pod间的网络通信规则,比如允许哪些Pod之间的通信以及通信的端口和协议,有助于提高安全性,减少攻击面;

    2. 部署服务账户令牌卷投影:可动态生成和管理短期、基于 Pod 的令牌,减少因令牌泄露或过期导致的潜在问题;

    3. 通过RRSA配置ServiceAccount的RAM权限实现Pod权限隔离

  4. 使用ACK-TEE机密计算,把重要的数据和代码放在一个特殊的可信执行加密环境(TEE)。

(二)运行时安全防护

  1. 通过Seccomp等手段限制容器应用对内核进行系统调用,建议参考以下方式设置Seccomp策略:

    1. 设置 defaultAction为 "deny"。这表示所有未在策略中明确允许的系统调用都会被拒绝,这是Seccomp策略中最基本也是最安全的设置;

    2. 根据最小可用原则,只允许应用程序真正需要的系统调用;

    3. 对于允许的系统调用,可以进一步限制参数。例如,可以限制 open调用只允许打开特定类型的文件或具有特定标志。

  2. 使用配置巡检动态检查应用负载中的安全隐患

通过使用ACK提供的安全配置巡检功能,可以实时检测集群工作负载中不安全的配置项,并通过直观的报表展现给安全运维人员。巡检完成时,可以通过阅读巡检报告结果,加固工作负载的配置安全。

  1. 使用阿里云云安全中心实现威胁检测与阻断

云安全中心基于云原生的部署能力,实现对容器服务的威胁数据自动化采集、识别、分析、响应、处置和统一的安全管控,结合K8s日志和云平台操作日志实时进行行为审计和风险识别,实现容器服务和编排平台存在的容器逃逸、AccessKey泄露、未授权访问风险。

上一篇: 配置主机边界访问控制策略 下一篇: ECS安全性