Cloudlfare Zero TrustをIncludeルールで使ってみる

Cloudlfare Zero TrustをIncludeルールで使ってみる
Photo by stephan hinni / Unsplash

おうちサーバーやLAN外でのNASへのアクセスなどでとても便利なCloudflareのZero Trust。私も自宅のNASにLAN外からアクセスする際に利用しています。特に日本はIPv6の環境が複雑なため、契約によっては固定IPを利用できなかったりします。

光コラボは契約してはいけない - Qiita
自分に起こった地獄VPNのパフォーマンスが出ない!VPNの条件は以下の通りです。同一市内の自宅と実家のVPN自宅はNTT光コラボ、実家はauひかりtracerouteで経路を調べたところ下記…

インターネットで見つけた、光コラボの不便さにぶちぎれている記事

また、そもそもポートを開放することによるセキュリティ上のリスクも考慮する必要があります。VPNによって通信を暗号化することはできますが、VPN通信の中身を信頼してしまう仕組みはあまりいいアイデアだとは思えません。

とはいえ、自宅のNAS程度にすべての通信をZero Trustで運用するのは現実的ではないというか、あまりメリットもありません。特定の通信だけCloudflareを介せばいいです。Cloudflareではそうしたルールを設定できます。

ExcludeからIncludeへ

Zero Trustの初期設定では特定の通信以外はすべてZero Trustで通信を行うExcludeになっています。そんな大げさなことはやらなくていいので、特定の通信だけをZero TrustするIncludeに変更しましょう。

では、いったいどの通信をIncludeすればいいのでしょうか。私はSMBを使うために利用していますので、そのドキュメントを参考にしてみます。

SMB
The Server Message Block (SMB) protocol allows users to read, write, and access shared resources on a network. Due to security risks, firewalls and ISPs usually block public connections to an SMB file share. With Cloudflare Tunnel, you can provide secure and simple SMB access to users outside of your network.

ドキュメントによるとどうやら以下ドメインをIncludeすることで最低限動くようです。

If you are using Include mode, add your private network's IP/CIDR range to the list. Your list should also include the domains necessary for Cloudflare Zero Trust functionality.
  1. Cloudflare Zero TrustがCloudflareと通信するためのドメイン
  2. Cloudflareを介して通信したいドメイン
  3. (Browser Isoletion機能を使うならedge.browser.run

自宅にいる際、つまりLAN内にいる際はわざわざCloudflareを経由しないで直接接続したいのでPrivete IPはIncludeしないことにしました。また、Cloudflareと通信するためのIncludeはドメインでもIPでもできますが、パット見たときにわかりやすいのでドメインで設定をすることにします。

実際に設定をしてみよう

さて、実際に設定をしてみましょう。追加する項目は次の通りです。

  1. <your-team-name>.cloudflareaccess.com
  2. Cloudflareを介して通信したいドメイン
  3. (Browser Isolation機能を使うならedge.browser.run

Zero Trust > 設定 > WARP クライアント > デバイスの設定 セクションにあるプロファイル > 編集 > スプリットトンネル > 「IPとドメインを含める」

これで、Includeルールを利用することになります。さて、次にIncludeルールを編集しましょう。

Zero Trust > 設定 > WARP クライアント > デバイスの設定 セクションにあるプロファイル > 編集 > スプリットトンネル > 「管理」ボタン

先ほどの画面を横に見ると「管理」ボタンがあります。ボタンをクリックすることで、「スプリット トンネルの管理(含む)」という画面が出てきますので、そこでルールを追加します。


これで、Includeルールでの運用に切り替え完了です。ZTNAを本気で全通信に適用するのは個人レベルではちょっと大げさに思うので、Includeルールを使ってみました。写真や動画が趣味で、NASを使っている人なんかの参考になれば幸いです。