Centos7 NTP服务DDOS攻击解决方案

场景描述:

近日阿里云上的一台ECS,频繁接收到阿里云短信报警,说是流量过大,遭到了DDOS攻击,服务器将被隔离,并停止响应服务一段时间,进行流量清洗。 服务器被DDOS搞挂了。

问题分析

通过阿里云后台提供的DDoS攻击网络抓包文件,使用Wireshark打开分析,发现很多NTP服务的请求。

NTP服务介绍

NTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。时间按NTP服务器的等级传播。

NTP服务DDOS攻击

经过搜索引擎查询得知,有两种方式利用NTP服务发动DDOS攻击。

反射攻击

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

放大攻击

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

防御

加固NTP服务:

1、通过firewalld配置只允许信任的IP,访问本机的UDP的123端口,修改配置文件执行echo “disable monitor” >> /etc/ntp.conf,然后重启NTP服务。

$ sudo systemctl restart ntp.service

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

$ sudo systemctl stop ntp.service
$ sudo systemctl disable ntp.service

PS: 配置完之后然后简单的配置了一下服务器的一些防护,最近这几天已经没有收到过ddos报警了。