分布式缓存服务 DCS-DCS安全使用建议:通过访问控制,保护数据安全性

时间:2024-05-16 15:04:16

通过访问控制,保护数据安全性

正确的使用DCS提供的访问控制能力,可以有效预防您的数据被异常窃取或者破坏。

  1. 建议对不同角色的IAM用户仅设置最小权限,避免权限过大导致数据泄露或被误操作

    为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限,详情请参见DCS权限管理

  2. 建议配置白名单或安全组访问控制,保护您的数据不被异常读取和操作

    租户创建DCS实例后,可以通过配置白名单或安全组的方式进行访问控制。租户配置IP白名单或安全组的入方向、出方向规则限制,可以控制连接实例的网络范围,避免DCS暴露给不可信第三方

    Redis 4.0、Redis 5.0和Redis 6.0基础版通过白名单控制,请参考配置白名单

    Redis 6.0企业版通过配置安全组访问规则控制,请参考配置安全组。安全组入方向规则的“源地址”应避免设置为0.0.0.0/0。

  3. 建议不使用高危命令,避免攻击者直接对Redis进行致命性破坏

    为避免攻击者直接对Redis进行致命性破坏,如果业务没有使用场景,建议通过命令重命名的方式对其进行禁用, 相关列表请参见默认禁用的命令列表支持重命名的命令列表

  4. 建议使用非默认端口,避免端口被扫描攻击

    Redis Server监听的端口默认为6379,容易被扫描攻击,建议将端口设置为非默认端口。支持修改的端口范围:1~65535之间的其它端口号。详情请参见自定义或修改端口

  5. 建议限制Redis客户端最大连接数,通过限制使用的资源,降低资源耗尽和拒绝服务风险

    Redis的maxclients参数决定了实例最大支持同时连接的客户端个数,默认值为10000,设置范围为1000~50000。如果超过自定义的连接数阈值,新的连接请求将被拒绝。

    建议根据应用的具体使用场景设置合适的客户端最大连接数,限制资源耗尽和拒绝服务的可能性。修改maxclients参数请参见修改配置参数

  6. 建议限制Redis连接闲置等待时间,根据业务实际场景来设置具体时间

    为避免client空闲连接长时间占用资源,可在控制台界面配置闲置等待时间(timeout参数),设置超时阈值后,将在连接空闲指定的秒数后关闭客户端连接。timeout默认值为0,表示服务端不会主动断开客户端的空闲连接。设置范围为0~7200,单位:秒。

    建议根据应用的具体使用场景设置实际闲置等待时间,不建议将timeout设置为0。例如,可以将timeout设置为3600秒。避免出现资源耗尽和拒绝服务的可能性。修改timeout参数请参见修改配置参数

  7. 建议将访问DCS实例方式设置为密码访问,防止未经认证的客户端误操作实例。达到对客户端进行认证访问的目的,提高实例使用的安全性。

    您可以在购买Redis实例时进行设置访问密码,也可以对已创建的免密实例进行密码重置

  8. 建议为DCS实例配置ACL访问控制权限。

    DCS管理员可以为实例创建只读账号或者读写账号,用于不同业务场景下访问DCS的精细管控。

  9. 建议不同的业务使用不同的DCS实例,避免实例故障影响多个业务
support.huaweicloud.com/bestpractice-dcs/dcs-bp-22129.html