公開 更新 新機能・アップデート執筆・監修 佐々木 航人が監修しながらAIを活用して執筆
Cloudflare WAF、応答も見て攻撃を止める機能を全プランに
CloudflareはWAFに、届いた要求とサーバーの応答を合わせて攻撃の成功を見分ける検知と、応答を止めるルールを加えた。Freeプランを含む全プランで使える。応答を止めても、サーバーで済んだ処理は取り消せないため、ソフトの更新は欠かせない。
Cloudflareは10月21日、Webアプリケーションファイアウォール(WAF)に2つの機能を加えたと公式ブログで発表した。日本語版の記事は10月26日に出ている。1つは、届いた要求とサーバーが返した応答を組み合わせ、攻撃が成功した形跡を見分ける「トランザクション全体の検知」。もう1つは、条件に合うサーバーの応答を、相手に届く前に止める「レスポンスルール」だ。どちらもFreeプランを含む、すべてのプランで使える。
これまでのWAFは、届いた要求だけを見て止めるかどうかを決めていた。怪しい要求を広く止めれば正当な通信まで止まり、狭く絞れば判断のつかない通信がサーバーまで届く。Cloudflareは、応答も合わせて見れば、攻撃が実際に情報を引き出したかどうかで判断できると説明する。
ブログの例では、ファイルを配るページで、許された場所の外にある設定ファイルを求める要求が届く。ただし、要求だけでは、サーバーが本当にそのファイルを返すかは分からない。応答に設定ファイルらしい中身があれば、情報が漏れかけている証拠として、応答を止めてブロックのページと403を返す。
Freeプランで使える範囲
管理ルールとして、「Cloudflare Managed Response Firewall Default」というルールセットが用意された。1回の操作で入れられるように作られており、既定ではすべての要求に効く。検知に当たると、サーバーの応答に代えて、標準のブロック画面を返す。最初の管理ルールは、最近公表された「php2shell」という脆弱性への攻撃に向けたものだ。今後もFreeプランの管理ルールは注目度の高い脆弱性を中心にし、有料プランにはより多くの検知を用意するとしている。
自分で書くレスポンスルールは、すべてのプランで3つまで作れる。動きは、記録だけ(Log)と止める(Block)の2つだ。要求と応答の項目を組み合わせて条件を書け、使える項目は、そのプランで要求のカスタムルールに使えるものと同じになる。応答の本文を条件にするルールは、まだ作れない。有料プランでは、検知の結果そのものを条件に使える項目も、順に使えるようになる。
入れる前と入れたあとに見ること
設定の場所は、ダッシュボードにある「Security > Security Rules」のページの下部だ。管理ルールは既定ですべての要求に効くため、誤って止める心配があるなら、対象を一部のパスに絞ったり、特定のパスを外したりできる。設定ファイルに似た文字が、説明書や見本のダウンロードに正当に含まれることもある、とブログ自身も書いている。
また、止めた通信は「Security Events」に記録される。要求だけを見るルールと応答も見るルールは同じ画面に並び、ルールのIDで絞り込める。入れたあとの数日は、ここで止まった通信を見て、社内の人や取引先のアクセスを止めていないかを見ておきたい。
カスタムルールの例として、ブログは管理画面の誤った公開を止めるルールを挙げている。「/admin」への要求で、社内の人であることを示すヘッダーが無く、サーバーが管理画面のHTMLを正常に返した場合だけ止める、という条件だ。ログインの失敗や転送は止めない。社内だけで使うはずの画面を外から開けてしまう失敗は、3つまでの枠を使う候補になるだろう。
応答を止めても、修正は要る
ブログは、応答を止めても、サーバーですでに行われた処理は取り消せないと書いている。攻撃でサーバーの命令が動いたなら、応答を止めて結果が相手に届かなくても、命令そのものは動いたあとだ。そのため、新しい機能は、気づくまでの時間を稼ぐ守りとして見るのがよい。
Cloudflareを使ってサイトを公開している会社が、次にやることは3つになる。
- Cloudflareを使って公開しているサイトと、使っているプランを書き出す
- 「Security > Security Rules」で管理ルールの状態を見て、入れるなら止まった通信を「Security Events」で数日見る
- サーバーのソフトやPHPなどの部品の更新は、これまでどおり続ける
出典
この記事は、公式の発表をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航(株式会社Game)が担い、公開した記事も人が確認しています。記事の中身の責任は編集部が負います。誤りに気づいたときは 訂正の窓口 からお知らせください。直したときは、記事の末尾に更新の行を残します。