「ntpd」の「monlist機能」からの DDoS攻撃対策について

セキュリティー
「ntpd」の「monlist機能」からの DDoS攻撃対策について
Memo
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

「ntpd」の「monlist機能」からの DDoS攻撃対策についてメモしました。

システム内の時間を正しい時間に同期させる NTPサーバーのプログラムntpdの一部バージョンに
NTPサーバーの状態を確認する機能monlistの脆弱性が見つかったそうです。

これはmonlist機能がNTPサーバーへのリクエストに
大きなデータが返されることを利用し

送信元のIPアドレスを偽装して第三者のwebサーバーなどに
大量のデータを送りつけることができるそうです。

今後もこのような攻撃が続くと想定されています。

脆弱性の対象

NTP Project の情報によりますと、以下のバージョンが影響を受けます。

「ntpd 4.2.7p26」以前のバージョン

安定版の 4.2.6.x系はすべて影響を受けます。

バージョンの確認方法

コマンドラインからサーバーへ接続し以下のコマンドを入力します。

terminal
$ ntpd -v

下記の場合バージョンは4.2.6系です。
対策が必要になります。

terminal
$ ntpd - NTP daemon program - Ver. 4.2.6p5

下記の結果であればntpdはインストールされていません。

-bash: ntpd: command not found

対策について

簡単な対策としては2通りあります。

  • 対策1 修正済みバージョンへアップデート
  • 対策2 monlist機能を無効化

対策1 修正済みバージョンへアップデート

修正済みのバージョンは、以下のようですです(2014/2/10)。

ntpd 4.2.7p421(開発版)

下記からダウンロードできます。

http://www.ntp.org/downloads.html

yumになかったのでntpd 4.2.7p421(開発版)
サイトからインストールしてみます。

※ntpd 4.2.7p421は開発版です。インストールは自己責任でお願いいたします。

手順

1.コマンドラインから「tmp」フォルダに移動します。

terminal
$ cd /tmp

2.「tmp」フォルダにntpd 4.2.7p421(開発版)をダウンロードします。

terminal
$ wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-dev/ntp-dev-4.2.7p421.tar.gz

3.ダウンロードしたファイルを解凍します。

terminal
$ tar xzfv ntp-dev-4.2.7p421.tar.gz

4.解凍したフォルダに移動します。

terminal
$ cd ntp-dev-4.2.7p421

5.「configure」します。

terminal
$ ./configure

6.「make」します。

terminal
$ make

7.インストールします。(ルート権限)

terminal
$ sudo make install

8.一旦終了します。

terminal
$ exit

9.再度ログインしバージョンを確認してみます。

terminal
$ ntpd -v /usr/local/bin/ntpd: illegal option -- v ntpd - NTP daemon program - Ver. 4.2.7p421

10.とりあえず再起動してみました。

terminal
$ sudo service ntpd restart

11.設定などは「etc/ntp.conf」から変更できます。

terminal
$ sudo vi /etc/ntp.conf

対策2 monlist機能を無効化

2つ目の対策として「monlist機能を無効にする設定」を行います。

手順

1.コマンドラインから設定ファイルを編集します。

terminal
$ sudo vi /ect/ntp.conf

2.「/etc/ntp.conf」ファイルに下記を追加します。

terminal
$ disable monitor

3.「ntp」を再起動します。

terminal
$ sudo service ntpd restart

以上になります。

参考文献

終わりに

最後までご覧いただきありがとうございます。
この記事では「ntpd」の「monlist機能」からの DDoS攻撃対策についてについて紹介させていただきました。

これからも皆様の開発に役立つ情報を提供していきたいと考えています。
今後ともよろしくお願いいたします。