2014年4月24日木曜日

ntpdのセキュリティ対策

2014年2月に問題となったntpdの機能へのセキュリティ対策についての備忘録

参照:ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起https://www.jpcert.or.jp/at/2014/at140001.html

自分の職場のサーバでntpdを使用している場合、時刻同期先のNTPサーバを職場で用意してくれているものを利用するという対策をとった。

職場で配布された対策マニュアルには、”$  /usr/sbin/ntpq -c rv”
で、ntpdが動いているかどうかを確認・・・とあったが、うちの10.04サーバーでは単に

$  ntpq -c rv

だけで、

assID=0 status=c011 sync_alarm, sync_unspec, 1 event, event_restart,
version="ntpd 4.2.4p8@1.1612-o Tue Apr 19 07:08:18 UTC 2011 (1)",
processor="x86_64", system="Linux/2.6.32-21-server", leap=11,
(以下略)

と返ってきた。バージョンは4.2.4p8らしい。
次に、時刻同期先を

$  ntpq -pn

で調べ、外部サーバを使っていることを確認。対策マニュアルに「確認されたバージョンが4.2.7p26 より古いものの場合や、職場内部のNTPサーバと同期していない場合は/etc/ntpd.confを編集します」とのこと。
viなどで編集するべきだが、今回はftpでファイルを入手し、手元で書き換えてから戻した。

まず、以下の部分が有効になっていることを確認。原則NTP通信を行わないという設定。

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

その後、”server....."などで指定されている外部サーバの行をコメントアウト、もしくは削除して、末尾に職場内サーバを指定。

server (職場内NTPサーバ1)
restrict (職場内NTPサーバ1) mask 255.255.255.255 nomodify notrap noquery
server (職場内NTPサーバ2)
restrict (職場内NTPサーバ2) mask 255.255.255.255 nomodify notrap noquery
disable monitor

以上で設定終了なので、ファイルを上書きしてからntpdを再起動。

$  sudo /etc/init.d/ntp restart

最後に、ちゃんとこれらのNTPサーバを参照しているかどうかを”$  ntpq -pn”で確認。




0 件のコメント:

コメントを投稿