Memcached及Memcached安全配置
筆者寫這篇文章主要是由於之前Memcached的安全漏洞導致github被大規模DDos事情。
報道錯誤,還全網瘋狂的傳播,根本沒有一個人意識到錯誤,把人家名字都搞錯了,memcrashed不知道是誰第一個寫錯的(據我估計是360開始的),然後就生生給杜撰了一個新服務。所以筆者覺的有義務給業界正正風,清下源,做安全就老老實實做點實際做點事情,學點知識,而不是天天炒雞蛋蓋飯,有啥意思?好了步入正題。
Memcached簡介
Memcached 是一個免費開源、高性能、分散式內存對象緩存系統,主要用於做為關係資料庫的緩存,用來加速應用程序的訪問,減輕主資料庫的壓力。Memcached 是一個內存key-value存儲,主要存儲字元串或者小的對象等資料庫調用,API調用或者頁面渲染結果的數據。Memcached立足於簡單、快速部署,可以解決大型資料庫緩存的各種問題。
Memcached同時又非常強大,支持包括C/C , PHP, Java, Python, Ruby, Perl, Erlang, Lua等語言調用。
Memcache是danga的一個項目,最早是LiveJournal 服務的,最初為了加速 LiveJournal 訪問速度而開發的,後來由於其強勁的性能和快捷而又強大功能使得被大型網站(曾經包括twitter,facebook)所採納而廣泛使用。
Memcached在業界廣泛應用,除了開發者LiveJournal自己外還有Wikipedia、Flickr、Bebo,WordPress.com,Craigslist、 Mixi也在使用。
後來tweitter基於Memcached 1.4重度修改開發了twemcache 。facebook也修改開發出來自己的McDipper。
Memcache安裝和啟動
我們第一部分也說了,memcached優點之一就是安裝部署方便,安裝過程非常簡單(以centos為例,其他發行版請適當修改包管理工具的命令)。
1、安裝memcache服務端:
yum install memcached
2、服務啟動:
/usr/bin/memcached –d -u memcached -p 11211 –U 0 -l 監聽的IP地址 -m 64m -c 512
參數說明:
-d選項是啟動一個守護進程;
-m是分配給Memcache使用的內存數量,單位是MB,我們設置64MB;
-u是運行Memcache的用戶,我們設置memcached;
-l是監聽的伺服器IP地址,如果本機使用監聽為127.0.0.1,如果不指定默認是0.0.0.0:11211,會對所有地址開放;
-p是設置Memcache監聽的tcp埠,默認是11211,最好是1024以上的埠;
-U 是設置Memcache監聽的udp埠,默認是11211;
如果不設置-p -U的話的默認是啟動tcp和udp,監聽11211埠;
-c選項是最大運行的並發連接數,默認是1024,我們設置512;
-P是設置保存Memcache的pid文件;
3、關閉memcache服務
kill `cat /tmp/memcached.pid`
kill Pid
Memcached 基本操作
1、查看狀態:
telnet 127.0.0.1 11211
在telnet界面輸入stats和version(查看版本)
說明:
uptime:memcached運行的秒數
cmd_get:查詢緩存的次數。
cmd_set:設置key=
TAG:會飛的小胖 |