Redis端口如何修改与保护
一、Redis端口修改步骤
- 
找到配置文件 
 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)定位文件。
 
- Linux系统默认路径为
- 
修改端口参数 
 使用文本编辑器(如Linux的vim/nano、Windows的记事本)打开redis.conf,找到port配置项(默认值为6379),将其修改为非标准端口(建议选择1024-65535之间的未被占用的端口,避免使用常见服务端口如22、80、443等)。例如:port 6380 # 修改为自定义端口注:若需临时测试,也可通过命令行参数启动Redis(不推荐生产环境): redis-server --port 6380,但此方式重启后失效。
- 
重启Redis服务 
 修改配置文件后,需重启服务使更改生效:- Linux系统(使用systemd):sudo systemctl restart redis # 或 sudo systemctl restart redis.service
- Windows系统:通过任务管理器结束redis-server.exe进程,再重新启动redis-server.exe redis.windows.conf(确保指向修改后的配置文件)。
 
- Linux系统(使用systemd):
- 
验证端口修改 
 使用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端口保护措施
- 
设置强密码认证 
 端口修改后,必须启用密码认证以防止未授权访问:- 编辑redis.conf,找到requirepass配置项(默认被注释),取消注释并设置复杂密码(长度≥16位,包含大小写字母、数字、特殊字符,如YourStrongPassword@2025)。例如:requirepass YourStrongPassword@2025
- 重启Redis服务使密码生效,连接时需通过-a参数输入密码:redis-cli -p 6380 -a YourStrongPassword@2025
 注:密码需定期更换(建议每90天),避免长期使用同一密码。 
- 编辑
- 
限制网络访问范围 
 避免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),否则会增加被扫描攻击的风险。
- 编辑
- 
禁用危险命令 
 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,避免误操作或恶意破坏。
 
- 编辑
- 
启用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加密可防止中间人攻击,建议在公网环境下强制启用。 
- 申请SSL证书(如Let’s Encrypt免费证书),获取
- 
配置防火墙规则 
 无论是否修改端口,都应通过防火墙限制对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的连接请求。
 
- Linux(ufw):允许特定IP访问Redis端口(如6380):
- 
使用非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用户运行。
 
- 创建Redis专用用户(如
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Redis端口如何修改与保护
本文地址: https://pptw.com/jishu/740224.html
