編者按:NTP服務時常面臨各類安全威脅,反射放大攻擊即是其中之一。本文探討在CentOS 7系統(tǒng)下安全部署NTP服務,以預防常見的反射放大攻擊。
NTP協(xié)議是用來使計算機時間同步化的一種網(wǎng)絡協(xié)議,它可以使計算機與服務器做時間同步,可以提供高精準度的時間校正,目的是在無序的網(wǎng)絡環(huán)境中提供精確和健壯的時間服務,使局域網(wǎng)內(nèi)所有的PC、服務器和其他設備通過網(wǎng)絡與NTP服務器保持同步。
NTP協(xié)議可自動判斷網(wǎng)絡延時,并對數(shù)據(jù)進行時間補償,從而使局域網(wǎng)設備時間保持統(tǒng)一精準。
為了安全起見,筆者希望設置只有服務器所在的IP段能訪問NTP服務同步時間,而禁止其他網(wǎng)段訪問。
所用系統(tǒng)及配置:CentOS Linux release 7.8.2003(Core),硬盤為20 GB,內(nèi)存為2 GB。
安裝ntpd并修改配置文件,保存退出后將ntpd服務加入開機啟動。
yum -y install ntp
vi/etc/ntp.conf
# 第18行: 增加允許訪問NTP服務器的網(wǎng)段
restrict 192.168.0.0 mask 255.255.255.0 nomo dify notrap
# 第21-24行: 修改可用的上一級NTP服務器
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
systemctl start ntpd
systemctl enable ntpd
# 將ntp服務加入防火墻允許列表,以免客戶端訪問時被防火前攔截
firewall-cmd --addservice=ntp–-permanent
firewall-cmd --reload
此時NTP的服務已搭建完成并測試成功。
但是經(jīng)過測試發(fā)現(xiàn)其允許非服務器192.168.0.0/24網(wǎng)段的NTP請求,說明其配置文件中的restrict并未限制其他網(wǎng)段對NTP服務器的時間同步請求。
此時的補償措施是可以結合系統(tǒng)防火墻限制其他網(wǎng)段請求NTP服務器的UDP 123端口。
反射攻擊是因為NTP協(xié)議基于UDP協(xié)議,而UDP協(xié)議是面向無連接的,所以當客戶端請求服務端的時候,可以將客戶端源IP修改為受害者的IP,最終服務端返回的響應包就會返回到受害者的IP。這就形成了一次反射攻擊。
放大攻擊是客戶端向服務端發(fā)送一個請求包,此時服務端會返回一個或多個響應包,這就造成了一個放大的效果。
NTP反射放大攻擊就是客戶端偽造源IP地址并利用NTP的Monitor監(jiān)控功能進行攻擊。
如圖1所示,通過抓包,我們可以觀察到第一個是請求包,第二和第三個是響應包,響應包的數(shù)量及容量已超過第一個請求包。
在獲悉NTP的反射放大原理后,可以通過以下幾種方式來處理ntpd的反射放大攻擊。
1.將NTP服務器升級到4.2.7p26 2。
2.修改配置文件/etc/ntp.conf,并追加disable monitor,關閉Monitor監(jiān)控功能。
項目教學模式以學生為主體,以項目為導向,以培養(yǎng)知識、能力和素質為目標,為社會培養(yǎng)實用型人才,它是高職院校開展課程教學活動的最佳模式。國內(nèi)有關項目教學法的研究成果頗多,大多以“能力導向”、“就業(yè)導向”、“任務導向”或“工作過程導向”等為出發(fā)點,分析某類課程的教學模式。本課題組經(jīng)過長期教改實踐,以職業(yè)標準為研究起點,將國際商法課程的項目教學模式具體界定為“標準轉換、理實一體”模式,供同行借鑒和參考。
3.網(wǎng)絡出口禁止NTP協(xié)議,以防止NTP服務器被黑客利用而攻擊其他服務器。
4.使用chronyd替代ntpd。
較新的CentOS版本推薦使用chrony來替代ntpd服務。
yum -y install chrony
vi/etc/chrony.conf
# 第3-6行: 修改可用的上一級NTP服務器
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
# 第27行: 增加允許訪問NTP服務器的網(wǎng)段
allow 192.168.0.0/24
systemctl start chronyd
systemctl enable chr onyd
圖1 NTP反射放大攻擊抓包分析
# 將ntp服務加入防火墻允許列表,以免客戶端訪問時被防火前攔截
firewall-cmd --addservice=ntp–-permanent
firewall-cmd --reload
通過chronyd配置也能實現(xiàn)NTP服務,并成功的限制了非192.168.0.0/24網(wǎng)段對NTP服務器的時間同步請求,實現(xiàn)了我們對NTP服務器使用需求。
結合chronyd與ntpd相關材料,總結了兩個組件的一些區(qū)別,可供讀者按需選擇。
相比于ntpd,chronyd的優(yōu)勢在于:
chronyd在同步時間上更快更精確;
chronyd在間歇性網(wǎng)絡系統(tǒng)中仍可以快速同步時鐘,而ntpd需要對服務器進行定期輪詢;
chronyd在Linux系統(tǒng)上可以調整更大范圍的時間偏差;
chrondy較ntpd更加輕便,較少的資源性能消耗。
而ntpd的優(yōu)勢在于:
ntpd支持所有NTPv4(RFC 5905)的模式,包括廣播、組播;
ntpd支持AutoKey協(xié)議,使用公鑰來認證NTP服務器;
ntpd包含更多的時鐘驅動,而chronyd是依賴其他程序,使用共享內(nèi)存來訪問數(shù)據(jù)。
上述4個方法可以加固本地NTP服務器并預防被他人利用而攻擊其他設備。
以下建議也可以預防我們的服務器被他人NTP反射放大攻擊。
1.新增防DDoS設備,可抵抗設備閾值下的流量攻擊。
2.NTP響應數(shù)據(jù)包特征明顯,可以結合運營商對流量進行清洗。
3.一般被攻擊對象為網(wǎng)站應用,可結合CDN配置,隱藏真實IP。