Cloudflare、ファイアウォールに追加した「正規表現のミス」が全面的なCDNダウンの原因と報告。「キルスイッチ」で解除

2019年7月3日

日本時間で昨夜11時50分頃から約30分のあいだ、CloudflareのCDNが全面的にダウンし、同社のサービスを利用していたWebサイトなどが影響を受けた問題について、同社はブログを更新

今回のCDNがダウンした原因は、ファイアウォールに追加した新ルールの中に正規表現のミスが含まれていたためであることを明らかにしました。

参考:CloudflareのCDNが全面的に約30分ダウンし、世界中のWebサイトが影響を受ける。原因はソフトウェアの動作不良。ロールバックで対応

ファイアウォールに新ルールを追加したことが引き金に

同社のCDNにはWebアプリケーションファイアウォールの機能があり、新たにこのファイアウォールに追加したルールの中に間違いが含まれていたことがCPU使用率のスパイクを引き起こし、CDNダウンにつながったと説明されています。以下、ブログより引用します。

The cause of this outage was deployment of a single misconfigured rule within the Cloudflare Web Application Firewall (WAF) during a routine deployment of new Cloudflare WAF Managed rules.

この障害の原因は、Cloudflare Web Application Firewall (WAF)への定期的な新管理ルールの追加の際に、1つの間違ったルールをデプロイしてしまったためです。

この新ルールは、攻撃に使われる可能性のあるインラインJavaScriptのブロックを改善する意図で作られたもの。まずは実際にブロックすることなくシミュレーションモードで実行することにより、新ルールの誤検出率や効果などをログによって測定する予定だったとのことです。

しかしここに間違いが含まれていました。

Unfortunately, one of these rules contained a regular expression that caused CPU to spike to 100% on our machines worldwide. This 100% CPU spike caused the 502 errors that our customers saw.

遺憾ながら、正規表現を含むルールの1つが世界中のわれわれのマシンのCPUの利用率を100%にまでスパイクさせてしまった。この100%のスパイクが、お客様が見た502エラーの原因であった。

同社は同社のネットワーク全体にソフトウェアをデプロイする際に大きな障害にならないよう、テストした上で順次デプロイしていく仕組みを持っていましたが、今回のファイアウォールのルールは一度にグローバルに展開されてしまったと。

障害発生から約10分後、原因がファイアウォールのルールにあることに気づいた同社は、ファイアウォールの管理ルール群に対して「グローバルキル」スイッチを発効。これによりCPUのスパイクは解消され、さらに7分後にはトラフィックも正常に戻りました。

その後、問題のルールをロールバックし、変更後のルールをテスト。問題ないことを確認した後にファイアウォールのルール群を再有効化したとのことです。

Our testing processes were insufficient in this case and we are reviewing and making changes to our testing and deployment process to avoid incidents like this in the future.

今回のケースにおいてわれわれのテストプロセスは不十分であった。テストとデプロイのプロセスを見直し、変更することで、このような障害が今後起こらないようにしていく。

あわせて読みたい

クラウド クラウド障害 Cloudflare




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本