建议的安全做法
Redis 企业软件 |
---|
部署安全性
将 Redis Enterprise Software 部署到生产环境时,我们建议采用以下做法:
-
在受信任的网络中部署 Redis Enterprise:Redis Enterprise 是数据库软件,应部署在公共互联网无法访问的受信任网络上。将 Redis Enterprise 部署在受信任的网络中,可以降低他人未经授权访问您的数据或管理您的数据库配置的可能性。
-
实施防病毒排除项:为确保扫描文件或拦截进程以保护内存的防病毒解决方案不会干扰 Redis Enterprise 软件,您应确保在一致的策略中在其 Redis Enterprise 集群中的所有节点上实施防病毒排除项。这有助于确保防病毒软件不会影响 Redis Enterprise 集群的可用性。
如果要替换现有的防病毒解决方案或安装/支持 Redis Enterprise,请确保排除以下路径:
注意:对于拦截进程的防病毒解决方案,可能必须直接排除二进制文件,具体取决于防病毒供应商的要求。路径 描述 /opt/redislabs 所有 Redis Enterprise Software 二进制文件的主安装目录 /opt/redislabs/bin 中 用于命令行访问和管理的所有实用程序的二进制文件,例如 “rladmin” 或 “redis-cli” /opt/redislabs/config 中 系统配置文件 /opt/redislabs/lib 中 系统库文件 /opt/redislabs/sbin 用于调整预置的系统二进制文件 -
将日志发送到远程日志记录服务器:Redis Enterprise 配置为默认将日志发送到 syslog。要将这些日志发送到远程日志记录服务器,您必须根据远程日志记录服务器供应商的要求配置 syslog。远程日志记录有助于确保日志不被删除,以便您可以轮换日志以防止服务器磁盘填满。
-
部署具有奇数个 3 个或更多节点的集群:Redis 是一个可用且可容忍分区的数据库。我们建议将 Redis Enterprise 部署在具有奇数个 3 个或更多节点的集群中,以便在发生故障时能够成功进行故障转移。
-
按顺序重启节点,而不是一次重启所有节点:最佳实践是经常维护重启计划。如果一次重启太多服务器,则可能会导致仲裁失败,从而导致数据库可用性丢失。我们建议分阶段重新启动,以便 quorum 不会丢失。例如,要在 3 节点集群中保持仲裁,必须至少有 2 个节点始终处于启动状态。在任何给定时间,只应重新启动一台服务器以保持仲裁。
-
实施客户端加密:客户端加密,即在将数据存储到数据库(如 Redis)之前对应用程序中的数据进行加密的做法,是实现内存加密的最广泛采用的方法。Redis 是一个内存数据库,将数据存储在内存中。如果您需要内存加密(更广为人知的是使用中加密),那么客户端加密可能是适合您的解决方案。请注意,需要对数据进行作的数据库函数(例如简单搜索函数、比较和增量作)不适用于客户端加密。
群集安全性
-
控制对系统的访问级别:Redis Enterprise 允许您决定哪些用户可以访问集群,哪些用户可以访问数据库,以及哪些用户可以同时访问这两者。我们建议阻止数据库用户访问集群。有关更多信息,请参阅访问控制。
-
启用 LDAP 身份验证:如果您的组织使用轻量级目录访问协议 (LDAP),我们建议为 Redis Enterprise Software 启用基于角色的 LDAP 身份验证支持。
-
API 终端节点需要 HTTPS:Redis Enterprise 附带一个 REST API 来帮助自动执行任务。此 API 可用于加密和未加密终端节点,以实现向后兼容性。您可以禁用未加密的终端节点,而不会丢失功能。
数据库安全性
Redis Enterprise 提供了多种数据库安全控制措施,以帮助保护您的数据免受未经授权的访问,并提高数据库的运行安全性。以下部分详细介绍了可用于实施的可配置安全控制。
-
使用强 Redis 密码:安全行业经常建议使用强密码对用户进行身份验证。这有助于防止针对数据库的暴力密码猜测攻击。检查您的密码是否符合您组织的安全策略非常重要。
-
停用默认用户访问权限:Redis Enterprise 附带一个“默认”用户,以便向后兼容使用 Redis Enterprise 6 之前的 Redis 版本设计的应用程序。默认情况下,默认用户处于打开状态。这允许您在不指定用户名的情况下访问数据库,并且仅使用共享密钥。对于设计为使用访问控制列表的应用程序,我们建议您停用默认用户访问权限。
-
配置传输层安全性 (TLS):与控制平面类似,您也可以配置 TLS 协议来帮助支持您的安全性和合规性需求。
-
启用客户端证书身份验证:为了防止未经授权访问您的数据,Redis Enterprise 数据库支持 TLS 协议,其中包括身份验证和加密。客户端证书认证可用于确保只有获得授权的主机才能访问数据库。
-
安装可信证书:Redis 为数据库代理和复制服务实施自签名证书,但许多组织更喜欢使用自己的证书。
-
配置和验证数据库备份:实施灾难恢复策略是数据安全的重要组成部分。Redis Enterprise 支持将数据库备份到多个目标。