2014年7月18日金曜日

LinuxでNTPサービスを実装する場合の注意点

僕の設定ミスで、
NTPサービスをNTP DRDoS attacksの踏み台にされた
ので

NTPサービス(ntpd)を実装して、時刻同期を行う場合に忘れないように記録します。

/etc/ntp.conf に参照するパブリックNTPサーバーなどを記述しますが、
通常、自分のLinuxサーバの時刻を同期するだけで、十分だと思います。
この場合、NTPクライアントとして実装時に運用設定します。

手法1:
/etc/ntp.conf に "disable monitor"を追記して、monlistコマンドを使えなくします。

手法2:
"restrict default ignore"を上記同様に追記して、問い合わせ自体を無視します。

手法3:
iptablesなどファイヤーウォールやルーターの設定で、UDPポート:123の外部への通信を遮断します。

とりあえず、自分はこうしておきました。(最低限の設定)

disable monitor
restrict default ignore
server ntp.nict.jp iburst maxpoll 9
server 0.jp.pool.ntp.org iburst maxpoll 9
server 1.jp.pool.ntp.org iburst maxpoll 9
server 2.jp.pool.ntp.org iburst maxpoll 9

更に詳細は以下を参照してください。

https://cert.litnet.lt/en/docs/ntp-distributed-reflection-dos-attacks
https://isc.sans.org/forums/diary/NTP+reflection+attack/17300
http://www.symantec.com/connect/blogs/hackers-spend-christmas-break-launching-large-scale-ntp-reflection-attacks
http://kb.juniper.net/InfoCenter/index?page=content&id=JSA10613&smlogin=true


**ちなみにNTPを使ったDRDos攻撃は、1つ1つのサイズは地味で小さいですが、
リクエストをほぼ無制限に送り続けることが出来る上に、踏み台が増えれば、パブリックNTPサーバの運用に影響を与えますので、注意しましょう (^_^;)
ISPのネットワーク運用の場合、Spoofingにも注意しましょう。