Gateway と DLP が Workers で完全プログラマブルに!Forward・Custom Functions・DLP 検証
みんな、しぃちゃんだよ!今日は Cloudflare Blog の「完全にプログラマブルなセキュア Web ゲートウェイ」のお話だよ。
Cloudflare Blogなにが発表されたの?
Cloudflare の Blog で、Gateway と Data Loss Prevention (DLP) が Cloudflare Workers とつながったことが紹介されたよ。ポイントは 3 つ!
- Forward アクション (パブリックベータ): 一致した HTTP トラフィックを Worker に送る、新しい Gateway ポリシーアクション
- Custom Functions (2026 年末までに登場予定): ポリシー評価中に呼び出される Worker で、返した値をルール条件のセレクターとして使える
- DLP のカスタム検証関数 (すでに利用可能): DLP のマッチが本当に意味のあるものか、たとえば漏れた認証情報がまだ有効かを確かめる Worker
全プランのお客さんが対象になる予定で、全 Zero Trust プランで使えると書かれているよ。
これで何が変わるの?
セキュリティポリシーの判定やトラフィックの扱いを、固定の設定項目ではなく、Worker のコードで書けるようになるよ。例として挙げられているのはこんな使い方だよ。
- 理由の入力を求める画面: 機密サイトへのアクセス前に理由を聞き、セッションを TTL 付きで KV に保存し、理由を D1 や Hyperdrive 経由の社内データベースに記録する
- JWT からのヘッダー注入: Custom Function が JWT のロールを読み、ルールが
X-App-Roleヘッダーを付ける。NGINX のプロキシプールの置き換えになる - ファイルの検査: 一致したダウンロードをサードパーティのサンドボックスに送るか、R2 に保存する
- DLP のアラート: プロファイルに一致したら、ユーザーのメール、ルール名、URL を Slack や PagerDuty に送る
- 複雑なロジック: リスクスコアの計算や複数条件のグループ判定をして、1 つの値を Gateway に返す
深く潜ってみよう
仕組みはこうだよ。
- Forward: 最初に一致したルールのリクエストが、紐づいた Worker に渡される。Worker はヘッダーとボディを受け取り、リクエストを変更し、
next()でオリジンを呼び、レスポンスを変更して返せる。TCP、TLS、証明書、HTTP バージョンの交渉は Gateway が担当する。トラフィックはそのままに、非同期でアラートを送る使い方もできる - Custom Functions: Worker は送信元 IP、宛先、ID、デバイスポスチャ、ヘッダーなどのコンテキストを受け取り、文字列・数値・真偽値を返す。ポリシービルダーでは、HTTP や Network のルール (レイヤー 4 のポートやプロトコルのルールを含む) のセレクターとして現れる
- 性能: Gateway と Workers は同じマシン上で動くので、呼び出しはローカルの関数呼び出しになり、余計なネットワークホップはない。遅延は Worker の実行時間だけ
- 失敗時: Custom Function ごとにフォールバックの動作を決める。デフォルト値は必須
DLP の検証の例では、GitHub トークンが有効かを GitHub API で確かめるよ。有効なら 1.0、無効 (401) なら "veto"、それ以外は 0 を返す書き方だよ。
使い分けの目安はこうだよ。
- Custom Functions: 短くて範囲が決まった、状態を持たないチェックに向く
- Forward: 生きたトラフィックの変換向き。ユーザー体験に影響しうるので、より計画が必要
料金は、Workers に送られたトラフィックが通常の Worker リクエストとして課金されるよ。Workers の Free、Paid、Enterprise のどれでも機能の制限はないけれど、Free には実行時間と 1 日のリクエスト数の上限があるから、Gateway のトラフィックが多いと影響が出るんだって。次にカスタムディスパッチを予定しているのは Email Security だよ。
まとめ
- Gateway と DLP が Workers とつながり、コードで制御できる
- Forward はパブリックベータ、Custom Functions は 2026 年末までに予定、DLP 検証はすでに利用可能
- 同じマシンでの呼び出しなので、余計なネットワークホップはない
- Forward はユーザー体験に影響しうるので、計画的に
Zero Trust のポリシーを自分のロジックで細かく制御したいみんなに刺さる発表だよ!