在2018年2月27日,Cloudflare 和 Arbor Networks 公司于周二发出警告称,恶意攻击者正在滥用 Memcached 协议发起分布式拒绝服务(DDoS)放大攻击,全球范围内许多服务器(包括 Arbor Networks 公司)受到影响。下图为监测到Memcached攻击态势。
美国东部时间28日下午,GitHub透露其可能遭受了有史最强的DDoS攻击,专家称攻击者采用了放大攻击的新方法Memcached反射攻击,可能会在未来发生更大规模的分布式拒绝服务(DDoS)攻击。对GitHub平台的第一次峰值流量攻击达到了1.35Tbps,随后又出现了另外一次400Gbps的峰值,这可能也将成为目前记录在案的最强DDoS攻击,此前这一数据为1.1Tbps。据CNCERT3月3日消息,监测发现Memcached反射攻击在北京时间3月1日凌晨2点30分左右峰值流量高达1.94Tbps。
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。放大攻击针对使用UDP在公共网络上公开的Memcached部署。
这些攻击都是使用memcached协议并源自11211
端口。攻击者将普通大小的UDP数据包从欺骗性IP地址发送到运行memcached的服务器。这些请求会从memcached中获取极大的数据包响应,从而快速拥塞受害者的网络并导致拒绝服务(DoS)方案。
修改或添加安全组策略,策略配置参考如下(规则作用:禁止外部入向的11211端口UDP流量):
若您的Memcached服务必须使用到UDP,建议始终以较小的数据包来响应,否则可能导致协议会被滥用进行放大攻击;
Memcached不应该暴露在互联网上。您可以采取一些基本步骤来保护您的memcached实例。
localhost
。localhost
,并作为额外的预防措施,为memcached禁用UDP。编辑memcached配置文件中的OPTIONS
行:
/etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1 -U 0"
sudo systemctl restart memcached
sudo service memcached restart
localhost
。 此配置不受放大漏洞的影响,但您仍应验证您未运行易受攻击的设置:grep 127.0.0.1 /etc/memcached.conf
应该返回:
-l 127.0.0.1
如您所见,memcached正在侦听localhost
IP地址。
您还可以使用ss
或netstat
检查系统的监听UDP端口:
sudo ss -apu
sudo netstat -lpu
Memcached应该再次显示它正在侦听localhost
或地址127.0.0.1
,如下所示:
root@localhost:~# ss -aup
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 127.0.0.1:11211 *:* users:(("memcached",pid=5021,fd=30),("memcached",pid=5021,fd=29),("memcached",pid=5021,fd=28),("memcached",pid=5021,fd=27))
cat <<EOT >> /etc/memcached.conf
# Disable UDP
-U 0
EOT
sudo systemctl restart memcached
如果您的系统使用SysV:
sudo service memcached restart
更详细的防护方案可以参考Memcached DDoS反射攻击如何防御这篇文章。更多Linux教程请前往腾讯云+社区学习更多知识。
参考文献:《Mitigating memcached Amplification Attacks》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。