NTP访问控制
当同步子网中的一台时间服务器发生意外或遭到恶意攻击时,通常不应该导致子网中其它时间服务器的计时错误。因此,NTP还提供了如下安全机制:访问权限、KOD和NTP认证功能。这样就对网络的安全性提供了保障。
访问权限
设备提供一种比较简单安全措施:访问权限,即通过设置访问权限对本地时钟进行保护。
NTP的访问控制基于访问控制列表ACL(Access Control List)实现。NTP支持5个等级的访问限制,每个访问限制可指定相应的ACL规则。如果NTP访问请求命中该访问限制的ACL规则,则说明两者匹配成功,即该访问请求享有此级别的访问限制。
peer:可以对本地时钟进行时间请求和控制查询,本地时钟也可以同步到远程服务器。
server:可以对本地时钟进行时间请求和控制查询,但本地时钟不会同步到远程服务器。
synchronization:只允许对本地时钟进行时间请求。
query:只允许对本地时钟进行控制查询。
limited:当NTP报文速率高于上限时,丢弃入方向的NTP报文。如果使能KOD功能,此时还发送Kiss码。
KOD
当单位时间内,服务器收到大量客户端访问报文导致无法负荷时,可在服务器上使能KOD(Kiss-o'-Death)功能来进行接入控制。KOD是NTPv4提出的一种全新的访问控制技术,主要用于服务器向客户端提供状态报告和接入控制等信息。
KOD报文是特殊的NTP报文,当NTP报文携带的层数(Stratum)信息为0时,该报文被称为KOD报文,此时报文中会携带代表接入控制信息的ASCII(又称Kiss码)。目前仅支持DENY和RATE两种Kiss码。
在服务器上使能KOD功能后,服务器会根据配置向客户端发送DENY或RATE Kiss码。
使能KOD功能后,还需要配置相应的ACL规则。当ACL规则为deny,此时服务器发送DENY Kiss码;当ACL规则为permit且接收到的NTP报文速率达到配置的上限时,此时服务器发送RATE Kiss码。
- 当客户端接收到DENY Kiss码,客户端将断开与服务器的所有连接,并停止向服务器发送报文。
- 当客户端接收到RATE Kiss码,客户端将立即缩短与该服务器的轮询时间间隔,且以后每次接收到RATE Kiss码,轮询时间间隔都会进一步缩短。