以下是幾種常見的 Redis 安全加固方法:
設置密碼認證:在 Redis 配置文件中設置 requirepass 參數,為 Redis 實例設置訪問密碼,只有提供正確的密碼才能進行訪問。
# 在配置文件中設置密碼
requirepass yourpassword
啟用密碼認證后,客戶端連接 Redis 實例時需要提供密碼才能進行操作。
設置綁定 IP:在 Redis 配置文件中設置 bind 參數,將 Redis 實例綁定到指定的 IP 地址上,限制只有指定 IP 地址的客戶端才能連接。
# 在配置文件中設置綁定 IP
bind 127.0.0.1
這樣只有本地的客戶端可以連接 Redis,其他 IP 地址無法連接。
禁用危險命令:在 Redis 配置文件中設置 rename-command 參數,將某些危險的命令重命名,或者通過設置 rename-command 參數禁用特定的命令,從而防止惡意用戶執行危險操作。
# 在配置文件中重命名危險命令
rename-command FLUSHALL ""
這樣就將 FLUSHALL 命令重命名為空字符串,禁用了該命令。
使用防火墻限制訪問:使用防火墻,如 iptables,配置規則僅允許特定 IP 地址或 IP 段訪問 Redis 端口。
# 僅允許特定 IP 地址訪問 Redis 端口
sudo iptables -A INPUT -p tcp -s 192.168.0.1 --dport 6379 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 6379 -j DROP
這樣只有 IP 地址為 192.168.0.1 的客戶端可以訪問 Redis 端口,其他 IP 地址無法訪問。
使用非默認端口:將 Redis 監聽的端口修改為非默認的端口,如將默認的 6379 端口修改為其他端口,減少被自動掃描的風險。
# 在配置文件中設置監聽端口
port yourport
修改配置文件中的 port 參數為其他非常用端口。
這些方法可以幫助加強 Redis 的安全性,但請注意,安全加固只是一種輔助手段,還應該注意保持 Redis 版本的更新,并采取其他安全措施,如定期備份數據、定期審查訪問日志等。