对内网网络设备进行了一次漏洞扫描,主要是Cisco交换机。报了一个级别为Medium的漏洞,The remote NTP server responds to mode 6 queries。
漏洞介绍:https://ntpscan.shadowserver.org/
我的简单理解就是 设备响应了mode 6查询。设备响应这些查询,有可能用于NTP放大攻击,未经身份验证的远程攻击者可能会通过一个特别设计的mode 6查询进行攻击。
修复建议
方法一:添加NTP ACL,仅允许设备与指定的NTP Server通信。
Example:
Switch(config)# access-list 80 permit 192.168.1.100
Switch(config)# ntp access-group peer 80
配置访问列表80,允许IP为92.168.1.100的报文,该设备仅允许与指定的NTP Server同步其时钟。其余默认拒绝。
方法二:通过配置查询间隔时间,来杜绝攻击者的快速频繁攻击。不过仅有较新的IOS版本才支持。
Switch(config)# ntp allow mode control ?
<3-15> Rate limiting delay (s)
这里可以选择3-15秒的时间。我使用的配置是:
Switch(config)# ntp allow mode control 10
两种方法配置完后需检查NTP服务是否正常。
Switch# show ntp status
Clock is synchronized, stratum 3, reference is 192.168.1.100
nominal freq is 119.2092 Hz, actual freq is 119.2091 Hz, precision is 2**18
reference time is E0A99956.1A73BF6D (11:07:02.103 CN Tue Jun 11 2019)
clock offset is 0.0770 msec, root delay is 44.66 msec
root dispersion is 58.06 msec, peer dispersion is 0.03 msec
修复验证
由于NTP服务器使用的是Linux系统,故可以通过ntpq -c rv [IP] 来验证mode 6查询,有结果输出的代表开启了mode 6查询,没有输出代表关闭了mode 6查询。
我这里的NTP Client为思科交换机,IP:192.168.111.93。
方法一验证:
登陆192.168.1.100,输入命令:ntpq -c rv 192.168.111.93
[root@ntpserver1 ~]# ntpq -c rv 192.168.111.93
associd=0 status=0600 leap_none, sync_ntp, no events, unspecified,
system=”cisco”, leap=00, stratum=3, rootdelay=44.600,
rootdispersion=42.560, peer=14389, refid=192.168.4.72,
reftime=e0a9954b.f082b4b5 Tue, Jun 11 2019 10:49:47.939, poll=6,
clock=e0a99564.4e748c26 Tue, Jun 11 2019 10:50:12.306, phase=0.068,
freq=2.55, error=0.05
可以看到,可以正常查询。
登陆192.168.1.126(网络中的其它服务器),输入命令:ntpq -c rv 192.168.111.93
[root@xxxserver1 ~]# ntpq -c rv 192.168.111.93
192.168.111.93: timed out, nothing received
***Request timed out
可以看到,无法查询。
方法一验证成功,ACL应用生效。有效杜绝了其它未授权设备通过mode 6 查询攻击网络设备。
方法二验证:
交换机配置:ntp allow mode control 10
登陆192.168.1.100或者其它服务器,输入命令:ntpq -c rv 192.168.111.93
[root@xxxserver1 ~]# ntpq -c rv 192.168.111.93
associd=0 status=0600 leap_none, sync_ntp, no events, unspecified,
system=”cisco”, leap=00, stratum=3, rootdelay=44.620,
rootdispersion=51.410, peer=14389, refid=192.168.4.72,
reftime=e0a9978b.f1b3add5 Tue, Jun 11 2019 10:59:23.944, poll=6,
clock=e0a997a6.535a90dd Tue, Jun 11 2019 10:59:50.325, phase=0.132,
freq=2.56, error=0.20
[root@xxxserver1 ~]# ntpq -c rv 192.168.111.93
192.168.111.93: timed out, nothing received
***Request timed out
两次查询间隔小于10秒。可以看到,连续两次查询,第一次正常查询,第二次失败。10秒后再次查询,又会正常。
方法二也验证成功,虽没有使用ACL,但是有效拒绝了其它未授权设备通过mode 6 查询快速频繁攻击网络设备。