首页主机资讯Redis端口如何修改与保护

Redis端口如何修改与保护

时间2025-10-31 19:17:04发布访客分类主机资讯浏览1181
导读:一、Redis端口修改步骤 找到配置文件 Redis配置文件redis.conf的位置因系统和安装方式而异: Linux系统默认路径为/etc/redis/redis.conf(部分发行版可能在/etc/下直接使用redis.conf...

一、Redis端口修改步骤

  1. 找到配置文件
    Redis配置文件redis.conf的位置因系统和安装方式而异:

    • Linux系统默认路径为/etc/redis/redis.conf(部分发行版可能在/etc/下直接使用redis.conf);
    • Windows系统通常位于Redis安装目录下(如C:\Program Files\Redis\redis.windows.conf)。
      可通过find / -name redis.conf 2> /dev/null(Linux)或手动搜索安装目录(Windows)定位文件。
  2. 修改端口参数
    使用文本编辑器(如Linux的vim/nano、Windows的记事本)打开redis.conf,找到port配置项(默认值为6379),将其修改为非标准端口(建议选择1024-65535之间的未被占用的端口,避免使用常见服务端口如22、80、443等)。例如:

    port 6380  # 修改为自定义端口
    

    注:若需临时测试,也可通过命令行参数启动Redis(不推荐生产环境):redis-server --port 6380,但此方式重启后失效。

  3. 重启Redis服务
    修改配置文件后,需重启服务使更改生效:

    • Linux系统(使用systemd):
      sudo systemctl restart redis  # 或 sudo systemctl restart redis.service
      
    • Windows系统:通过任务管理器结束redis-server.exe进程,再重新启动redis-server.exe redis.windows.conf(确保指向修改后的配置文件)。
  4. 验证端口修改
    使用redis-cli连接新端口,确认服务正常:

    redis-cli -p 6380  # 连接新端口
    127.0.0.1:6380>
         PING  # 发送PING命令,返回PONG表示成功
    

    同时,可通过netstat(Linux)或nmap(跨平台)检查端口是否监听:

    netstat -tuln | grep 6380  # Linux查看端口监听状态
    nmap -p 6380 localhost     # 跨平台扫描端口
    

    若旧端口(如6379)不再显示,说明修改成功。

二、Redis端口保护措施

  1. 设置强密码认证
    端口修改后,必须启用密码认证以防止未授权访问:

    • 编辑redis.conf,找到requirepass配置项(默认被注释),取消注释并设置复杂密码(长度≥16位,包含大小写字母、数字、特殊字符,如YourStrongPassword@2025)。例如:
      requirepass YourStrongPassword@2025
      
    • 重启Redis服务使密码生效,连接时需通过-a参数输入密码:
      redis-cli -p 6380 -a YourStrongPassword@2025
      

    注:密码需定期更换(建议每90天),避免长期使用同一密码。

  2. 限制网络访问范围
    避免Redis监听所有IP地址(0.0.0.0),仅允许信任的IP访问:

    • 编辑redis.conf,找到bind配置项,修改为特定IP(如内网IP192.168.1.100)或仅本机127.0.0.1。例如:
      bind 127.0.0.1 192.168.1.100  # 仅允许本机和内网IP访问
      
    • 若需公网访问,需结合防火墙规则(如iptables、ufw)限制访问源,仅允许特定IP段访问新端口:
      # Linux iptables示例:允许192.168.1.0/24访问6380端口,拒绝其他IP
      sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 6380 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 6380 -j DROP
      

    注:绝对禁止将Redis绑定到0.0.0.0(公网所有IP),否则会增加被扫描攻击的风险。

  3. 禁用危险命令
    Redis默认提供的高危命令(如FLUSHALL清空数据库、CONFIG修改配置、SHUTDOWN关闭服务)可能被恶意利用,需通过rename-command重命名或禁用:

    • 编辑redis.conf,添加以下配置:
      rename-command FLUSHALL ""       # 禁用FLUSHALL(空字符串表示禁用)
      rename-command CONFIG "b840fc02d524045429941cc15f59e41cb7be6c52"  # 重命名CONFIG为随机字符串
      rename-command SHUTDOWN "safe_shutdown"  # 重命名SHUTDOWN为安全名称
      
    • 重启Redis后,尝试执行原命令将返回ERR unknown command,避免误操作或恶意破坏。
  4. 启用TLS加密传输
    默认情况下,Redis通信是明文的,易被窃听或篡改。Redis 6.0及以上版本支持TLS加密,需配置证书并修改端口:

    • 申请SSL证书(如Let’s Encrypt免费证书),获取cert.pem(证书文件)和key.pem(私钥文件);
    • 编辑redis.conf,添加以下配置:
      tls-port 6380  # TLS加密端口(可与原端口不同)
      tls-cert-file /path/to/cert.pem
      tls-key-file /path/to/key.pem
      
    • 重启Redis后,客户端需使用-a(密码)和--tls(启用TLS)参数连接:
      redis-cli -p 6380 -a YourStrongPassword@2025 --tls
      

    注:TLS加密可防止中间人攻击,建议在公网环境下强制启用。

  5. 配置防火墙规则
    无论是否修改端口,都应通过防火墙限制对Redis端口的访问:

    • Linux(ufw):允许特定IP访问Redis端口(如6380):
      sudo ufw allow from 192.168.1.0/24 to any port 6380  # 允许内网IP访问
      sudo ufw deny 6380  # 拒绝其他IP访问
      sudo ufw enable  # 启用ufw
      
    • Windows(高级防火墙):创建入站规则,仅允许特定IP访问Redis端口(如6380),阻止其他IP的连接请求。
  6. 使用非root用户运行
    避免以root用户运行Redis,降低被攻击后的权限提升风险:

    • 创建Redis专用用户(如redis):
      sudo adduser --system --group --no-create-home redis  # 创建系统用户
      
    • 修改Redis数据目录和配置文件的所属用户:
      sudo chown -R redis:redis /var/lib/redis  # 数据目录
      sudo chown -R redis:redis /var/log/redis  # 日志目录
      sudo chown -R redis:redis /etc/redis/redis.conf  # 配置文件
      
    • 修改redis.conf,指定运行用户:
      user redis  # 添加此行
      
    • 重启Redis服务,通过ps -ef | grep redis确认进程以redis用户运行。

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


若转载请注明出处: Redis端口如何修改与保护
本文地址: https://pptw.com/jishu/740224.html
Redis日志如何查看与分析 如何配置Redis持久化策略

游客 回复需填写必要信息