🌐⚠️ Cloudflare 2025年11月18日大規模障害の全貌と教訓

2025年11月18日、インターネットインフラの基幹を担うCloudflareのネットワークで大規模な障害が発生し、世界中のウェブサイトやサービスに深刻な影響を及ぼした。この障害は日本時間18日20:20頃に始まり、核心的なトラフィック配信に失敗を招き、多くのユーザーに対してCloudflare内部エラーを示すページが表示された。注目すべきは、原因がサイバー攻撃ではなく、内部システムの設定変更による予期せぬ連鎖反応だった点である。

CloudflareはCDN(コンテンツデリバリーネットワーク)、セキュリティ、サーバーレスプラットフォームを提供する企業として、グローバルなトラフィックの多くを処理している。今回のインシデントは、Bot Managementシステムの特徴ファイルが異常に肥大化したことでコアプロキシソフトウェアがクラッシュし、HTTP 5xxエラーが急増したものだ。初期対応では大規模DDoS攻撃を疑ったが、根本原因を特定した後、約3時間で主要な影響を解消。完全復旧は日本時間19日2:06となった。

この障害は、Cloudflareの重要性を改めて浮き彫りにした。インターネットの基盤が単一プロバイダに依存するリスクを露呈しつつ、障害発生時の透明性と迅速な対応が信頼を維持する鍵であることを示した。以下では、障害の詳細な経緯、技術的背景、影響範囲、再発防止策を客観的に分析する。


:magnifying_glass_tilted_left: 障害発生の概要

2025年11月18日日本時間20:20、Cloudflareのネットワークでコアトラフィックの配信失敗が顕在化した。通常、5xxエラー率は極めて低い水準を保っているが、この時点で急激にスパイクが発生。エラー率の変動が特徴的で、一時的に回復する局面を繰り返した。これは、特徴ファイルが5分ごとに生成・配布される仕組みによるもので、ClickHouseクラスタの更新状況に応じて「正常ファイル」と「異常ファイル」が交互に配信された結果だ。

最終的に全ノードが異常ファイルを生成する状態に陥り、安定した障害モードへ移行。日本時間23:30に異常ファイルの生成・配布を停止し、既知の正常ファイルを手動投入することで主要回復を達成した。残存影響は追加のサービス再起動で解消され、日本時間19日2:06に全システムが正常化した。

この変動パターンが攻撃疑念を強めたが、実際は内部変更が引き金だった。Cloudflareはこれを2019年以来最悪の障害と位置づけ、深い反省を述べている。


:shield: Bot Managementシステムとは

CloudflareのBot Managementは、悪意ある自動化トラフィック(ボット)を検知・制御する重要なセキュリティ機能だ。機械学習モデルを基盤とし、毎回のリクエストに対して1〜99のボットスコアを付与。スコアが低い(30未満)場合にボットと判定し、ブロックやチャレンジを発動する。

主な検知手法には、機械学習による特徴分析、行動解析、フィンガープリンティングが含まれる。特徴ファイルは数分ごとに更新され、ネットワーク全体に迅速配布される。これにより、新種のボット攻撃に即応可能だ。

:+1: 良い点

  • グローバルな脅威インテリジェンスを活用した高精度検知
  • CAPTCHAなしでユーザー体験を損なわずボットを制御
  • Verified Bot(Googlebotなど良性ボット)のホワイトリスト対応

:-1: 悪い点

  • 特徴ファイルのサイズ制限が厳格で、予期せぬ拡大がシステム全体を停止させるリスク
  • 依存するコアプロキシの耐障害性が不足していた事例

今回の障害は、この特徴ファイルが原因で発生した典型例だ。


:collision: 根本原因:ClickHouse権限変更の波及効果

障害のトリガーは、日本時間18日20:05に施されたClickHouseクラスタの権限管理改善だった。分散クエリをよりセキュアにするため、分散テーブル(defaultデータベース)から基底テーブル(r0データベース)への明示的アクセスを付与した。

これにより、データベース名を指定しないクエリが、重複したメタデータを返却するようになった。Bot Managementの特徴ファイル生成ロジックがこのクエリを基にしていたため、ファイル内の特徴行数が倍増(通常約60 → 200超)。

