清水理史の「イニシャルB」

VPN装置やファイアウォールを無料でクラウド化! より使いやすく進化した「Cloudflare Zero Trust」

 CDN事業者として知られるCloudflareが提供するサービス「Cloudflare Zero Trust」が使いやすく進化した。

 「ゼロトラストプラットフォーム」というと、ちょっと近寄りがたく感じるかもしれないが、実質的にはWireguardを利用したクラウド型のVPNサービスだ。

 クライアントの接続保護やオフィスLANへのVPN接続などをクラウド環境で利用でき、VPN装置やファイアウォールをクラウド化できる。もちろん無料で、個人でもメールアドレス1つあればすぐに利用可能だ。

クラウドからの設定でVPNを利用可能な「Cloudflare Zero Trust」

Teams→Zero Trustに

 Cloudflare Zero Trustは、これまで「Cloudflare for Teams」として提供されていたサービスのリブランディングバージョンだ。

 従来の「Cloudflare for Teams」は、本連載でも以前にレビューしたが、サービス名称が再度変更され、内容も見直されて機能がより強化され、使いやすく進化した。

 CloudflareはもともとCDN事業者で、ウェブコンテンツのキャッシュはもちろんのこと、外部からの攻撃などを保護するサービスを提供している。

 Zero Trustは、こうした世界中に展開されているCDN用の設備を活用することで、クラウド上でファイアウォールやVPN、認証などの仕組みを提供するサービスとなる。

 リソースに対する全ての接続を認証、暗号化し、コントロールするゼロトラストの概念に基づく仕組みだが、簡単に言えば、クラウド上で提供されるファイアウォール設備やVPN装置を利用し、暗号化された安全なインターネット接続やオフィスへのVPN接続を提供するサービスと言える。

 基本的には以前から提供されてきたサービスとなるが、2022年5月時点での提供サービスは使いやすく進化しており、かなり簡単にVPNサービスを利用可能となっている。

 料金は、ユーザーあたり月額7ドルからの有料プランもあるが、最大50ユーザーまで無料で使えるFreeプランも用意されており、サポート以外のほとんどの機能を無料で利用することができる。

50ユーザーまで無料で使えるFreeプランを利用可能

VPNの悩みを解決

 最近では、家庭用のルーターやNASなどでもVPNサービスを利用できるが、こうした機器の欠点は、「装置の費用がかかる」こと、「設定や管理が複雑」なこと、MAP-EやDS-LiteといったIPoE IPv6環境など「回線環境によって利用が難しい」ことなどが挙げられる。

 しかし、Zero Trustの場合、接続環境はクラウド上、しかも全世界に展開されているCDN上に存在する。このため、ユーザーは機器を用意する必要もなければ、その設定や管理をする必要もなく、LAN側の回線環境なども考慮する必要がない。

 このサービスを利用するためにすべきことは、次のように単純だ。

1.Cloudflareにアカウントを登録
2.無料のZero Trust Freeプランを購入
3.管理画面からデバイス登録を許可するメールアドレスを登録
4.端末にCloudflareのルート証明書をインストール
5.接続用アプリ「WARP」をインストール
6.アプリから3.で登録したメールアドレスでログイン

 これで、PCをCloudflareのネットワークに接続可能となる。

 この状態で、端末―Cloudflare間の通信が暗号化され、暗号化なしの公衆無線LANなどから安全にインターネット接続できるようになる。

 また、Cloudflareから提供されるファイアウォールを利用可能になり、通信の中身をチェックし、危険なサイトへのアクセスを遮断したり、アダルトサイトなどの特定のカテゴリのサイトへのアクセスを遮断したりできる。

ポリシーを使ってユーザーのアクセスを制御できる

 ちなみに、同社は個人向けのVPNサービスとして「WARP」を提供していて、本連載でもレビューしているが、利用するクライアントには、これと同じ「WARP」アプリを利用する。個人用サービスとの違いは、「ゼロトラスト」の名前の通り、リソースに応じた細かなアクセス制御ができる点だ。

 ユーザーやグループ、ロケーション、IPアドレス、接続プロパティ(OSバージョン)などを元にしたアクセス制御が可能となっており、例えば、特定のグループに所属するユーザー、ユーザーが自宅からアクセスする場合などといったケースで、制御を細かく変えることができる。今回は紹介しないが、Azure Active Directoryと連携し、Azure ADアカウントでログインしての制御も可能だ。

外部サービスのアカウントを利用して認証した方が、より細かな制御が可能。既存のアカウントやグループも利用できる

LAN内部へのアクセスも簡単

 ここまでの機能が無料で使えることも驚きだが、自宅やオフィスのネットワークへのVPNアクセスも手軽に利用可能だ。

 さすがに、こちらは完全に装置レスとはいかず、Raspberry Piや仮想マシン、古いWindows PCなど、何でもいいので「Cloudflared」と呼ばれる軽量のプログラムが動く環境がLAN側に必要だ。しかし、このプログラムを接続用の識別子(管理画面で発行)とともに実行するだけでいい。

Raspberry Pi 4にインストールした様子。自動的にサービスとして起動する

 従来のCloudflaredではプログラム側で公開するポートなどの設定が必要だったのだが、Cloudflaredの2022.03.04以降からはリモート管理に対応しており、あとの設定は、全てCloudflareのダッシュボードから可能だ。

ダッシュボードに表示された識別子と一緒にコマンドを入力することで簡単に接続可能

 ポートを指定してアプリを公開したり、ネットワークを指定して内部ネットワークへのアクセスを許可したりできる上、先に触れたような条件によってアクセスを制御することもできる。

