码迷,mamicode.com
首页 > 系统相关 > 详细

memcache漏洞--被未授权访问,并作为肉鸡发动DDOS攻击

时间:2018-03-10 16:38:32      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:memcache   redis   linux   漏洞修复   

漏洞描述:
memcache是一套常用的key-value缓存系统,由于它本身没有权限控制模块,所以开放在外网的memcache服务很容易被攻击者扫描发现,通过命令交互可直接读取memcache中的敏感信息。

修复方案:
因memcache无权限控制功能,所以需要用户对访问来源进行限制。

方案一:

如果memcache没有在外网开放的必要,可在memcached启动的时候指定绑定的ip地址为 127.0.0.1。例如:

memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid

其中 -l 参数指定为本机地址。

方案二:设置防火墙规则,限制未被授权的连接(注意:请谨慎配置iptables规则)

[root@cp2-redismem01 ~]# cat /etc/firewalld/zones/redismem.xml 
<zone>
  <short>redis and memcached service</short>
  <description>.</description>
  <source address="192.168.xx.10/24"/>
  <service name="redismem"/>
  <service name="ssh"/>
</zone>
[root@cp2-redismem01 ~]# cat /usr/lib/firewalld/services/redismem.xml 
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>redis and memcache</short>
  <description>service of redis.service and memcached.service</description>
  <port protocol="tcp" port="11211"/>
  <port protocol="tcp" port="6379"/>
</service>

重启firewalld防火墙

iptables设置防火墙

如果memcache服务需要对外提供服务,则可以通过iptables进行访问控制,下面是只允许本机访问:

// 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

// 保存规则并重启 iptables
# service iptables save
# service iptables restart

上述规则的意思是只允许192.168.0.2这个ip对11211端口进行访问。

验证 memcache 端口11211开启情况
以IP(1.2.3.4)为例:

telnet 1.2.3.4 11211

无需用户名密码,可以直接连接memcache 服务的11211端口。

执行如下命令获得相应结果:

# stats  //查看memcache 服务状态
# stats items  //查看所有items
# stats cachedump 32 0  //获得缓存key
# get :state:264861539228401373:261588   //通过key读取相应value ,获得实际缓存内容,造成敏感信息泄露

memcache漏洞--被未授权访问,并作为肉鸡发动DDOS攻击

标签:memcache   redis   linux   漏洞修复   

原文地址:http://blog.51cto.com/jschu/2084852

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!