Cloudflare Zero-Trust でアプリの認証をバイパスする備忘録です.
ひさしぶりの更新です.結論ですが,
Zero-Trust の「Access コントロール」の「 ポリシー」として,Bypass を定義・適用する
だけです.ただし,Zero-Trust の考え方からするとあまり望ましくない設定であることを覚えておくべきだと思います.
Cloudflare Zero-Trust とは?
Cloudflare が提供する社内・社外の境界を設けず,すべてのアクセス元やユーザー,デバイスを「信用しない」前提で毎回厳格に検証するゼロトラストセキュリティモデルを,クラウド上で簡単かつ高速に実現できるプラットフォームです.個人でも最大50ユーザー(50デバイス)まで費用0円で利用できてしまいます.Tailscale

とか Pangolin

とかと同じようなことできる(というかもっと広い範囲のことできる)ので,個人的に利用している人も多いと思います.
アプリの認証をバイパスするってなに?
Cloudflare Zero-Trust で Tailscale と同じようなことできるってことは,つまり,
自宅などで立ち上げている Web サービス等をポート開放などせずにインターネットに公開できてしまう!
ってことです.実際,この blog もそうやって公開しています.この公開されるWebサービスのことを Cloudflare Zero-Trust では「アプリ」と呼びます.
もちろん単に公開できるだけじゃなくて,Zero-Trust 対応ですから,
- 公開ページを SSL に対応させる
- 認証機能を追加できる
- 公開範囲を国ごとに制御できる
- アクセス解析ができる
など,とにかくいろいろできる.

と言うことは,当然,アプリ(Web サービス)に接続すると,その前に何らかの認証が発生することになるわけで,Cloudflare Zero-Trust の場合,
- Cloudflare One アプリ経由での接続
- One-Time Pin を用いた認証
- メールアドレス を用いた認証
- 証明書を用いた認証
など(いろいろできる)が事前に発生します.実際に以下のような認証画面を見たことがある人もいるのではないかと思います.
しかし,この認証をバイパスし,直接サービスに接続できて欲しいことがあります.例えば,サービスを監視するサービスからの接続は認証なしにしたいなどです.よくあるのは特定の IP アドレスの範囲からの接続の場合は認証なしでアプリ(Web サービス)を使えるなどでしょう.
設定例
実際の設定例は以下の通りです.
まず,Cloudflare Zero-Trust の「Access コントロール」の「ポリシー」を開きます.
右上「ポリシーを追加する」を選択し,
- ポリシー名:任意(今回は「監視」とした)
- アクション: バイパス
- ポリシールール:IP 範囲(今回は「224.224.224.0/24」とした)
として,右下にある「ポリシーを保存」を選択します.
実際に認証をバイパスさせたいアプリを「Access コントロール」の「アプリケーション」から選び,「Access ポリシー」に適当な優先度(今回は最優先とした)で適用します.
これで,224.224.224.0/24 の範囲からの接続の場合,認証画面がバイパスされ,直接Webサービスにアクセスできるようになります.もちろん,これ以外の IP の場合はこれまで通り認証が行われます.
以上




