国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  云服務(wù)器 >  服務(wù)器教程 >  Memcached 端口11211 未授權訪(fǎng)問(wèn)漏洞防范

Memcached 端口11211 未授權訪(fǎng)問(wèn)漏洞防范

2018-03-05 13:32:02 6654

漏洞描述:
memcache是一套常用的key-value緩存系統,由于它本身沒(méi)有權限控制模塊,所以開(kāi)放在外網(wǎng)的memcache服務(wù)很容易被攻擊者掃描發(fā)現,通過(guò)命令交互可直接讀取memcache中的敏感信息。

修復方案:
因memcache無(wú)權限控制功能,所以需要用戶(hù)對訪(fǎng)問(wèn)來(lái)源進(jìn)行限制。

以下方案基于Linux CentOS:

方案一:(啟動(dòng)時(shí)綁定監聽(tīng)IP)

如果memcache沒(méi)有在外網(wǎng)開(kāi)放的必要,可在memcached啟動(dòng)的時(shí)候指定綁定的ip地址為 127.0.0.1。例如:

memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

其中 -l 參數指定為本機地址。

方案二:(修改默認監聽(tīng)端口)

更改memcached 默認監聽(tīng)端口為11211 以外的端口,以下以新端口19203為例:

memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 19203 -c 1024 -P /tmp/memcached.pid

參數說(shuō)明:

-d選項是啟動(dòng)一個(gè)守護進(jìn)程;

-m是分配給Memcached使用的內存數量,單位是MB,我這里是100MB;

-u是運行Memcached的用戶(hù),推薦單獨普通權限用戶(hù):memcached,不要使用root權限賬戶(hù);

-l是監聽(tīng)的服務(wù)器IP地址我這里指定了服務(wù)器的IP地址x.x.x.x;

-p是設置Memcached監聽(tīng)的端口,我這里設置了19203,最好是1024以上的端口;

-c選項是最大運行的并發(fā)連接數,默認是1024,我這里設置了512,按照你服務(wù)器的負載量來(lái)設定;

-P是設置保存Memcached的pid文件,我這里是保存在 /tmp/memcached.pid;

方案三:(配置防火墻訪(fǎng)問(wèn)控制)

如果memcache服務(wù)需要對外提供服務(wù),則可以通過(guò)iptables進(jìn)行訪(fǎng)問(wèn)控制,下面是只允許本機及外部IP 1.1.1.1訪(fǎng)問(wèn):

// accept
iptables -A INPUT -p tcp -s 127.0.0.1 --dport 11211 -j ACCEPT
iptables -A INPUT -p udp -s 127.0.0.1 --dport 11211 -j ACCEPT

iptables -A INPUT -p tcp -s 1.1.1.1 --dport 11211 -j ACCEPT
iptables -A INPUT -p udp -s 1.1.1.1 --dport 11211 -j ACCEPT

// drop
iptables -I INPUT -p tcp --dport 11211 -j DROP
iptables -I INPUT -p udp --dport 11211 -j DROP

// 保存規則并重啟 iptables
service iptables save
service iptables restart

上述規則的意思是只允許本機及外部IP 1.1.1.1 對11211端口進(jìn)行訪(fǎng)問(wèn),如已經(jīng)變更默認監聽(tīng)端口,請變更--dport 的端口為新端口。

驗證 memcache 端口11211開(kāi)啟情況:
以memcached 服務(wù)器IP(2.2.2.2),外部IP 1.1.1.1,在外部IP 服務(wù)器上運行telnet檢測為例:

telnet 2.2.2.2 11211

無(wú)需用戶(hù)名密碼,1.1.1.1可以直接連接memcache 服務(wù)(2.2.2.2)的11211端口。

方案四:(最小化權限運行)

使用普通權限賬號運行,以下指定memcached 用戶(hù)運行

memcached -d -m 1024 -u memcached -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

方案五:(升級為最新版本)

在編譯安裝memcached程序時(shí)添加-enable-sasl選項,并且在啟動(dòng)memcached服務(wù)程序時(shí)添加-S參數,啟用SASL認證機制以提升memcached的安全性

執行如下命令獲得相應結果:

# stats  //查看memcache 服務(wù)狀態(tài)
# stats items  //查看所有items
# stats cachedump 32 0  //獲得緩存key
# get :state:264861539228401373:261588   //通過(guò)key讀取相應value ,獲得實(shí)際緩存內容,造成敏感信息泄露


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->