修復方案:
因Memcached無權限控制功能,所以需要用戶對訪問來源進行限制。
以下為具體的Memached 服務加固方案:
1.配置訪問控制
建議用戶不要講服務發布到互聯網上被黑客利用,可以通過安全組規則或iptables配置訪問控制規則。
iptables -A INPUT -p tcp -s 192.168.0.2 —dport 11211 -j ACCEPT
上述規則的意思是只允許192.168.0.2這個ip對11211端口進行訪問。
2.—bind 制定監聽IP
如果Memcached沒有在外網開放的必要,可在Memcached啟動的時候指定綁定的ip地址為 127.0.0.1。例如:
memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
3.最小化權限運行
使用普通權限賬號運行,以下指定memcached 用戶運行
memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
4.修改默認端口
修改默認11211監聽端口為11222端口:
memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11222 -c 1024 -P /tmp/memcached.pid
參數說明:
-d選項是啟動一個守護進程;
-m是分配給Memcached使用的內存數量,單位是MB,我這里是100MB;
-u是運行Memcached的用戶,推薦單獨普通權限用戶:memcached,不要使用root權限賬戶;
-l是監聽的服務器IP地址我這里指定了服務器的IP地址x.x.x.x;
-p是設置Memcached監聽的端口,我這里設置了11211,最好是1024以上的端口;
-c選項是最大運行的並發連接數,默認是1024,我這里設置了512,按照你服務器的負載量來設定;
-P是設置保存Memcached的pid文件,我這里是保存在 /tmp/memcached.pid;
5.備份數據
為避免數丟失,升級前請做好備份,或ECS建立硬盤快照。