记一次ntp反射放大ddos攻击

时间:2022-04-05 00:13:02

2018/3/26 ,共计310G左右的DDoS攻击

记一次ntp反射放大ddos攻击

临时解决办法:将web服务转移到同生产一个内网段的备份服务器a上,a提供web端口80,数据库通过内网连接还是沿用生产数据库。

后续解决办法:通过跳板登录生产服务器,通过抓包可看出是NTP反射放大攻击,直接关闭ntp服务,如果需要用到ntp服务,之后再在安全组和防火墙设置屏蔽规则,拦截目的或者源端口为相应服务端口(123)的所有UDP报文,再开放自己信任IP即可。如下设置防火墙屏蔽规则:

  -A INPUT -p udp -m udp --sport 123 -j DROP

  -A INPUT -p udp -m udp --dport 123 -j DROP

  -A OUTPUT -p udp -m udp --sport 123 -j DROP

  -A OUTPUT -p udp -m udp --dport 123 -j DROP

抓包分析

记一次ntp反射放大ddos攻击

NTP反射和放大攻击

无论是基于 DNS 还是基于 NTP,其最终都是基于 UDP 协议的。在 UDP 协议中正常情况下客户端发送请求包到服务端,服务端返回响应包到客户端,但是 UDP 协议是面向无连接的,所以客户端发送请求包的源 IP 很容易进行伪造,当把源 IP 修改为受害者的 IP,最终服务端返回的响应包就会返回到受害者的 IP。这就形成了一次反射攻击。

放大攻击就是一次小的请求包最终会收到一个或者多个多于请求包许多倍的响应包,这样就达到了四两拨千斤的效果。

什么是 NTP 的反射和放大攻击,NTP 包含一个 monlist 功能,也被成为 MON_GETLIST,主要用于监控 NTP 服务器,NTP 服务器响应 monlist 后就会返回与 NTP 服务器进行过时间同步的最后 600 个客户端的 IP,响应包按照每 6 个 IP 进行分割,最多有 100 个响应包。

抓包结果:

记一次ntp反射放大ddos攻击

就按此次通信回包比为1:100来算,数据量比就为:482bytes : 100x482bytes,等于100倍,实际倍数还可能更大,可怕啊。

ECS反射型DDoS攻击解决方法(阿里云文档)

问题现象

由于某些服务配置不当,导致服务器被黑客利用进行DDoS攻击。具体表现为机器对外带宽占满;使用抓包工具检测,可看到大量同一源端口的包对外发出。

解决方案

Linux系统

1. 加固NTP服务

1)    通过Iptables配置只允许信任的IP访问本机UDP的123端口。

修改配置文件,然后执行以下命令:
echo "disable
monitor" >> /etc/ntp.conf

执行以下命令重启NTP服务:
service ntpd restart

2)    我们建议您直接关闭掉NTP服务,并禁止其开机自启动。

执行service ntpd stop命令。

执行chkconfig ntpd off命令。

2. 加固Chargen服务

1)    通过Iptables配置只允许信任的IP访问本机UDP的19端口。

2)    我们建议您直接关闭掉chargen服务。编辑配置文件”/etc/inetd.conf”,用#号注释掉chargen服务,然后重启inetd服务。

Windows系统

1. 加固Simple TCP/IP服务

注意: Windows系统默认不安装Simple TCP/IP服务,如果您无需使用此服务,可跳过此步骤。

1)    通过防火墙配置,只允许信任的IP访问本机UDP、TCP的19、17端口。

2)    我们建议您直接关闭Simple TCP/IP服务,并禁止自启动。

记一次ntp反射放大ddos攻击

2. Web应用的加固

WordpressPingback

1)    您可以通过增加Wordpress插件来防止Pinback被利用,加入如下过滤器:

add_filter( ‘xmlrpc_methods’, function( $methods ) {
   unset( $methods[‘pingback.ping’] );
   return $methods;
} );

2)   
建议您直接删除xmlrpc.php文件。