DNSサーバ/NTPサーバのDDoS/DoS攻撃への対策例
概要
昨今、DNS サーバ/NTPサーバが DDoS/DoS 攻撃(サービス拒否攻撃)の踏み台として悪用される事案が多数発生しています。
このような攻撃を防ぐ手法として代表的な対応策を紹介します。
DNSサーバのDDos/Dos攻撃への対策例
主にDNSキャッシュサーバとして運用し、インターネットからアクセス可能となっているサーバが、攻撃の対象となる傾向があります。
また、DNSサーバにBINDを利用している場合、Dos攻撃、サービス停止攻撃に悪用される恐れがある脆弱性の発表が相次いでいます。
これらの対策として次のような例があります。
- 対策 1. BINDを最新バージョンにアップデートする
- 対策 2. 自ホストが管理するドメイン以外に対する、再帰的問合せの拒否
- 対策 3. 再帰的問合せを許可する範囲を限定する
ここでは、DNSサーバにBINDを利用している場合の対策例を紹介します。
DNSサーバに BIND を利用している場合の設定例
named.conf 内の options ステートメントにおいて以下の設定を行います。
※設定ファイルを変更した際には、named-checkconf 等のチェックツールを利用して、設定内容にエラーがないことを確認してください。
※BIND 以外のソフトウェアを用いてDNSサービスを利用している場合は、同様の設定を確認してください。
- 再帰的問合せを拒否する場合
-
options {
~~~~~; //←既存の設定。
recursion no; //←追加。
}; - 再帰的問合せを許可する場合(※許可範囲については一例になります)
-
options {
~~~~~; //←既存の設定。
recursion yes; //←バージョンによっては記述が無くとも標準で許可されている場合もあります。
allow-recursion { //←再帰問合せを許可する範囲の設定。
133.9.0.0/16; //←学内のみ許可。
127.0.0.1; //←localhost を許可。
};
};
NTPサーバのDDoS/DoS攻撃への対策例
主に、NTP サーバの状態を確認する機能 (monlist) が悪用され、NTPリフレクション攻撃の対象となる事案が発生しています[*]。
この該当機能は、サーバへの問い合わせデータ量に対して、大きなサイズのデータ量を返送する動作を行います。
NTPは送信元IPアドレスの偽装が容易なプロトコルを利用しているため、送信元IPアドレスの偽装によって、第三者への攻撃手法として利用されてしまいます。
これらの対策として次のような例があります。
- 対策1. monlist機能の一部を修正し、DDoS攻撃の影響を低減させたバージョンにアップデートする
- 対策2. ntpd の設定において、monlist 機能を無効にする
ここでは、monlist 機能の設定変更による対策例を紹介します。
monlist 機能を無効化の設定例、および確認方法
※設定ファイルを変更した際には、named-checkconf 等のチェックツールを利用して、設定内容にエラーがないことを確認してください。
- monlist 機能を無効化する
-
ntp.conf に以下の1行を追加
disable monitor - monlist機能の動作状況を確認する
-
次のコマンドで確認します。
monlist機能の応答が無い場合は「***Server reports data not found」と表示されます。# ntpdc -c monlist localhost (localhost 部分は対象サーバのIPアドレスでも可)
[*] NTPサービスが稼働していない、あるいはサービスへのアクセス制限をしている場合は「time out」となり、NTPリフレクション攻撃の影響はありません。
関連リンク
- DNS関連技術情報(JPRS)
- ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起(JPCERT)
- DRDoS / Amplification Attack using ntpdc monlist command(NTP Project)