
# DCS数据安全
安全性是华为云与您的共同责任。华为云负责云服务自身的安全，提供安全的云；作为租户，您需要合理使用云服务提供的安全能力，对数据进行保护，安全地使用云。详情请参见[责任共担](https://support.huaweicloud.com/resp-pcre/index.html?product=dcs)。
本文提供了使用DCS过程中的安全最佳实践，旨在为提高整体安全能力提供可操作的规范性指导。根据该指导文档您可以持续评估DCS资源的安全状态，更好地组合使用DCS提供的多种安全能力，提高对DCS资源的整体安全防御能力，保护存储在DCS内的数据不泄露、不被篡改，以及数据在传输过程中不泄露、不被篡改。
本文从以下几个维度给出建议，您可以评估DCS的使用情况，并根据业务需要在本指导的基础上进行安全配置。
- [通过访问控制，保护数据安全性]
- [加密存储数据]
- [构建数据的恢复和容灾能力]
- [SSL链路传输加密方式访问DCS]
- [审计是否存在异常数据访问]
- [使用最新版本SDK获得更好的操作体验和更强的安全能力]
- [通过其他云服务进一步增强对数据的安全防护]
 #### 通过访问控制，保护数据安全性
正确地使用DCS提供的访问控制能力，可以有效预防您的数据被异常窃取或者破坏。
1. **建议对不同角色的IAM用户仅设置最小权限，避免权限过大导致数据泄露或被误操作** 。
   为了更好地进行权限隔离和管理，建议您配置独立的IAM管理员，授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组，用户组对应不同的数据访问场景，通过将用户添加到用户组并将IAM策略绑定到对应用户组，IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限，详情请参见[++DCS权限管理++](https://support.huaweicloud.com/productdesc-dcs/ProductDescPrivilegeManagement.html)。
   
2. **建议配置白名单或安全组访问控制，保护您的数据不被异常读取和操作** 。
   租户创建DCS实例后，可以通过配置白名单或安全组的方式进行访问控制。**租户配置IP白名单或安全组的入方向、出方向规则限制，可以控制连接实例的网络范围，避免DCS暴露给不可信第三方**。
   Redis 4.0及以上版本基础版实例通过白名单控制，请参考[配置白名单](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-190812001.html)。
   Redis 6.0企业版通过配置安全组访问规则控制，请参考[配置安全组](https://support.huaweicloud.com/dcs_faq/dcs-faq-0713002.html)。安全组入方向规则的"源地址"应避免设置为0.0.0.0/0。
   
3. **建议不使用高危命令，避免攻击者直接对Redis进行致命性破坏** 。
   为避免攻击者直接对Redis进行致命性破坏，如果业务没有使用场景，建议通过命令重命名的方式对其进行禁用，相关列表请参见[默认禁用的命令列表](https://support.huaweicloud.com/productdesc-dcs/dcs-pd-210209002.html#section2)，[支持重命名的命令列表](https://support.huaweicloud.com/productdesc-dcs/dcs-pd-210209002.html#section3)。
   
4. **建议使用非默认端口，避免端口被扫描攻击** 。
   Redis Server监听的端口默认为6379，容易被扫描攻击，建议将端口设置为非默认端口。支持修改的端口范围：1\~65535之间的其它端口号。详情请参见[自定义或修改端口](https://support.huaweicloud.com/dcs_faq/dcs-faq-0427036.html)。
   
5. **建议限制Redis客户端最大连接数，通过限制使用的资源，降低资源耗尽和拒绝服务风险** 。
   Redis的maxclients参数决定了实例最大支持同时连接的客户端个数，默认值为10000，设置范围为1000～50000。如果超过自定义的连接数阈值，新的连接请求将被拒绝。
   **建议根据应用的具体使用场景设置** **合适的客户端最大连接数** ，限制资源耗尽和拒绝服务的可能性。修改maxclients参数请参见[修改配置参数](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312024.html)。
   
6. **建议限制Redis连接闲置等待时间，根据业务实际场景来设置具体时间** 。
   为避免client空闲连接长时间占用资源，可在控制台界面配置闲置等待时间（timeout参数），设置超时阈值后，将在连接空闲指定的秒数后关闭客户端连接。timeout默认值为0，表示服务端不会主动断开客户端的空闲连接。设置范围为0\~7200，单位：秒。
   **建议根据应用的具体使用场景设置实际闲置等待时间** ，不建议将timeout设置为0。例如，可以将timeout设置为3600秒。避免出现资源耗尽和拒绝服务的可能性。修改timeout参数请参见[修改配置参数](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312024.html)。
   
7. **建议将访问DCS实例方式设置为密码访问，防止未经认证的客户端误操作实例** 。达到对客户端进行认证访问的目的，提高实例使用的安全性。
   您可以在[购买Redis实例](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713002.html)时进行设置访问密码，也可以对已创建的免密实例进行[密码重置](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312039.html)。
   
8. **建议为DCS实例配置ACL访问控制权限。**
   DCS管理员可以为实例创建只读账号或者读写账号，用于不同业务场景下访问DCS的精细管控。
   图1实例ACL账号管理   
   ![](https://support.huaweicloud.com/bestpractice-dcs/zh-cn_image_0000001790336174.png "点击放大") 
9. **建议不同的业务使用不同的DCS实例，避免实例故障影响多个业务**。
 
 #### 加密存储数据
由于开源Redis持久化文件RDB、AOF不支持加密，所以DCS服务暂不支持数据加密，建议敏感数据用户自行加密后再写入DCS。
 #### 构建数据的恢复和容灾能力
预先构建数据的容灾和恢复能力，可以有效避免异常数据处理场景下数据误删、破坏的问题。
1. **建议开启实例自动备份，获得异常场景数据快速恢复能力** 。
   DCS提供自动备份和手动备份两种备份操作。自动备份默认未开启，需要租户选择是否开启，备份存储期限最多7天。同时，开启自动备份后，允许对实例执行备份文件的恢复。自动备份请参见[设置备份策略](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312031.html)。
   说明：手动备份是租户手动触发的实例全量备份，这些备份数据存储在华为云OBS桶中，当租户删除实例时，会同步删除OBS桶中的快照。
   
2. **建议使用跨AZ复制构建数据容灾能力** 。
   DCS的主备和集群实例支持部署高可用实例，租户可选择在单可用区或多可用区中部署实例。当租户选择跨AZ实例时，DCS实例会主动建立和维护Redis同步复制。在实例主节点故障的情况下，缓存实例会自动将备实例升为主节点，从而达到高可用的目的。如果租户使用缓存实例时，业务中读取数据比例大，可以选择4.0以上版本的读写分离实例或者集群多副本实例，缓存实例会自动维护主节点和多个备节点之间的数据同步复制，租户可以根据业务需要连接不同的地址进行读写分离。
   图2选择实例主、备节点可用区   
   ![](https://support.huaweicloud.com/bestpractice-dcs/zh-cn_image_0000002397352041.png "点击放大")
   当租户选择跨AZ实例时，DCS实例会主动建立和维护Redis同步复制。在实例主节点故障的情况下，缓存实例会自动将备实例升为主节点，从而达到高可用的目的。
   
 
 #### SSL链路传输加密方式访问DCS
**为了确保数据传输过程中不被窃取和破坏** ，**建议使用SSL链路传输加密方式访问DCS。**
目前DCS Redis 6.0/7.0基础版实例支持SSL链路传输加密，其他Redis版本暂不支持，建议优先选择Redis 6.0/7.0基础版实例，并启用SSL功能。具体操作请参见[配置Redis SSL数据加密传输](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-023129.html)。
图3实例SSL设置   
![](https://support.huaweicloud.com/bestpractice-dcs/zh-cn_image_0000001790495166.png "点击放大")
 #### 审计是否存在异常数据访问
1. **开启云审计服务，记录DCS的所有访问操作，便于事后审查** 。
   云审计服务（Cloud Trace Service，CTS），是华为云安全解决方案中专业的日志审计服务，提供对各种云资源操作记录的收集、存储和查询功能，可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。
   您开通云审计服务并创建和配置追踪器后，CTS可记录DCS的管理事件和数据事件用于审计。详情请参见[查看DCS审计日志](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713012.html)。
   
2. **使用云监控服务对安全事件进行实时监控和告警** 。
   您在使用DCS的过程中也可能会遇到服务端返回的错误响应，为使您更好地掌握DCS实例状态，华为云提供了云监控服务（Cloud Eye）。您可使用该服务监控自己的DCS实例，执行自动实时监控、告警和通知操作，帮助您实时掌握DCS实例中所产生的请求、流量和错误响应等信息。
   云监控服务不需要开通，会在用户创建DCS实例后自动启动。相关文档请参见[DCS支持的监控指标](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713011.html)、[配置DCS监控告警](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-190905001.html)。
   
 
 #### 使用最新版本SDK获得更好的操作体验和更强的安全能力
建议客户升级SDK并使用最新版本，从客户侧对您的数据和DCS使用过程提供更好的保护。最新版本SDK在各语言对应界面下载，请参见[++DCS SDK++](https://support.huaweicloud.com/sdkreference-dcs/dcs-sdk-220321.html)。
 #### 通过其他云服务进一步增强对数据的安全防护
**启用安全云脑（SecMaster）保障DCS资源安全**
安全云脑通过"安全上云合规检查1.0"、"等保2.0三级要求"、"护网检查"三种基线规则，检测DCS关键配置项，告警提示存在安全隐患的配置，并提供相应配置加固建议和帮助指导。您可以通过安全云脑的资源管理功能，快速了解到DCS安全状况等信息，帮助您定位安全风险问题。详情请参见[++基线检查概述++](https://support.huaweicloud.com/usermanual-secmaster/secmaster_02_0028.html)。
