DDoS攻撃とDNSサーバ防御|DNSサービスを継続するための攻撃対策を理解する

DDoS攻撃とDNSサーバ防御

DDoS攻撃とDNSサーバ防御

DNSはインターネットの根幹を支えるサービスであり、多くのシステムやWebサービスがDNSに依存しています。

そのためDNSサーバが停止すると、Webサイトの閲覧、メール送受信、VPN接続など様々なサービスへ影響が発生します。

攻撃者もDNSの重要性を理解しており、DDoS攻撃の標的としてDNSサーバが狙われるケースは少なくありません。

本記事ではDNSサーバを狙ったDDoS攻撃の仕組みと、防御方法について解説します。

DDoS攻撃とは

DDoS(Distributed Denial of Service)攻撃とは、多数の端末から大量の通信を送り付けることでサービスを停止させる攻撃です。


攻撃者
↓
大量の端末
↓
標的サーバ

サービス不能状態へ追い込みます。

DoS攻撃との違い

種類特徴
DoS攻撃単一端末から攻撃
DDoS攻撃多数の端末から攻撃

DDoSの方が大規模になりやすい特徴があります。

なぜDNSが狙われるのか

DNSはあらゆる通信の入口だからです。


利用者
↓
DNS
↓
Web
Mail
VPN
Cloud

DNS停止は広範囲な障害につながります。

DNSサーバ停止時の影響

  • Webサイトへ接続できない
  • メール送信できない
  • メール受信できない
  • VPN接続失敗
  • クラウドサービス利用不可

非常に大きな影響があります。

DNSを狙う主な攻撃手法

  • DNSアンプ攻撃
  • 大量問い合わせ攻撃
  • NXDOMAIN攻撃
  • ランダムサブドメイン攻撃

複数の攻撃手法が存在します。

DNSアンプ攻撃

DNSの応答増幅を利用する攻撃です。


小さな問い合わせ
↓
大きな応答
↓
被害者

大規模な通信量を発生させます。

大量問い合わせ攻撃

DNSサーバへ大量の問い合わせを送ります。


1秒間に数万リクエスト
↓
DNSサーバ過負荷

CPUやメモリが消費されます。

NXDOMAIN攻撃とは

存在しないドメインを大量に問い合わせる攻撃です。


aaa.example.com
bbb.example.com
ccc.example.com

キャッシュが効きません。

ランダムサブドメイン攻撃

毎回異なるホスト名を問い合わせます。


x123.example.com
x456.example.com
x789.example.com

権威DNSへ負荷が集中します。

キャッシュDNSへの攻撃

再帰問い合わせサーバを狙います。


利用者
↓
キャッシュDNS
↓
権威DNS

問い合わせ処理能力を枯渇させます。

権威DNSへの攻撃

権威DNSそのものを狙います。

ゾーン情報が取得できなくなります。

DNSサーバが高負荷になる原因

  • CPU使用率上昇
  • メモリ不足
  • 回線帯域枯渇
  • パケット処理限界

いずれかがボトルネックになります。

防御策① 冗長化

DNSは複数台構成が基本です。


Primary DNS
Secondary DNS

単一障害点を排除します。

防御策② Anycast

複数拠点で同じIPアドレスを提供します。


東京
大阪
海外
↓
同一IP

攻撃を分散できます。

防御策③ セカンダリーDNS

ゾーン情報を複数サーバへ配置します。


Master
↓
Zone Transfer
↓
Slave

可用性が向上します。

防御策④ Rate Limit

BINDにはRRL機能があります。

rate-limit {
    responses-per-second 10;
};

大量応答を抑制できます。

防御策⑤ ファイアウォール

不要なアクセスを制限します。


UDP/53
TCP/53

適切なアクセス制御を行います。

防御策⑥ オープンリゾルバ禁止

オープンリゾルバは攻撃の踏み台になります。

allow-recursion {
    192.168.0.0/16;
};

利用者を制限します。

防御策⑦ キャッシュ活用

キャッシュにより負荷を軽減できます。


問い合わせ
↓
キャッシュ応答

権威DNS負荷を削減します。

防御策⑧ CDN利用

CDN事業者のDNSを利用します。

大規模な攻撃耐性を得られます。

Cloudflareの例

Anycastネットワークを利用しています。

DDoS耐性が高いことで知られています。

監視すべき項目

  • DNS問い合わせ数
  • 応答数
  • CPU使用率
  • メモリ使用率
  • 帯域使用率

平常時の値を把握しておくことが重要です。

ログ確認方法

# journalctl -u named

BINDのログを確認できます。

パケット確認

# tcpdump -ni any port 53

DNSトラフィックを確認できます。

障害時の対応手順


負荷検知
↓
ログ確認
↓
トラフィック確認
↓
アクセス制限
↓
フィルタ適用

迅速な対応が重要です。

企業で実施すべき対策

  • DNS冗長化
  • Anycast利用
  • RRL設定
  • 監視導入
  • オープンリゾルバ防止
  • 定期監査

多層防御が重要です。

実務で覚えておきたいポイント

  • DNS停止は大規模障害につながる
  • DNSアンプ攻撃は代表的なDDoS攻撃である
  • Anycastは強力な防御策である
  • RRLはBINDで有効な防御機能である
  • オープンリゾルバは禁止する
  • 監視と冗長化が重要である

まとめ

DDoS攻撃はDNSサーバ運用における大きな脅威です。

DNSサーバが停止するとWebやメールなど多くのサービスへ影響が発生するため、事前の対策が欠かせません。

Anycast、RRL、冗長化、監視などを組み合わせることで攻撃耐性を高めることができます。

安定したDNSサービスを提供するためには、防御策を多層的に実施することが重要です。