防止Memcached的DDOS攻击另外一个思路

3月3日,国家互联网应急中心通报了一条消息 关于利用memcached服务器实施反射DDoS攻击的情况通报 通告了 memcached 服务器漏洞被黑客利用的情况,笔者的一台服务器也存在漏洞,因此将漏洞封堵的方法与大家分享一下。

攻击的原理

memcached反射攻击利用了在互联网上暴露的大批量memcached服务器(一种分布式缓存系统)存在的认证和设计缺陷,攻击者通过向memcached服务器IP地址的默认端口11211发送伪造受害者IP地址的特定指令UDP数据包(stats、set/get指令),使memcached服务器向受害者IP地址反射返回比原始数据包大数倍的数据(理论最高可达5万倍,通过持续跟踪观察攻击流量平均放大倍数在100倍左右),从而进行反射攻击。

本来Memcached提供的缓存服务应该只是对内部访问的,因此就设置了所有地址可访问,安全限制上就比较弱,黑客就利用这个特点,专门在互联网上找开放端口的 Memcached...

The web page caching utility was never designed to be internet-accessible and requires no authentication to access. But some administrators - as well as some Linux instances by default - have left TCP or UDP port 11211 open to internet-borne requests.

处置办法

互联网应急中心给出了3条建议:

1、在memcached服务器或者其上联的网络设备上配置防火墙策略,仅允许授权的业务IP地址访问memcached服务器,拦截非法的非法访问。 2、更改memcached服务的监听端口为11211之外的其他大端口,避免针对默认端口的恶意利用。 3、升级到最新的memcached软件版本,配置启用SASL认证等权限控制策略(在编译安装memcached程序时添加-enable-sasl选项,并且在启动memcached服务程序时添加-S参数,启用SASL认证机制以提升memcached的安全性)。

我分析了一下,1 需要单位从整体的网络策略上进行调整,但是系统管理员负责的这部分职责还是要继续落实;2 需要修改端口,势必设计应用端的修改,我觉得算不上是上策;3 需要升级到最新版本,升级后应用是否会有问题还需要测试验证。

经过仔细分析后,发现 memcached 支持一个 -l 参数,允许指定监听的地址,默认是 0.0.0.0 也就是允许所有的地址链接。我们可以通过修改-l参数,绑定本地地址,这样就可以避免被外部攻击了。但是这里有个问题,一般缓存服务器是供前端或其它服务器公共调用的,一般不是本机使用,而且外部使用的设备往往多于1台。在早期的 Memcached 版本(我的环境是1.4.4)中-l参数不支持绑定多个地址。在最新的1.5.6版本中,已经能够支持绑定多个地址,具体形式如下:

$./memcached -l 127.0.0.1:11211,192.168.0.20:11211 -vv -u memcached

这样,就可以避免修改应用,又达到了防治漏洞的目的。

本文为作者原创,如果您觉得本文对您有帮助,请随意打赏,您的支持将鼓励我继续创作。

参考资料: 1、国家互联网应急中心

2、关于利用memcached服务器实施反射DDoS攻击的情况通报

3、CNCERT关于Memcached服务器反射攻击的情况通报 2

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏安恒信息

安恒信息紧急预警 严重漏洞影响全版本Windows

近日名为“SANDWORM”的俄罗斯黑客组织被曝利用Windows最新0day漏洞(漏洞编号:CVE-2014-4114)针对北约、乌克兰政府组织、欧盟电信和能...

35590
来自专栏xingoo, 一个梦想做发明家的程序员

Oracle二三事之 EBS升级

  原文转载:http://tech.it168.com/a2012/1121/1425/000001425400.shtml   对于初次执行这个过程的人而言...

29270
来自专栏互联网杂技

程序员保证能笑出腹肌

客户需求 vs 最终产品 ? requirements vs. implementation 程序员的一天 ? The Programmers life 寂寞...

38970
来自专栏FreeBuf

一记组合拳,批量SSH弱密码爆破检测工具分享

SSH登录密码的破解工具已然有许多,但偶尔还是存在不能满足任务需求的情况。比如,批量地对IP列表里的IP地址进行SSH登录破解,现有的工具直接使用起来总觉得不方...

40220
来自专栏别先生

个人笔记本安装多个jdk(jdk1.7,jdk1.8,jdk1.9,jdk10.0)出现的问题

1、个人笔记本已经安装jdk1.7,jdk1.8,(之前没有在意这个问题)。最近想学习jdk10.0,安装以后,环境变量变成了jdk10.0,就是cmd输入命令...

9110
来自专栏菜鸟程序员

AVGater漏洞突破防病毒软件 影响大批知名杀毒软件 PoC已经公开

18650
来自专栏Java帮帮-微信公众号-技术文章全总结

Java微信支付【面试+工作】

Java微信支付【面试+工作】 微信支付文档上有刷卡支付,扫码支付,公众号支付,APP支付等各种支付手段。本次就微信内打开的网页支付为例子,用java进行实现一...

72850
来自专栏软件开发 -- 分享 互助 成长

win10使用u盘装回win7

背景:一朋友要我帮忙把系统从win10装回到win7,因为做IT的嘛,想想也难不倒我,况且以前也经常重装系统,硬盘里就有win7的系统,于是很爽快的答应了。电脑...

24490
来自专栏FreeBuf

反入侵之发现后门利用mount-bind将进程和端口信息隐匿

0x00. 前言 作为一名安全工程师,日常工作中会经常遇到网站遭遇入侵,甚至被植入后门,如何去发现后门,进而对入侵进行调查取证都是一名优秀的安全工程师必备功课,...

38760
来自专栏finleyMa

有好用的PHP CMS吗

最新帮朋友做个企业站,说白了就是个简单的CMS。 纯展示类的。这种东西技术含量低,千万不要自己从头开发,只要找个现成的cms,改改模板就可以了。时间就是金钱,...

46720

扫码关注云+社区

领取腾讯云代金券