DDoS 攻撃による Gehirn DNS 名前解決障害
Incident Report for Gehirn Web Services
Postmortem

2022 年 9 月 26 日に Gehirn DNS 権威ネームサーバーに対する DDoS 攻撃が発生し、断続的に名前解決できなくなる障害が発生いたしました。

ご利用中のお客さまにご不便とご迷惑をおかけいたしましたことをお詫び申し上げます。

本件に関してお気づきの点やご不明な点、ご意見などがございましたら Gehirn Web Services サポートセンターお問合せフォーム よりお問い合わせください。

障害期間

以下の 2 つの期間にわたり、 Gehirn DNS の名前解決ができなくなりました。

  • 9 月 26 日 21 時 28 分から同 21 時 55 分までの 27 分間
  • 9 月 26 日 22 時 20 分から同 23 時 38 分までの 78 分間

障害原因

DDoS 攻撃により Gehirn DNS の処理能力を上回る大量の不正な DNS クエリが殺到し、正当なクエリに対する応答ができなくなりました。

今回の攻撃では最大で平時の 600 倍程度の DNS クエリを観測しております。

また、 Gehirn DNS が利用するサードパーティ製の DNS サーバーソフトウェアでは、処理能力を上回る DNS クエリに対しサーバーがクラッシュする挙動により再起動を繰り返し(クラッシュループ)、 DNS クエリの処理能力が通常よりも大幅に低下いたしました。

さらに、 OS カーネルのステートフルファイアウォールで設定されていた UDP 通信の最大エントリ数を超過したため、新たな DNS クエリを受けられなくなる期間も発生いたしました。

再発防止

Gehirn DNS では日常的に DDoS 攻撃を受けており、これまでは障害を発生させずに対応していたところ、今回はこれまでに経験したことがない規模の DDoS 攻撃を複数回にわたり受けたことで障害が発生いたしました。

今回の障害は外的要因である DDoS 攻撃に起因するものの、発生しうる攻撃規模に対する当社の想定が不十分であったこと、そのため即応性のある対応手段を十分に用意できていなかったことを課題として認識しております。

また、これまでの想定規模を上回る DDoS 攻撃による高負荷に対して、サードパーティー製ソフトウェアが当社が認識していなかった挙動を示す例を複数確認しており、このことが障害の早期解決に悪影響を及ぼしました。

このため、処理能力の向上および高負荷時における名前解決処理全体の挙動の調査などを主とした再発防止策を講じております。

このほか、攻撃を受けている DNS ゾーンに対する個別の対応などについて現在検討を進めております。

また、ソフトウェアの性能基準を引き上げることにより、今後も継続して処理能力の向上に努めてまいります。

サーバーノード追加の自動化

今回の障害は DDoS 攻撃により正当な DNS クエリを処理するための処理能力が Gehirn DNS 全体で不足したことが直接的な原因となっております。

これまでの Gehirn DNS のネットワークトポロジーでは、サーバーノードの追加にあたり当該ノード固有の設定の生成などのためエンジニアの介在が不可欠となっており、稼働を開始するまでの時間が長くなっておりました。

このためネットワークトポロジーを見直し、エンジニアの介在なくサーバーノードを自動的に追加できるようにいたしました。

この対応は障害対応中に応急的に実施し、 10 月の第 1 週までに改めて実施し直し完了しております。

処理能力の向上

大量の DNS クエリに対する処理能力を向上するため、 Gehirn DNS 全体におけるアーキテクチャの見直しおよびソフトウェアの修正を行いました。

この見直しおよび修正には、 DNS クエリに応答するソフトウェアの部分的な書き直しや Gehirn DNS API における DNS リソースレコードの処理方法の変更、データベース構成の見直しなどが含まれます。

DNS クエリに応答するソフトウェアの書き直しにおいては、最大で 10 倍程度の処理能力向上を実現しております。とりわけ今回の攻撃でも行われたランダムプレフィックス攻撃に対する処理能力が大幅に向上しております。

また、名前解決の高速化により、 Gehirn DNS をご利用のお客さまの Web サイトの部分的な高速化も見込まれます。

これまでにご案内した Gehirn DNS サービス仕様の変更も、これら一連の見直しおよび修正に伴うものとなっております。

これら一連の作業は逐次実施し、ソフトウェアの製品環境へのデプロイも含め 10 月 27 日までに完了しております。

ソフトウェア設定項目の洗い出しおよびチューニング

高負荷に対してサードパーティー製ソフトウェアが当社が認識しない挙動を示したことが長期化の一因になりました。

このため、試験環境において実際の攻撃 DNS クエリを模した負荷をかける方法によるベンチマークテストを実施いたしました。

このベンチマークテストにより、高負荷時の挙動の把握および関連する設定項目の洗い出しを実施し、より処理能力が高くなるよう設定内容をチューニングいたしました。

DNS ファイアウォールの設定変更

