产品文档

安全说明

帮助中心 > 产品文档 > 安全说明 > NTP服务和Monlist漏洞

NTP服务和Monlist漏洞

【NTP Monlist漏洞介绍】

NTP是Network Time Protocol(网络时间协议)的简称,是互联网中时间同步的标准之一,它的用途是把计算机的时钟同步到国际标准时间,连接在互联网上的机器通过该协议校准时间。

NTP 包含一个 monlist 功能,也被称为 MON_GETLIST,主要用于监控 NTP 服务器。monlist(ntp_request.c)功能存在安全漏洞,NTP 服务器响应 monlist 后就会返回与 NTP 服务器进行过时间同步的最后 600 个客户端的 IP,响应包按照每 6 个 IP 进行分割,最多有 100个响应包。远程攻击者利用漏洞伪造REQ_MON_GETLIST或REQ_MON_GETLIST_1请求来放大流量,对目标系统进行拒绝服务攻击。

利用这个特性,在结合NTP协议为面向无连接的UDP协议,攻击者伪造被攻击目标IP向多个NTP Server发起Monlist查询指令,多个NTP Server则将大量含有最新同步过的客户端IP数据包发送至被攻击目标IP,占用目标IP带宽资源,从而造成反射式分布式拒绝服务攻击。

攻击过程如下:

1、 攻击者构造monlist命令,将源地址设置为攻击目标的IP地址

2、 攻击者向网络中开放的NTP服务器发送步骤1构造的monlist命令

3、 NTP服务器接收monlist命令,执行操作,并向monlist命令封包中的源地址(即被攻击IP)发送应答

4、 目标地址无故收到大量NTP服务器发来的应答,网络带宽受到阻塞,正常处理流程受到影响

【修复方法】

一、 NTP服务管理员可以通过升级版本或修改配置来修复漏洞

1. 升级版本:ntpd-4.2.7p26版本后,“monlist”特性已经被禁止,取而代之的是“mrulist”特性,使用mode6控制报文,并且实现了握手过程来阻止对第三方主机的放大攻击。建议用户升级NTP 服务器到 4.2.7p26 或者更高的版本。

http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-dev/ntp-dev-4.2.7p26.tar.gz

http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-dev/ntp-dev-4.2.7p421.tar.gz

2. 修改配置:4.2.7以前版本,可在ntp.conf文件中增加disable monitor选项来禁用 monlist 功能。也可以使用restrict ... noquery 或 restrict ... ignore 来限制ntpd服务响应的源地址。

(1)操作方法一:echo "disable monitor" >> /etc/ntp.conf

(2)操作方法二:编辑/etc/ntp.conf 增加noquery限制

restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

注意:修改配置后,NTP服务必须重启才能生效。

二、被NTP攻击的目标主机:可以通过网络层的ACL规则来防御,或者使用抗DDoS系统进行流量清洗。

【验证方法】

1.ntpdc -n -c monlist ntp_server-IP 
2.nmap -sU -pU:123 -Pn -n --script=ntp-monlist NTP_Server_IP 

【NTP官方漏洞公告说明】

http://support.ntp.org/bin/view/Main/SecurityNotice#Recent_Vulnerabilities

更新时间:2019-06-24 17:10:27
文档反馈 docs feedback