「ntpd」の「monlist機能」からの DDoS攻撃対策について
「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-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
以上になります。
参考文献
著書
articleClaude Code と Codex を並列で動かしたときの動き: 同じファイルでも書き換えは消えない
articleClaude Code の Stop フックで、終わる前にテストを走らせる手順: 失敗が残ったまま終わらない
articleClaude Code と Codex のスキルの置き場所の動き: .claude/skills と .agents/skills は互いに読まない
articleClaude Code の /security-review で変更を点検する手順: origin/HEAD がないと止まる
articleClaude Code と Codex のスキルを入れる前に中身を確かめる手順: security-audit で見る5か所
articleCloudflare の security-audit スキルを Claude Code と Codex で比較: 3つとも見つけ、進め方に差
