清水理史の「イニシャルB」
VPN装置やファイアウォールを無料でクラウド化! より使いやすく進化した「Cloudflare Zero Trust」
2022年5月23日 06:00
CDN事業者として知られるCloudflareが提供するサービス「Cloudflare Zero Trust」が使いやすく進化した。
「ゼロトラストプラットフォーム」というと、ちょっと近寄りがたく感じるかもしれないが、実質的にはWireguardを利用したクラウド型のVPNサービスだ。
クライアントの接続保護やオフィスLANへのVPN接続などをクラウド環境で利用でき、VPN装置やファイアウォールをクラウド化できる。もちろん無料で、個人でもメールアドレス1つあればすぐに利用可能だ。
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プランも用意されており、サポート以外のほとんどの機能を無料で利用することができる。
VPNの悩みを解決
最近では、家庭用のルーターやNASなどでもVPNサービスを利用できるが、こうした機器の欠点は、「装置の費用がかかる」こと、「設定や管理が複雑」なこと、MAP-EやDS-LiteといったIPoE IPv6環境など「回線環境によって利用が難しい」ことなどが挙げられる。
しかし、Zero Trustの場合、接続環境はクラウド上、しかも全世界に展開されているCDN上に存在する。このため、ユーザーは機器を用意する必要もなければ、その設定や管理をする必要もなく、LAN側の回線環境なども考慮する必要がない。
このサービスを利用するためにすべきことは、次のように単純だ。
これで、PCをCloudflareのネットワークに接続可能となる。
この状態で、端末―Cloudflare間の通信が暗号化され、暗号化なしの公衆無線LANなどから安全にインターネット接続できるようになる。
また、Cloudflareから提供されるファイアウォールを利用可能になり、通信の中身をチェックし、危険なサイトへのアクセスを遮断したり、アダルトサイトなどの特定のカテゴリのサイトへのアクセスを遮断したりできる。
ちなみに、同社は個人向けのVPNサービスとして「WARP」を提供していて、本連載でもレビューしているが、利用するクライアントには、これと同じ「WARP」アプリを利用する。個人用サービスとの違いは、「ゼロトラスト」の名前の通り、リソースに応じた細かなアクセス制御ができる点だ。
ユーザーやグループ、ロケーション、IPアドレス、接続プロパティ(OSバージョン)などを元にしたアクセス制御が可能となっており、例えば、特定のグループに所属するユーザー、ユーザーが自宅からアクセスする場合などといったケースで、制御を細かく変えることができる。今回は紹介しないが、Azure Active Directoryと連携し、Azure ADアカウントでログインしての制御も可能だ。
LAN内部へのアクセスも簡単
ここまでの機能が無料で使えることも驚きだが、自宅やオフィスのネットワークへのVPNアクセスも手軽に利用可能だ。
さすがに、こちらは完全に装置レスとはいかず、Raspberry Piや仮想マシン、古いWindows PCなど、何でもいいので「Cloudflared」と呼ばれる軽量のプログラムが動く環境がLAN側に必要だ。しかし、このプログラムを接続用の識別子(管理画面で発行)とともに実行するだけでいい。
従来のCloudflaredではプログラム側で公開するポートなどの設定が必要だったのだが、Cloudflaredの2022.03.04以降からはリモート管理に対応しており、あとの設定は、全てCloudflareのダッシュボードから可能だ。
ポートを指定してアプリを公開したり、ネットワークを指定して内部ネットワークへのアクセスを許可したりできる上、先に触れたような条件によってアクセスを制御することもできる。
つまりユーザーは、自宅や社内にCloudflaredをインストールしたPCを置いておくだけでいい。これで、先に紹介したWARPクライアントをインストールした端末から、自宅や社内のネットワークへアクセスできる。
もちろん、その通信は暗号化されているし、アクセス可能なユーザーも認証されたユーザーに限る。Azure ADと連携させれば、アクセス時の認証にAzure ADのポリシーを適用することもできるため、多要素認証を要求したり、高度なプランなら条件付きアクセスで接続場所を限定したりすることも可能だ。
ちなみに、Cloudflare Zero Trustの接続ポイントは日本にも存在するため、速度にも不満はない。ゼロトラスト的な発想で、ここ1週間ほどは自宅にいる場合でも常時Zero Trust接続オンの状態で使っていたが、ウェブの閲覧や動画の視聴などでも、速度的な不満を感じるシーンはなかった。
利用時の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]を削除すればいい。
ただし、単純に削除すると、ユーザーが自宅から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経由にすることができる。
ドメインを取得した方が効率的
以上、CloudflareのZero Trustサービスを紹介した。小規模なオフィスなら、高価なVPN装置を導入するよりも手軽だし、コストも安く済む。その割に高度な制御とセキュリティ対策が利用できるため、かなりお勧めのサービスだ。
似たようなサービスとしては、こちらも本連載で以前取り上げた「tailscale」があるが、やはりCloudflareが提供しているというブランド力は強いだろう。
なお、今回はドメインを取得せずに利用したが、実際にオフィスなどで利用する場合は、ドメインを取得してAzure ADなどと連携した方が各段に管理が楽だ。
Cloudflareはレジストラとしても利用可能で、ドメインも低価格で購入することができる。ドメイン名にもよるが、年間8ドルちょっとで購入できるものもある。よくある2年目以降の更新料が上がるようなこともないので、かなりお得なサービスと言える。
しかも、Microsoft 365でのドメイン設定もCloudflareならワンクリックで完了するし、ドメインのアナリティクスや保護機能なども利用可能な上、Workersでサーバーレスアプリケーションを実行できたり、R2と呼ばれるS3ライクなストレージサービスも利用したりできる。もはや統合クラウドサービスと言ってもいいほどだ。
無料で遊べるにしては、盛りだくさんすぎる内容なので、ぜひ試してみることをお勧めする。