高防IP

如何预防或避免NTP服务的DDoS攻击

概述

NTP协议(Network Time Protocol)是标准的网络时间同步协议,应用于分布式时间服务器和客户端之间,实现客户端和服务端的时间同步,从而使互联网内所有设备的时间保持同步。
它采用层次化时间分布模型。网络体系结构主要包括主时间服务器、从时间服务器和客户机,主时间服务器位于根节点,负责与高精度时间源进行同步,为其他节点提供时间服务,各客户端由从时间服务器经主服务器获得时间同步。

详细信息

NTP服务的DDoS攻击原理

NTP协议是基于UDP协议的服务器、客户端模型,由于UDP协议的无连接性(不像TCP具有三次握手过程)具有天然的不安全性缺陷,黑客正是利用NTP服务器的不安全性漏洞发起DDoS攻击。一般流程如下:

  1. 寻找目标,包括攻击对象和网络上的NTP服务器资源。

  2. 伪造要“攻击对象”的IP地址向NTP服务器发送请求时钟同步请求报文,为了增加攻击强度,发送的请求报文为monlist请求报文。
    NTP协议包含一个monlist功能,用于监控NTP服务器,NTP服务器响应monlist指令后就会返回与其进行过时间同步的最近600个客户端的IP地址,响应包按照每6个IP进行分割,最多一个NTP monlist请求会形成100个响应包,具有较强的放大能力。
    实验室模拟测试显示,当请求包的大小为234字节时,每个响应包为482字节,单纯按照这个数据,计算出放大的倍数是:482*100/234 = 206倍,从而大流量阻塞网络,导致网络不通,无法提供服务。

NTP服务的DDoS防御原理

  1. 购买足够大的带宽,硬性抵挡NTP服务的DDoS攻击产生的大流量攻击。

  2. 使用DDoS防御产品,将入口异常流量进行清洗,区分正常和异常流量,将正常流量分发给服务器进行业务处理。

  3. 通过防火墙对UDP使用的123端口进行限制,只允许NTP服务与固定IP进行通信,其他IP全部拒绝。

  4. 关闭NTP服务器monlist功能。

  5. 升级NTP服务器版本到4.2.7p26。