コアプロキシ(Frontline: FLおよびFL2)では、パフォーマンス最適化のため特徴数を200に固定予割当していた。超過するとパニックが発生し、5xxエラーを返却。FL2(Rust実装)ではクラッシュ、旧FLではボットスコアが0になる挙動差が生じた。

この変更は段階的ロールアウト中だったため、障害が断続的に現れた。

要素 変更前行為 変更後行為 結果的な影響
ClickHouseクエリ defaultデータベースのみ返却 default + r0の重複メタデータ返却 特徴行数倍増
特徴ファイルサイズ 固定(約60特徴) 200超 メモリ制限超過
コアプロキシ(FL2) 正常処理 unwrap()パニック → 5xxエラー トラフィック配信失敗
コアプロキシ(旧FL) 正常処理 ボットスコア0(誤検知増加) セキュリティ機能一部無効化

:globe_with_meridians: 影響を受けた主なサービス

障害はコアプロキシ依存のサービスに広範に波及した。

サービス 主な影響内容 復旧タイミングのポイント
Core CDN / Security HTTP 5xxエラー大量発生、レイテンシ急増 日本時間23:30主要回復
Turnstile ウィジェット読み込み失敗、ログイン不可 Workers KVバイパスで一部軽減
Workers KV 5xxエラー増加(フロントエンドゲートウェイ経由) 日本時間22:04コアプロキシバイパス実施
Dashboard Turnstile依存でログイン障害、遅延増加 日本時間19日0:30スケーリングで復旧
Cloudflare Access 認証失敗(既存セッションは影響なし) 構成変更遅延も全回復
Email Security IPレピュテーション一時喪失(スパム検知精度低下) クリティカル影響なし

Turnstileは非対話型CAPTCHA代替として、証明作業やブラウザ特性探査で人間性を判定するが、今回はKV依存がボトルネックとなった。


:alarm_clock: 障害対応の詳細タイムライン

時間 (日本時間) 状況 主な対応内容
11月18日 20:05 正常 ClickHouse権限変更デプロイ
11月18日 20:20 影響開始 初回エラー観測
11月18日 20:32〜22:05 調査中 Workers KV劣化を疑い、トラフィック操作試行
11月18日 22:05 影響一部軽減 Workers KV / Accessを旧プロキシへバイパス
11月18日 22:37 Bot Managementファイル特定 ロールバック作業開始
11月18日 23:24 異常ファイル生成停止 正常ファイルテスト成功
11月18日 23:30 主要影響解消 グローバル正常ファイルデプロイ
11月19日 2:06 全サービス復旧 残存サービス再起動完了

初期の攻撃誤認は、ステータスページの一時ダウン(偶然)も影響した。


:wrench: 再発防止に向けた取り組み

Cloudflareは以下の対策を既に着手している。

  • 設定ファイルの入力検証をユーザー生成入力並みに強化
  • 機能単位のグローバルキルスイッチ追加
  • エラー報告によるリソース枯渇防止
  • 全プロキシモジュールの障害モード再審査

これらは、システムのレジリエンスをさらに高めるものだ。過去の障害からも学び、トラフィックフローを途切れさせない設計を追求している。


:memo: 結論:インターネット基盤の脆弱性と今後の示唆

2025年11月18日のCloudflare障害は、内部変更の予期せぬ波及がグローバルインフラを停止させる可能性を示した。攻撃ではなかったことが幸いだったが、依存度の高いサービスでは同様のリスクが常在する。

ポジティブな点は、原因特定から数時間での回復と、詳細なポストモーテムの公開だ。これにより業界全体の学びが得られる。一方で、単一障害点の排除や多層防御の重要性が再確認された。

企業はCloudflareのような基盤を利用する際、縮退運用や代替経路を検討すべきだ。ユーザー側も、広域障害時の冷静な情報収集が有効である。Cloudflareは「インターネットをより良くする」使命を掲げており、この経験を活かしたより強固なシステム構築が期待される。

(参考: Cloudflare公式ブログ “Cloudflare outage on November 18, 2025” https://blog.cloudflare.com/18-november-2025-outage/ および関連ドキュメント)