どのアプリを公開するか、どのネットワークを公開するかは全てダッシュボード側から設定可能

 つまりユーザーは、自宅や社内にCloudflaredをインストールしたPCを置いておくだけでいい。これで、先に紹介したWARPクライアントをインストールした端末から、自宅や社内のネットワークへアクセスできる。

 もちろん、その通信は暗号化されているし、アクセス可能なユーザーも認証されたユーザーに限る。Azure ADと連携させれば、アクセス時の認証にAzure ADのポリシーを適用することもできるため、多要素認証を要求したり、高度なプランなら条件付きアクセスで接続場所を限定したりすることも可能だ。

 ちなみに、Cloudflare Zero Trustの接続ポイントは日本にも存在するため、速度にも不満はない。ゼロトラスト的な発想で、ここ1週間ほどは自宅にいる場合でも常時Zero Trust接続オンの状態で使っていたが、ウェブの閲覧や動画の視聴などでも、速度的な不満を感じるシーンはなかった。

リモートアクセスの様子
WARPで接続されているときは内部のサーバーにアクセス可能(左)。切断するとアクセス不可になる(右)

利用時の3つの注意点

 このように簡単に離れた場所にあるネットワークや端末同士をクラウドで結び付けることができるCludflare Zero Trustだが、利用する場合はいくつかの注意点がある。

ファイルのダウンロードに失敗する場合

 Zero Trust接続時にファイルのダウンロードに失敗したり、fast.comなどの速度測定サイトでエラーが発生したりする場合は、おそらくファイアウォールの設定に問題がある。

 ダッシュボードにある[Settings]の[Network]から、[Firewall]の[AV inspection]の項目を確認し、[Block requests for files that cannot be scanned]のチェックを外しておく。

 標準ではこの設定がオンになっており、暗号化ZIPやサイズが15MB以上のファイルなど、アンチウイルススキャン機能でスキャンできないファイルが転送された場合、この通信をブロックする設定になっている。

スキャンできないファイルのブロックをオフにする

 安全性を考えるとオンにしておくべきだが、大容量のファイルをダウンロードできない場合は、一時的にオフにするか、常時オフのまま運用することを検討したい。

ローカルネットワークにアクセスできない

 Cludflareでは、WARPクライアント接続時でも、ローカルのアドレス空間へのアクセスを自動に検知し、VPN接続を回避して直接アクセスするように構成されている。VPN接続では定番のスプリットトンネルと呼ばれる方式だ。

 しかし、この定義ファイルに標準で「192.168.0.0/16」が含まれているため、前述したようにCloudflaredをインストールしたゲートウェイ端末を用意してWARPクライアント経由でアクセスしようとしても、VPN接続のルートではなく、ローカルのルートでパケットが転送されてしまう。

 これを回避するには、[Settings]にある[Network]の[Firewall]で、[Split Tunnels]の設定から[192.168.0.0/16]を削除すればいい。

Split Tunnelの設定を変更しておく

 ただし、単純に削除すると、ユーザーが自宅からWARPで接続した際、VPN経由で会社のリソースにアクセスできても、自宅内部に設置しているNASなどにアクセスできなくなってしまう(ローカルアドレス宛も全てWARP側に転送されてしまう)。

 これを回避するには、会社のネットワークを「192.168.200.0/24」などにしておいた上で、[Split Tunnel]の設定を「192.168.0.0/23」などにしておけばいい(Buffaloなどでは192.168.11.0が使われることもあるので192.168.0.0/20でもいい)。

 これで、一般的な家庭で利用される可能性が高い「192.168.0.*」と「192.168.1.*」はローカルで直接アクセス、それ以上の192.168.3.*以上のアドレスはWARP経由にすることができる。

証明書エラーが発生する

 リモートからWARP経由でローカルに設置したサーバーにHTTPSでアクセスしようとして、証明書のエラーでアクセスが遮断されてしまう場合がある。これはローカル側のサーバーで自己証明書が使われているケースで発生する。ファイアウォールで自己証明書が無効と判断され、アクセスが遮断されてしまうわけだ。

 内部でもグローバルな証明書を使うという手もあるが、敷居が高いので、ローカルのサーバーにアクセスする際は証明書のチェックを回避するようなポリシーを作成し、回避するのが簡単だ。

[Gateway]の[Policies]にある[HTTP Policy]で、内部ホストへのアクセス時にSSLチェックを回避するようにポリシーを設定。ホスト名でアクセスする場合はホスト名用のポリシーも必要

ドメインを取得した方が効率的

 以上、CloudflareのZero Trustサービスを紹介した。小規模なオフィスなら、高価なVPN装置を導入するよりも手軽だし、コストも安く済む。その割に高度な制御とセキュリティ対策が利用できるため、かなりお勧めのサービスだ。

 似たようなサービスとしては、こちらも本連載で以前取り上げた「tailscale」があるが、やはりCloudflareが提供しているというブランド力は強いだろう。

 なお、今回はドメインを取得せずに利用したが、実際にオフィスなどで利用する場合は、ドメインを取得してAzure ADなどと連携した方が各段に管理が楽だ。

 Cloudflareはレジストラとしても利用可能で、ドメインも低価格で購入することができる。ドメイン名にもよるが、年間8ドルちょっとで購入できるものもある。よくある2年目以降の更新料が上がるようなこともないので、かなりお得なサービスと言える。

ドメインも年間8ドルちょっとと安い

 しかも、Microsoft 365でのドメイン設定もCloudflareならワンクリックで完了するし、ドメインのアナリティクスや保護機能なども利用可能な上、Workersでサーバーレスアプリケーションを実行できたり、R2と呼ばれるS3ライクなストレージサービスも利用したりできる。もはや統合クラウドサービスと言ってもいいほどだ。

 無料で遊べるにしては、盛りだくさんすぎる内容なので、ぜひ試してみることをお勧めする。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できる Windows 10 活用編」ほか多数の著書がある。