2014年2月27日 星期四

被NTP Flooding啦OAO

又是久違了一篇了XDD
平常沒太多想打的就噗浪解決了wwww

3/3 - 增加正確設定
學校內也有幾台機器有同樣問題wwww
順便加上設定了www

純粹昨天在更新MariaDB
所以在跑Ports的更新時閒閒來看個使用量
(雖然也沒啥好看 就100%滿載的CPU啊wwww)

結果看到網路部分的用量就發現...
等下!!!!!!!!!!!!
誰來解釋一下這用量是哪招啊!!!!!!!!!!!!!!!!!!!
這持續的流量怎看都不對勁啊!!!!!!!!!
不過因為有點懶+看來用量也不是很可怕(5M算還好?)
所以就先丟著了wwww

今天看了看還是這流量......
絕對有問題!
所以就稍微看了下....
嗯.... 對某個IP有很可怕的流量
不重要... 再看看... 是udp... port... 123...
嗯.... 啊!
XXXX的 NTP忘了設定 啥都沒擋啊
趕快調了下設定重開NTPD
流量馬上掉了下來...
這比之前DNS被放大攻擊還嚇人
這是不間斷的狂耗流量啊......

真的是任何服務都要小心設定啊...



補上NTPD的正確設定~~~~~~
就NTPD方面而言是透過restrict來限制ntp的使用者
而針對純client來說不外乎就是localhost以外一律拒絕
而這方面又分兩種設定法
1.(目前各大Linux distro的預設設定)
Ref.ntpd access restrictions - Allow Queries?
# 下方這行是預設禁止一切對此NTP Server查詢(不擋對外之對時查詢)
# 各選項意義可參考下方網址
# http://support.ntp.org/bin/view/Support/AccessRestrictions#Section_6.5.2.
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
# 允許localhost一切查詢
restrict 127.0.0.1
restrict ::1
2.(麻煩點的方法? - 不過是FreeBSD樣板給的方法)
Ref.ntpd access restrictions - If you used 'restrict default ignore'
# 下方這行是預設禁止一切查詢(包含一切對外的對時查詢 << 麻煩的地方XD)
restrict default ignore
# 這行是開放對clock.stdtime.org.tw的對時查詢(但禁止對方查這個NTP Server)
restrict clock.stdtime.org.tw nomodify nopeer noquery notrap
# 這行是開放tick.stdtime.org.tw的一切查詢
# 上方那邊的官方文件是說讓對方能查比較"禮貌"啦,不過其實應該沒啥差XD
restrict tick.stdtime.org.tw
# 允許localhost一切查詢
restrict 127.0.0.1
restrict -6 ::1
如果使用第二種設定要特別注意幾點
  • 每個"server"都需要設好對應的restrict放行,不然會被擋掉,跟沒設一樣www
  • 如果使用domain name的話,只對對應單一A Record的DNS有效,像pool.ntp.org對多個A Record的請使用IP
個人是比較喜歡第一種設定啦
相對設定簡單
再說很少會需要擋對外的對時查詢吧XDD

然後除了NTPD方面的設定外
如果防火牆本身也擋好就更好了wwww