
出典:ZUMA Press Inc. / Alamy Stock Photo
Cloudflareは、火曜日に数時間にわたり主要なウェブサイトやサービスが停止した障害の原因が、内部設定ミスによるものだったと説明し、クラウドコンピューティングエコシステムにおけるサードパーティ依存の問題を改めて浮き彫りにしました。
この障害は、火曜日の11:20 UTCから発生し、X、Uber、Canva、ChatGPTなどのサイトに影響を与えました。当初は分散型サービス拒否(DDoS)攻撃が原因と考えられていましたが、Cloudflare創業者兼CEOのMatthew Princeによるブログ投稿で、障害の技術的側面が解説されました。
しかし、同社は「データベースシステムの権限の一部を変更したことで、Bot Managementシステムで使用される『フィーチャーファイル』に複数のエントリが出力されるようになった」とPrince氏は記しています。
この変更の結果、フィーチャーファイルのサイズが2倍になり、その後Cloudflareネットワーク内のすべてのマシンに配布されました。これらのシステム上で動作するソフトウェアは、絶えず変化する脅威に対応するために、このファイルを読み込んでBot Managementシステムを最新の状態に保っています。
しかし、Prince氏によると、フィーチャーファイルのサイズには上限があり、新しいファイルはその上限を超えてしまいました。「これによりソフトウェアが動作しなくなり」、結果としてCloudflare上で稼働するウェブサイトがユーザーに「内部サーバーエラー」のメッセージを表示することになったと述べています。
技術的詳細
Cloudflareは、ネットワーク内で5xxエラーのHTTPステータスコードの件数が基準値を大きく上回り、その後大きく変動し始めたことで問題に気付きました。これは、誤ったフィーチャーファイルを読み込んだことによるシステムの障害を示していたとPrince氏は説明しています。
注目すべきは、システムが繰り返し障害を起こしては回復するという「内部エラーとしては非常に珍しい挙動」を示したことです。そのため、当初CloudflareはDDoS攻撃を受けていると考えていました。
しかし、最終的に管理者が気付いたのは、誤ったファイルがClickHouseデータベースクラスター上で実行されているクエリによって5分ごとに生成されていたということでした。このクラスターは権限管理の改善のために段階的にアップデートされていました。
「クエリがアップデート済みのクラスター部分で実行された場合のみ、誤ったデータが生成されていた」とPrince氏は記しています。「その結果、5分ごとに良い設定ファイルまたは悪い設定ファイルが生成され、ネットワーク全体に急速に配布される可能性がありました。」
この変動により、何が起きているのかが不明確なままでしたが、最終的に「すべてのClickHouseノードが誤った設定ファイルを生成し、障害状態で変動が安定した」と彼は述べています。
問題の特定後、Cloudflareは、誤ったフィーチャーファイルの生成と配布を停止し、既知の正常なファイルを手動で配布キューに挿入し、コアプロキシの再起動を強制することで問題を解決しました。
解決と謝罪
Cloudflareは14:30 UTCまでにほぼ障害を解決し、「コアトラフィックはほぼ通常通りに流れていた」と投稿で述べています。17:06 UTCまでには、Cloudflareの全システムが再び正常に稼働していました。
Prince氏は、Cloudflareがインターネットエコシステムにとって重要であることを認め、この障害について謝罪し、「当社のシステムのいかなる障害も容認できない」と宣言しました。同社は、インターネット上の全ウェブサイトの約20%に対して、セキュリティやその他のサービスを提供するコンテンツ配信ネットワークです。
「当社のネットワークがトラフィックをルーティングできなかった時間があったことは、チーム全員にとって非常に痛ましいことです」とPrince氏は記しています。「本日は皆様の期待を裏切ってしまいました。」
実際、同社は2019年以来、大規模な障害によってコアトラフィックの大部分がネットワークを通過できなくなったことはありませんが、その間に小規模なインシデントは発生しています。
障害がビジネス継続性の重要性を浮き彫りに
残念ながら、ネットワークの障害によって重要なビジネスウェブサイトがダウンする事例は、依然として比較的一般的です。昨年は、不具合のあるCrowdStrikeのアップデートによって、決済や航空会社の予約システムなど様々なシステムがオフラインとなり、企業に推定54億ドルの損失をもたらし、損害賠償訴訟が同社に対して起こされるなど、収益損失やその他の波及効果を引き起こしました。また、10月20日には、AWSが大規模な障害に見舞われ、DNSの問題が原因でクラウドサービスの顧客にほぼ終日影響を与えました。
これらの事例は、組織がインターネットの安定稼働に依存してビジネスを継続していることの脆弱性を改めて問い直すものです。実際、AIや量子コンピューティングなど先端技術が台頭する時代において、これらの技術を支えるネットワークインフラは、電力網や水道と同じくらい重要な存在となっています。
今回の障害はサイバー攻撃によるものではありませんでしたが、インターネットエコシステムの脆弱性を示し、組織がどこに相互依存があるのかを理解する必要性を示しています。また、組織がビジネス継続性や災害復旧計画を策定し、サードパーティ由来の問題でウェブサイトやサービス、その他のビジネス活動が中断される場合に備える必要性も強調しています。
Prince氏は、Cloudflareが今後の障害に備えてネットワークの強化にすでに取り組んでいると述べています。これには、Cloudflare生成の設定ファイルの取り込みをユーザー生成入力と同様に強化すること、機能のグローバルキルスイッチをさらに有効化すること、コアダンプやその他のエラーレポートがシステムリソースを圧迫しないようにすること、すべてのコアプロキシモジュールでエラー状態の障害モードを見直すことなどが含まれます。
翻訳元: https://www.darkreading.com/cyber-risk/cloudflare-blames-outage-internal-error