溫馨提示×

Ubuntu下Redis安全配置有哪些要點

小樊
35
2025-10-23 04:09:34
欄目: 云計算

Ubuntu下Redis安全配置要點

1. 啟用強身份驗證

配置密碼認證是防止未授權訪問的基礎。編輯Redis配置文件(/etc/redis/redis.conf),找到requirepass參數,取消注釋并設置強密碼(建議至少16位,包含大小寫字母、數字和特殊字符,定期更換)。修改后需重啟Redis服務使配置生效。驗證時通過redis-cli連接并執行AUTH your_password命令,成功后會返回OK。

2. 綁定特定IP地址

限制Redis僅監聽特定IP地址,減少暴露風險。修改bind參數,如僅允許本地訪問則設置為bind 127.0.0.1;若需要內網訪問,可添加內網IP(如bind 127.0.0.1 192.168.1.100),絕對禁止綁定0.0.0.0(會暴露給公網)。

3. 修改默認端口

默認端口6379易成為攻擊目標,建議更改為1024-65535之間的非標準端口(如6380)。修改port參數后,重啟Redis服務,并通過新端口連接(如redis-cli -p 6380)??赏ㄟ^nmap掃描舊端口確認已關閉。

4. 配置防火墻規則

使用Ubuntu的ufw防火墻限制訪問Redis端口的IP范圍。例如,允許內網IP段(192.168.1.0/24)訪問6380端口,拒絕其他IP:

sudo ufw allow from 192.168.1.0/24 to any port 6380
sudo ufw deny 6380

若使用iptables,可添加類似規則:iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 6380 -j ACCEPT; iptables -A INPUT -p tcp --dport 6380 -j DROP。

5. 禁用危險命令

重命名或禁用高風險命令(如FLUSHALL清空數據庫、CONFIG修改配置、SHUTDOWN關閉服務),防止惡意操作。在配置文件中添加:

rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG "b840fc02d524045429941cc15f59e41cb7be6c52"

若無需使用,可直接禁用(設置為空字符串)。驗證時執行相應命令會返回ERR unknown command。

6. 使用非root用戶運行Redis

避免以root用戶運行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

修改配置文件中的user參數為redis,重啟服務后Redis將以該用戶身份運行。

7. 限制客戶端連接數

通過maxclients參數限制最大客戶端連接數(如maxclients 100),防止資源耗盡攻擊(如大量連接導致內存溢出)。默認值為10000,可根據服務器性能調整。

8. 內存管理與過期策略

設置內存上限(maxmemory),避免Redis占用過多服務器內存(建議為系統總內存的80%,若為專用服務器可設為70%)。同時配置內存淘汰策略(maxmemory-policy),推薦使用allkeys-lru(移除最近最少使用的key)或volatile-lru(在設置了過期時間的key中移除最近最少使用的)。

9. 啟用日志與監控

開啟Redis日志記錄(logfile /var/log/redis/redis.log),便于追蹤異常操作。使用監控工具(如Redis Monitor、Prometheus+Grafana)實時監控性能指標(如內存使用率、連接數、命中率),并設置報警規則(如內存超過90%時報警)。

10. 定期更新與備份

保持Redis版本最新,及時修復已知漏洞(通過sudo apt update && sudo apt upgrade redis-server更新)。定期備份數據(如每日備份到/backup/redis目錄),可使用redis-cli save命令生成RDB文件,或配置AOF持久化(appendonly yes)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女