システム構築

サーバー構築のデージーネットTOP > システム構築 > DNSサーバ構築 > DNSキャッシュサーバの水責め攻撃対策

構築事例:DNSキャッシュサーバの水責め攻撃対策

Open Smart Design

近年、日本国内のISPでDNSキャッシュサーバの障害が報告されています。DNS水責め攻撃とよばれる攻撃が行われたためです。そのため、各ISPでは対策に追われています。本事例は、デージーネットがDNSキャッシュサーバにDNSサーバへの水責め攻撃の対策を行ったものです。

お客様が悩まれていた課題
DNSキャッシュサーバに障害が発生する
DNSキャッシュサーバに障害が繰り返し発生する
DNSキャッシュサーバに発生する障害の原因を特定できない
+導入企業プロフィール

導入企業業種

ISP(愛知県)

ユーザー規模

10万人

利用OS

CentOS7

導入月

2017年10月

デージーネットが提案した「DNSキャッシュサーバの水責め攻撃対策」

解決ポイント

DNSのログから水責め攻撃を検出

お客様から、既存のDNSサーバに障害が発生しているということで相談がありました。障害は、何度も発生し、障害原因を突き止めて対策を行う必要がありました。そこで、デージーネットで原因を調べ、対策を立案しました。

DNSログを解析し、攻撃の発生を検知

このお客様は、DNSキャッシュサーバとしてBINDを利用していました。そのため、BINDでDNSログを保管して、解析することが検討されました。しかし、DNSログを保管する負荷が高く、DNSキャッシュサーバとしての性能が大きく低下するため、導入することができませんでした。

そのため、デージーネットでは、まずDNSキャッシュサーバをUnboundに変更することをお勧めしました。また、Unboundでdnstapという仕組みを使うことで、DNSの名前解決リクエストのDNSログを高速に保管することにしました。

ビッグデータ解析の技術を応用

DNSログは、ビックデータの全文検索エンジンであるElasticsearchに保管することにしました。そして、Kibanaというソフトウェアを使って、DNSログの解析を行い可視化ができるように準備しました。

水責め攻撃と判明

UnboundのDNSログを解析したところ、特定のドメインに対して、存在しないアドレスやサブドメインを付けた問い合わせが多数行われていることが分かりました。存在しないアドレスやサブドメインのため、DNSキャッシュサーバは外部の権威DNSサーバにリクエストを送信します。この名前解決に時間が掛かるため、DNSキャッシュサーバの処理が滞留し、本来行うべき処理が行えなくなっていました。問い合わせ元は、ISPの顧客ネットワークでした。そのため、デージーネットでは、水責め攻撃であると考えて対策を行うことにしました。

水責め攻撃では、加入者宅のルータやホームサーバなどの脆弱性を利用します。それらの機器に、不正なDNSの問い合わせを行わせることで、該当ドメインのサービスを妨害しようとします。その時に、該当機器がISPのDNSキャッシュサーバに問い合わせを行うため、障害が発生していたのです。

Unboundの最新機能で水責め攻撃への対策を検討

DNSの問い合わせ元が、顧客の機器であるため、不正な問い合わせとして、単純に遮断することはできません。そのため、Unboundのratelimitと呼ばれる機能を利用して対策を行うことにしました。しかし、当時のCentOS7のUnboundパッケージでは、ratelimitを利用することができませんでした。そのため、当時の最新のUnboundをコンパイルし、インストールしました。

Unboundのratelimit機能は、水責め攻撃の対象になっているDNSゾーンに、自動的に流量制限を行なうことができます。この機能を有効にすることで、問題の発生を抑えることができると考えたのです。

流量制限の懸念点を払拭

ただ、多くのユーザが利用するドメインが水責め攻撃の対象の場合には、Unboundの流量制限により問題が生じるのではないかという懸念がありました。しかし、Unboundのratelimitの機能では、既にキャッシュされている情報は制限対象にならないことが分かりました。そのため、多くのユーザが利用しているドメインの名前解決は、制限対象になりにくく、ほとんどの場合には、攻撃者のみが制限対象になることが分かりました。また、あくまでも流量制限機能であるため、もし制限対象となった場合にも名前解決は継続して行われます。一度、名前解決が行われれば結果がキャッシュされるため、問題にはならないことがわかりました。

水責め攻撃への対策の効果

不正アクセスに流量制限が掛かったことで、DNSキャッシュサーバの負荷を低下することができました。この対策で、サービスを一般利用している善良なユーザへの影響を最小限に抑えながら、水責め攻撃への対策を行うことができたのです。

導入後の結果

DNSサーバへの水責め攻撃の対策が自動的に行えるようになり、DNSキャッシュサーバが障害で停止することもなくなりました。そのため、運用がとても楽になり、安心できるようになったと評価を頂いています。また、DNSログを解析することで、問題の発生元となった古いルータやホームサーバを見つけ、利用者に連絡をしていくことで、徐々に問題の発生源が減りました。結果的に、DNSサーバへの水責め攻撃そのものも減らすことができました。

DNSキャッシュサーバの水責め攻撃対策の関連ページ

DNSサーバ構築の事例一覧

デージーネットの構築サービスの流れ

デージーネットの構築サービス(Open Smart Design)では、OSSを安心して使っていただくために、独自の導入ステップを採用しています。詳しい情報は以下のリンクからご覧ください。


様々な事例を集めたモデルプラン(費用例付き)をお送りしています。

代表的な事例を集めた「モデルプラン」をお送りしています。費用の例も記載しておりますので、価格感も知って頂ける資料となっております。
ご希望の方は、下記よりお申し込みください。


モデルプランをご希望の方

各種費用についてのお問い合わせ

コンサルティング費用、設計費用、構築費用、運用費用、保守費用など、各種費用についてのお見積もりは以下のフォームよりお気軽にお問合せ下さい。


unboundやPowerDNSを使用したDNSサーバのモデルプランをご希望の方

DNSキャッシュサーバの水責め攻撃対策の先頭へ