天天看點

Memcached與Redis安全性的問題

Memcached是老牌的緩存工具,Redis是新生代緩存軟體的代表,原本他倆的設計初衷都是資料庫軟體,但是由于都是在記憶體裡進行活動,反應速度很快,是以都被不約而同的拿來當做緩存軟體使用。現在Redis有隐隐超越老大哥的趨勢,我所在的公司也開始逐漸的擴大Redis的範圍,但是Memcached還是有一定的影響力,該學還是要學。

這倆個緩存軟體預設都是沒有賬号密碼的,這樣怎麼得了?卧榻之側,豈容他人鼾睡?如何能提升這兩位大爺的安全性?

先說Memcached

Memcached的伺服器與web伺服器肯定要内網連接配接!也就是說web伺服器上有兩個網卡,一個公網網卡是用來接客的,而内網的網卡就是用來連接配接Memcached緩存伺服器,在Memcached啟動的時候就指明其對應的web伺服器,

# memcached -d -m 1024 -u root -l 192.168.0.55 -p 11211 -c 1024 -P /tmp/memcached.pid,這個指令意思就是memcached啟動一個守護程序,以root啟動,同時占用記憶體為1024M,與192.168.0.55的11211端口相連接配接,同時限制并發數量是1024個,pid檔案指明是/tmp/memcached.pid。

内網通路是一種方法,如果還不放心,那麼就設定一下iptables,确定隻有固定的ip可以tcp/udp ACCEPT,其他的ip一律都DROP。

再說Redis

Redis提升安全性的途徑主要就是修改其配置檔案,#vim /usr/local/redis/etc/redis.conf,裡面有bind 127.0.0.1,這個意思是綁定隻有本機可以通路redis。

或者找到requirepass,在後面加上密碼,比如寫成requirepass myRedis。然後在登陸的時候要直接輸入密碼,比如#./redis-cli -h 127.0.0.1 -p 6379 -a myRedis,然後重新開機一下redis即可。如果在啟動redis時候沒有加上密碼的話,進行一切操作都是提示錯誤。

若master配置了密碼則slave也要配置相應的密碼參數否則無法進行正常複制的。slave中配置檔案内找到如下行,移除注釋,修改密碼即可。

#masterauth  mstpassword  

參考文章:https://bbs.aliyun.com/read/163915.html

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1794333