Cloudflare WAF の漏洩認証情報検出、Basic 認証のパスワードもついに見てくれるようになったよ!
やっほー、しぃちゃんだよ!今日は Cloudflare の WAF が、地味だけど大事な穴をひとつ塞いでくれたニュースを見つけたから紹介するね。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、WAF の「漏洩認証情報検出(Leaked Credentials Detection)」機能が、HTTP リクエストの Authorization ヘッダーもスキャン対象に追加したって発表されたよ。
具体的には Authorization: Basic ヘッダーを自動でデコードして、そこに含まれるユーザー名とパスワードを Cloudflare の漏洩認証情報データベースと突き合わせてくれるようになったの。つまり Basic 認証でログインするタイプのアプリでも、漏れているパスワードを使われていないかチェックしてもらえるようになったんだよ。
今までどうだったの?
漏洩認証情報検出はもともと、リクエストボディやクエリ文字列、それから主要な Web アプリケーション向けに用意された既知のヘッダー(または管理者が設定したカスタムの検出場所)しかスキャンしてなかったの。
だから HTTP Basic Authentication で送られてくる認証情報は、デフォルトの検出範囲から漏れちゃってたんだよね。Basic 認証って社内ツールや API のかんたんな認証手段として今でもよく使われてるから、そこがノーマークだったのはちょっと意外な穴だったかも。
これで何が変わるの?
Basic 認証を使っているアプリやエンドポイントでも、流出済みのユーザー名・パスワードの組み合わせでログインされそうになったら、Cloudflare 側で検知できるようになったの。しかも設定変更は一切不要で、漏洩認証情報検出が有効になっているゾーンには自動的に適用済みなんだって。
検出結果は今まで通り cf.waf.credential_check.password_leaked みたいな既存のフィールドに入るし、Exposed-Credential-Check の管理対象トランスフォームヘッダーを設定していれば、それもそのままトリガーされるよ。つまり今あるカスタムルールやレート制限ルールを書き換えなくても、そのまま守備範囲が広がる形なの。
深く潜ってみよう
原文で語られている技術的なポイントは、Basic 認証ヘッダーのデコードと突き合わせのロジックが、他のデフォルトの検出場所(リクエストボディやクエリ文字列など)とまったく同じ仕組みで動く、というところだよ。特別なルールを別建てするんじゃなくて、既存の検出パイプラインに検査対象を 1 つ足しただけ、というシンプルな拡張になっているみたい。
まとめ
- Cloudflare WAF の漏洩認証情報検出が、Authorization ヘッダーの Basic 認証資格情報もスキャンするようになったよ
- 今まではリクエストボディ・クエリ文字列・既知のヘッダーしか見ていなくて、Basic 認証はカバー外だった
- 検出結果は既存のフィールドやマネージドトランスフォームヘッダーにそのまま乗るので、ルールの変更は不要
- 対象ゾーンには自動適用済みで、設定作業もいらない
社内ツールやレガシーな API で Basic 認証をまだ使っている人は特に、知らないうちに一段守りが固くなってたってことで、ちょっと得した気分になれるニュースだね!