Gehirn DNS では DDoS 攻撃に対応するため、クラウド型のファイアウォール製品を導入しております。

今回の障害を受け、 Gehirn DNS のネームサーバーがより確かに保護されるよう、このファイアウォールの設定内容の見直しおよび設定変更を実施いたしました。

また現在、ファイアウォールのプロバイダに対し、攻撃を受けた際や障害が発生した際の挙動などに関する照会を行っております。

障害タイムライン

DDoS 攻撃第 1 波

  • 9 月 26 日 21 時 28 分、DDoS 攻撃第 1 波が開始
  • 同時刻、名前解決が停止
  • 9 月 26 日 21 時 34 分に監視システムが異常を検知しエンジニアに通知
  • 同時刻、エンジニアが通知を受け調査と対応を開始
  • 9 月 26 日 21 時 55 分、第 1 波の攻撃が停止
  • 同時刻、名前解決が回復
  • 9 月 26 日 22 時 00 分、ステートフルファイアウォール機能の UDP 最大エントリ数を拡張
  • 同時刻ごろ、キャッシュレイヤーにおけるリソースレコードキャッシュの有効期間を延長し、オリジンネームサーバーが応答できなくなった場合のキャッシュ応答を強化

DDoS 攻撃第 2 波

  • 9 月 26 日 22 時 20 分、第 2 波の攻撃が開始
  • 同時刻ごろ、再度名前解決が停止
  • 9 月 26 日 23 時 00 分、 DNS クエリのスロットリングを開始
  • 同時刻ごろ、 DNS サーバーソフトウェアのクラッシュループが解消
  • 同時刻ごろ、名前解決の部分的な回復を確認
  • 9 月 26 日 23 時 38 分、名前解決の回復を確認
  • 9 月 26 日 23 時 52 分、第 2 波の攻撃が停止

事後対応

  • 9 月 26 日 23 時 46 時ごろ、さらなる攻撃に備え処理能力を向上するため、サーバーノード追加の検討を開始
  • 9 月 27 日 0 時 0 分ごろ、負荷状況に応じたサーバーノードのオートスケールを可能にするため、ネットワークトポロジーの変更やインフラプレイブックの編集を開始
  • 9 月 27 日 2 時 28 分、 DNS クエリ数に応じたオートスケールを有効にしたサーバーノード群の追加を完了
  • 9 月 27 日 6 時 33 分ごろ、攻撃が停止したこと、同程度の攻撃に対する十分な処理能力を確保したことから障害対応体制を解除し、サービスステータスを変更
  • その後、およそ 1 日間にわたり普段より DNS クエリが多い状況が継続し、突発的な DNS クエリの増大を複数回確認するも障害に至らず
  • 10 月 27 日までに上記の再発防止策を順次実装

お問い合わせ先

本件に関するお問い合わせは Gehirn Web Services サポートセンターお問合せフォーム までお寄せください。

変更履歴

  • 2022 年 11 月 1 日 20 時 29 分

    • 公開
  • 2022 年 11 月 2 日 0 時 19 分

    • 第二次障害期間の終了時刻および継続時間を修正

      • Gehirn DNS ネームサーバーの応答状況を元にした期間から、当社が運営する Gehirn DNS 利用システムの実際の障害期間に修正(期間を拡大)したことにより、障害の影響時間がより正確に反映されています
    • DDoS 攻撃第 2 波の攻撃停止時刻を修正

Posted Nov 01, 2022 - 20:29 JST

Resolved
昨 9 月 26 日午後 11 時 38 分を最後に現在まで攻撃は観測しておりませんことから、本インシデントを解決済みといたします。引き続き監視を続けてまいります。
Posted Sep 27, 2022 - 17:44 JST
Update
昨 9 月 26 日午後 11 時 38 分を最後に現在まで攻撃は観測しておりません。引き続き監視を続けてまいります。
Posted Sep 27, 2022 - 06:33 JST
Update
午後 10 時 20 分から午後 11 時 38 分ごろにかけ、再び DDoS 攻撃を受け DNS 応答に障害が発生しておりました。
Posted Sep 27, 2022 - 00:01 JST
Monitoring
21 時 55 分頃に DDoS 攻撃が停止したことから現在は安定しており、状況を注視しております。また、緩和策を検討・実装しております。現在は影響の緩和のため、 DNS リソースレコードを更新してから権威サーバーで応答されるようになるまでに通常より長い時間がかかるようになっております。
Posted Sep 26, 2022 - 22:17 JST
Update
外部からの DDoS 攻撃により応答性が低下しているものとみられます。現在、対応を進めております。
Posted Sep 26, 2022 - 21:44 JST
Investigating
Gehirn DNS で名前解決に失敗する障害が発生しています。現在原因を調査しております。
Posted Sep 26, 2022 - 21:39 JST
This incident affected: Gehirn DNS (Authoritative Servers).