摘要:memcache是一種實(shí)用key-value緩存系統(tǒng)秦陋,在緩存數(shù)據(jù)方面使用還是比較多,但是省核,它本身沒有權(quán)限控制模塊(不像redis有密碼驗(yàn)證)墩虹,開放在外網(wǎng)的memcache服務(wù)很容易被攻擊者掃描發(fā)現(xiàn),通過命令可以直接讀取memcache數(shù)據(jù)授嘀。
memcache是一種實(shí)用key-value緩存系統(tǒng)物咳,在緩存數(shù)據(jù)方面使用還是比較多,但是蹄皱,它本身沒有權(quán)限控制模塊(不像redis有密碼驗(yàn)證)览闰,開放在外網(wǎng)的memcache服務(wù)很容易被攻擊者掃描發(fā)現(xiàn),通過命令可以直接讀取memcache數(shù)據(jù)巷折。
我們可以使用telnet命令直接連接一個沒有防護(hù)的memcached(假定以IP200.200.200.200為例)
telnet??200.200.200.200?11211
telnet 200.200.200.200 ?11211
Trying 200.200.200.200...
Connected to 200.200.200.200.
Escape character is '^]'.
stats
STAT pid 23710
STAT uptime 948
STAT time 1501241084
STAT version 1.4.25
STAT libevent 1.4.13-stable
STAT pointer_size 64
STAT rusage_user 0.014997
STAT rusage_system 0.013997
STAT curr_connections 5
STAT total_connections 7
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
#?stats??//查看memcache?服務(wù)狀態(tài)
#?stats?items??//查看所有items
#?stats?cachedump?32?0??//獲得緩存key
#?get?:state:264861539228401373:261588???//通過key讀取相應(yīng)value?压鉴,獲得實(shí)際緩存內(nèi)容,造成敏感信息泄露
很明顯如果memcached這個漏洞不去補(bǔ)好锻拘,非法入侵者將會輕松的獲取到你的緩存數(shù)據(jù)油吭。
在這里提出兩個方法:
1、如果memcache不需要開放在外網(wǎng)署拟,可在memcached啟動的時候指定ip地址為 127.0.0.1婉宰。例如:
memcached?-d?-m?512?-u?root?-l?127.0.0.1?-p?11211?-c?1024?-P
/tmp/memcached.pid
2、如果memcache需要對外提供服務(wù)芯丧,則可以通過iptables進(jìn)行訪問控制芍阎,下面是只允許本機(jī)訪問:
// 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
// drop
# iptables -I INPUT -p tcp --dport 11211 -j DROP
# iptables -I INPUT -p udp --dport 11211 -j DROP
// 保存規(guī)則并重啟 iptables
# service iptables save
# service iptables restart
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),本社區(qū)不擁有所有權(quán)缨恒,也不承擔(dān)相關(guān)法律責(zé)任谴咸。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,歡迎發(fā)送郵件至:yqgroup@service.aliyun.com進(jìn)行舉報(bào)骗露,并提供相關(guān)證據(jù)岭佳,一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容萧锉。