防止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
防止Memcached的DDOS攻击另外一个思路的更多相关文章
- Linux+DDoS deflate 预防DDoS攻击
使用DDoS脚本防止DDoS攻击 使用DDoS脚本防止DDoS攻击: DDoS概述: 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,指借助于客户/服务 ...
- 如何防护DDOS攻击策略
DDoS是目前最凶猛.最难防御的网络攻击之一.现实情况是,这个世界级难题还没有完美的.彻底的解决办法,但采取适当的措施以降低攻击带来的影响.减少损失是十分必要的.将DDoS防御作为整体安全策略的重要部 ...
- DDOS 攻击的防范教程--转载自阮一峰的博客
一个多月前,我的个人网站遭受 DDOS 攻击,下线了50多个小时.这篇文章就来谈谈,如何应对这种攻击. 需要说明的是,我对 DDOS 并不精通,从没想过自己会成为攻击目标.攻击发生以后,很多素昧平生的 ...
- DDoS攻击的几种类型
DDoS攻击的几种类型 随着网络攻击的简单化,如今DDoS攻击已经不止出现在大型网站中,就连很多中小型网站甚至是个人网站往往都可能面临着被DDoS攻击的的风险.或许很多站长对DDoS攻击并不是很了 ...
- 抗D十招:十个方法完美解决DDoS攻击防御难题
可以说,DDoS是目前最凶猛.最难防御的网络攻击之一.现实情况是,这个世界级难题还没有完美的.彻底的解决办法,但采取适当的措施以降低攻击带来的影响.减少损失是十分必要的.将DDoS防御作为整体安全策略 ...
- 大数据DDos检测——DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然! 和一个句子的分词算法CRF没有区别!
DDos攻击本质上是时间序列数据,t+1时刻的数据特点和t时刻强相关,因此用HMM或者CRF来做检测是必然!——和一个句子的分词算法CRF没有区别!注:传统DDos检测直接基于IP数据发送流量来识别, ...
- 小隐隐于野:基于TCP反射DDoS攻击分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...
- 常见DDoS攻击
导航: 这里将一个案例事项按照流程进行了整合,这样观察起来比较清晰.部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 3.DDoS防护方式以及产品 4.Cloudflare ...
- 华为V-ISA信誉安全体系:对付新型DDoS攻击的利器
华为Anti-DDoS解决方案基于华为颇具传统优势的专业软硬件平台开发,在防护机制中,引入先进的检测机制,提供了业内首创的“V-ISA”信誉安全体系,是业界唯一单机可提供超百G DDoS防御能 ...
随机推荐
- net mvc中angular
把angular项目整合到.net mvc中 之前的开发选择的是完全舍弃服务端,仅保留最简单web服务器提供angular经打包的静态资源,此外所有的业务与数据请求都访问一个分离的WebApi来实 ...
- bzoj [ZJOI2008]生日聚会Party
思路:dp, 用dp[ i ][ j ][ u ][ v ] 表示, 有n个人,其中有j个是男生,后缀区间中男生人数减去女生人数的最大值为u, 女生人数减去男生人数 的最大值为v, 然后就能写出状态转 ...
- js 把数组对象按照某个属性进行排序
var arr=[{a:1},{a:3},{a:2}]; function objSort(prop){ return function (obj1, obj2) { var val1 = obj1[ ...
- Selenium Webdriver概述(转)
Selenium Webdriver https://www.yiibai.com/selenium/selenium_overview.html# webdriver自动化俗称Selenium 2. ...
- 配置https域名
https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.11065259.1996646101.searchclickresult.6 ...
- 001.Rsync简介及使用
一 基础知识 1.1 简介 Rsync是Linux系统中的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上.rysnc不仅仅能对不同位置的文件和目录进行同步,还可以差异计 ...
- 001.iSCSI简介
一 iSCSI简介 Internet小型计算机系统接口是一个机遇TCP/IP的协议,用于通过IP网络仿真SCSI高性能本地存储总线,从而为远程存储设备提供数据传输和管理.作为SAN协议,iSCSI跨本 ...
- 使用 Python 在 Linux 上实现一键回归测试
从代码库迁出代码 —- pexpect 的使用 测试人员从代码库(例如 CVS )迁出代码的过程中,需要手动输入访问密码,而 Python 提供了 Pexpect 模块则能够将手动输入密码这一过程自动 ...
- BZOJ.4516.[SDOI2016]生成魔咒(后缀数组 RMQ)
题目链接 后缀自动机做法见这(超好写啊). 后缀数组是可以做的: 本质不同的字符串的个数为 \(子串个数-\sum_{ht[i]}\),即 \(\frac{n(n+1)}{2}-\sum_{ht[i] ...
- 原生javascript封装的函数
1.javascript 加载的函数 window.onload = function(){} 2.封装的id函数 function $(id) { return document.getElemen ...