Cloudflare Zero Trustの初期設定をする。

Cloudflare Zero Trustを使い始める。
2024年4月15日
Cloudflare Zero Trustの設定開始
Cloudflareの管理ページからZero Trustメニューをクリックしすると、まず、画像のようにチーム名を決めるページが表示されます。

ここで、cloudflareaccess.comのサブドメイン決めます。ここで決めたサブドメインは、ユーザが自身のデバイスをゼロトラストネットワークに参加させる際に使われます。また、アプリランチャーにアクセスする時のURLとなります。
トンネルの役割と作成手順の開始
チーム名を決めると、管理ページのZero Trustからゼロトラスト専用のページに移動できます。
最初に、Network > Tunnelsから新規のトンネルを作成します。

トンネルはインターネットとプライベートネットワーク間の通信を橋渡しする役割があります。トンネル自身がインターネットに公開されるホスト名と、プライベートネットワーク側サービスのURLを持ちます。
トンネルの作成手順
トンネルを作成するには、プライベートネットワーク側にコネクタが必要です。コネクタはWindowsやLinux上に常駐するプログラムですが、CloudflaredとWARP Connectorの2種類があります。

今回はCloudflaredを選択します。
トンネルについても名前付けが必要ですが、コネクタを稼働させているマシンが判断できるように、機種名や仮想マシン名を含めるよう推奨されています。

Cloudflaredのインストール
トンネルにはプライベートネットワーク側にコネクタのインストールが必要です。今回選択したCloudflaredの場合は画像のようにWindowsやMac、Dokerコンテナーで動作するプログラムが用意されています。

今回はLinuxにインストールするのでDebianを選択しました。
インストール手順は簡単で、ページに表示されるコマンドを実行するだけでした。
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb &&
sudo dpkg -i cloudflared.deb &&
sudo cloudflared service install [固有のアクセスキーがコマンドに埋め込まれます。]
コネクタが正常にインストールされると、管理ページにコネクタが出てきて、Connectedと表示されていました。

トンネルへアプリケーションを登録
トンネルを経由してプライベートネットワークにあるアプリケーションを公開できます。アプリケーションのプロトコルはHTTPやSSH、SMBなどほとんどが利用できます。
今回はHTTPSで通信するウェブアプリケーションを公開してみます。
トンネル設定ページのPublic Hostnamesからウェブアプリケーションにアクセスするためのホスト名を登録します。

Subdominアプリケーションにアクセスするサブドメインを任意に入力します。DomainCloudflareに登録済みのドメインから1つを選択します。Path今回は空欄にしました。TypeHTTPSを選択します。SSL証明書はCloudflareが管理してくれます。URLプライベートネットワークでウェブアプリケーションにアクセスするURLを入力します。たとえばhttp://localhost:8080のような感じです。

Private Networksからプライベートネットワークのネットワークアドレスを登録します。登録されたネットワークに対して、インターネット側からのアクセスが許可されます。
CIDRCIDR形式でネットワークアドレスを入力します。たとえば192.168.1.0/24のような感じです。Description説明書きなので後々わかりやすいような説明を入力しておきます。
動作確認
ここまで設定が終わったら、Public Hostnamesで入力したURLでリモートからウェブアプリケーションへアクセスできるようになっていました。
エラーページが表示される場合は、プライベートネットワーク側のURLやネットワークアドレスの設定、Cloudflaredの動作に問題が起きていないかなど、確認してみてください。