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  




参考文章:http://drops.wooyun.org/papers/865

参考文章:http://blog.csdn.net/zyz511919766/article/details/42268219

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