Cloudflare、全世界で発生した障害の経緯を解説

2019年7月15日 21:27

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)を変更中であり、ルールのパフォーマンスを確認する項目をテストに追加することや、正規表現エンジンの切り替えも予定しているとのことだ。 

関連記事

最新記事