您的位置:首页 > 数据库 > Memcache

linux上memcache安全问题处理

2016-07-29 00:00 197 查看
使用了memcached,那就不可避免的需要解决安全问题。对于大公司,你外边一个F5做屏障,内部都使用的是内网ip,负载的服务器不会有被外部访问的问题,但是也免不了被内部人做手脚。对于小公司,可能你连F5没有,做的是软件方面的负载,这样你的缓存服务器的端口对外开发,也是很危险,我直接telnet上去,来几个add和delete操作,你的业务系统就玩完了。我们理想的做法就是对memcache的访问做限制。

做安全配置之前有个问题需要明确,我们默认安装的memcahced服务器是使用的tcp协议(虽然也支持udp协议,但是用的少,需要配置。这里请参看安装文件下的protocol.txt文件),而java版本的mecached服务器是使用socket来编码的(请看官方java客户端源码)。所以我们只需要配置tcp的安全就ok了。

具体做法就是,将你负载均衡的多个机器(也可能是单台服务器,如果你是单台服务器,你用memcache做缓存还不如用其他的缓存服务器呢)的ip列出来。

接下来有两种方案:

1、设置linux的iptables,来设定哪些机器之间是可以互相通过tcp协议访问的

2、使用tcpd(tcpwrapper)来设定哪些机器可以互访

第一种方案比较省事,第二种方案,我没试验过,可能需要你来将memcache配置成系统服务器,然后在/etc/hosts.deny,/etc/hosts.allow中进行配置才行,然后重启网络服务才能生效

这样只有在被信任的ip上才能使用telnet来访问我们的缓存服务器啦。

备注: tcpwrapper又称TCPD, 是网络服务的访问控制工具,也就是能过滤客户端的各种server的一个前台程序。不过有一个不好的地方就是:不适合用于UDP服务!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: