首页主机资讯Debian Redis安全设置怎么做

Debian Redis安全设置怎么做

时间2025-11-20 00:13:04发布访客分类主机资讯浏览937
导读:Debian 上 Redis 的安全设置清单 一 网络与访问控制 仅监听必要接口:在 /etc/redis/redis.conf 设置 bind 127.0.0.1 -::1(仅本机),如确需对外,改为内网地址(如 bind 192.16...

Debian 上 Redis 的安全设置清单

一 网络与访问控制

  • 仅监听必要接口:在 /etc/redis/redis.conf 设置 bind 127.0.0.1 -::1(仅本机),如确需对外,改为内网地址(如 bind 192.168.1.100),避免暴露在公网。必要时可设置 bind-source-addr 10.0.0.1 规范出站源地址。
  • 保护模式:保持 protected-mode yes,在未设置密码且允许远程连接时,仅放行 127.0.0.1/::1/Unix socket,降低误暴露风险。
  • 端口与协议:默认端口 6379;如启用 TLS,可配置 tls-port 6379 并指定证书,否则建议仅在内网使用。
  • 防火墙:使用 ufw/iptables 限制来源,例如仅允许 192.168.1.0/24 访问 6379/tcp
    • ufw:sudo ufw allow from 192.168.1.0/24 to any port 6379 proto tcp
    • 或仅本地:sudo ufw deny 6379/tcp
  • 本地套接字:如启用 unixsocket /run/redis.sock,将权限设为 unixsocketperm 700,仅 redis 用户可读写。

二 身份与命令安全

  • 强口令认证:设置 requirepass < 强密码> (示例:Complex@Pass2024),客户端需 AUTH 后才能执行命令。
  • 危险命令重命名/禁用:通过 rename-command 隐藏或禁用高危命令,例如:
    • rename-command FLUSHALL “”
    • rename-command CONFIG “”
  • 精细化权限(Redis ≥ 6.0):使用 ACL 为不同应用分配最小权限,例如只读用户:
    • ACL SETUSER reader on > reader123 allkeys +get +scan +ping
    • 写入用户:ACL SETUSER writer on > writer123 allkeys +set +get +del
  • 连接示例:redis-cli -h -p -a (生产环境避免命令行明文密码,可用配置文件或凭据管理)。

三 传输与持久化安全

  • 加密传输:启用 TLS/SSL 防止明文泄露,配置示例:
    • tls-port 6379
    • tls-cert-file /path/to/cert.pem
    • tls-key-file /path/to/key.pem
    • tls-ca-cert-file /path/to/ca.crt
      注意:Redis 启用 TLS 需在编译时加入 BUILD_TLS=yes 并安装 libssl-dev
  • 持久化与目录安全:将 dir 指向受限目录(如 /var/lib/redis),并确保运行用户对该目录拥有独占权限;避免将 dir 指向 Web 可写目录,防止被写入恶意 .rdb 文件导致代码执行。

四 系统与运维安全

  • 最小权限运行:确保 Redis 以 redis 系统用户运行(Debian 包通常默认如此),不要以 root 运行。
  • 文件权限收紧:
    • chmod 700 /etc/redis/redis.conf
    • chmod 700 /var/lib/redis
    • chown -R redis:redis /etc/redis /var/lib/redis
  • 更新与补丁:定期执行 sudo apt update & & sudo apt upgrade redis-server,及时获取安全修复。
  • 监控与备份:定期查看日志与慢查询,制定 RDB/AOF 备份与恢复演练,确保可快速回滚。

五 快速检查清单与示例配置

  • 快速检查清单

    • [ ] 仅内网监听(bind/防火墙/必要时 Unix socket)
    • [ ] 已设置强口令或启用 ACL
    • [ ] 已禁用/重命名 FLUSHALL、CONFIG 等高危命令
    • [ ] 对外通信已启用 TLS(或明确仅内网明文)
    • [ ] 运行用户为 redis,配置与数据目录权限为 700
    • [ ] 定期更新与备份策略到位
  • 最小安全示例(/etc/redis/redis.conf 片段)

    • bind 127.0.0.1 -::1
    • protected-mode yes
    • port 6379
    • requirepass Complex@Pass2024
    • rename-command FLUSHALL “”
    • rename-command CONFIG “”
    • unixsocket /run/redis.sock
    • unixsocketperm 700
    • dir /var/lib/redis
    • logfile /var/log/redis/redis-server.log
  • 使配置生效

    • sudo systemctl restart redis-server
    • 验证:redis-cli ping → 返回 PONG(如配置了密码,先 AUTH)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian Redis安全设置怎么做
本文地址: https://pptw.com/jishu/751760.html
MongoDB日志文件在Debian中如何查看 Debian Redis端口怎么修改

游客 回复需填写必要信息