関連記事
Cloudflare、全世界で発生した障害の経緯を解説
Cloudflareが2日におよそ30分間にわたって発生した障害について解説している(Cloudflareのブログ記事、The Registerの記事)。
Cloudflareでは復旧直後のブログ記事でWeb Application Firewall(WAF)の新ルールにCPUを100%使用する正規表現が含まれていたことと、ルールが段階的ではなく短時間に全世界に展開されたことを原因としていたが、世界規模の障害につながった理由はそれだけではないという。問題の正規表現には .*(?:.*=.*) という部分があり、これが多数のバックトラックを生む原因となったのだが、テストには極度なCPU使用を確認する項目がなかったそうだ。
また、極度なCPU使用を防止する保護機能が数週間前に誤って削除されていたこと、Cloudflareの他のソフトウェアと異なり迅速性が重視されるWAFルールは全世界に一括展開されるようになっていたこと、サービスがダウンして内部のコントロールパネルで認証が行えない状態だったことも原因として挙げられている。新ルールは当初、ユーザーのトラフィックをブロックせずにパススルーする「シミュレート」モードで展開されていたものの、処理自体は実際に行われるためCPU使用率の上昇につながったとのこと。
今回の問題を受けてCloudflareでは極度なCPU使用に対する保護機能を復元し、すべてのWAFルールを人力でチェックして極度なバックトラックが発生する可能性を排除したという。また、ルールを段階的に展開するようSOP(Standard Operating Procedure)を変更中であり、ルールのパフォーマンスを確認する項目をテストに追加することや、正規表現エンジンの切り替えも予定しているとのことだ。
スラドのコメントを読む | ITセクション | ネットワーク | バグ | IT
関連ストーリー:
大阪市のシステム障害、2ノードのOracleデータベースサーバーで同じシステムファイルが破損したことが原因 2019年06月12日
Microsoft Azure、DNSの設定変更に失敗して全世界的に一時サービス障害 2019年05月14日
複数の銀行でネットバンキング障害、GW明けでアクセスが集中か 2019年05月09日
※この記事はスラドから提供を受けて配信しています。
スポンサードリンク
関連キーワード