更新时间:2024-07-29 GMT+08:00

Redis的安全加固方面有哪些建议?

在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,但是原生Redis版本在安全方面非常薄弱,很多地方不满足安全要求,如果暴露在公网上,极易受到恶意攻击,导致数据泄露和丢失。

针对DCS的Redis实例,您在使用过程中,可参考如下建议:

  • 网络连接配置
    1. 敏感数据加密后存储在Redis实例。

      对于敏感数据,尽量加密后存储。

    2. 对安全组设置有限的、必须的允许访问规则。

      安全组与VPC均是用于网络安全访问控制的配置,以端口最少放开原则配置安全组规则,降低网络入侵风险。

    3. 客户端应用所在ECS设置防火墙。

      客户端应用所在的服务器建议配置防火墙过滤规则。

    4. 设置实例访问密码。
    5. 配置实例白名单。
  • Redis-cli使用
    1. 隐藏密码

      安全问题:通过在redis-cli指定-a参数,密码会被ps出来,属于敏感信息。

      解决方案:修改Redis源码,在main方法进入后,立即隐藏掉密码,避免被ps出来。

    2. 禁用脚本通过sudo方式执行

      安全问题: redis-cli访问参数带密码敏感信息,会被ps出来,也容易被系统记录操作日志。

      解决方案:改为通过API方式(Python可以使用redis-py)来安全访问,禁止通过sudo方式切换到dbuser账号使用redis-cli。