Photoruction工事中!

Photoructionの開発ブログです!

無料プランでも高機能なCloudflare Zero Trustで遊んでみた

こんにちは、PhotoructionでWebエンジニアをしている田村です。

Photoruction Advent Calendar 2022の14日目の記事になります。

はじめに

こないだ Cloudflare Zero Trust を使っていろいろ試してみたので、このサービスについて紹介したいと思います!

とある案件で「アクセス制御にVPN使うか?」という話になったものがあり(けっきょく使わなかった)、どんなサービスがあるか軽く調べてみたことがこのサービスを知ったきっかけです。

Cloudflare Zero Trustとは

Cloudflare Zero TrustはVPNファイアウォール、プロキシなど便利なツール盛りだくさんのサービスとなっています。 そしてこれがなんと無料(複数プランあり)で、家庭や小さな組織なら十分なクオリティがあります。

https://www.cloudflare.com/ja-jp/products/zero-trust

必要なもの

  • Cloudflareアカウント メールアドレスがあればかんたんにサインアップできます。 プランを選択する際は”Free”でOKです。
  • WARP client Zero Trustに接続するデバイスでインストールしておきます。 スマホアプリはあの有名な1.1.1.1 ってやつですね。

Zero Trustの初期設定など

ダッシュボードはCloudflareとZero Trustの2種類あります。 Cloudflareの中のZero Trustっていう位置づけです。

  • Team domain(Settings > General) 例えばTeam名がtest-2022の場合 Team domainはtest-2022.cloudflareaccess.com となります。

  • Device enrollment(Settings > WARP Client) 初期状態ではLogin methodsとしてOne-time PIN が利用可能となっていますが、これだけだとメールアドレスを持っていれば誰でもログイン可能となってしまいます。 このようなruleを追加することで、ログインできるメールアドレスを制限できます。

WARPクライアント設定

Preferenceから作成したチーム名(test-2022)を設定して認証するとZero Trustクライアントして使用可能となります。

やってみたこと① Googleアカウントで認証

デフォルトで設定されているOne-time PIN以外にもいろいろと認証方式を追加・使用することができます。 今回はGoogleアカウントで認証する方法を試してみました。

  • Google以外にもこれだけのidプロバイダを使用することができます。

Google Cloud ConsoleでOAuth 2.0 クライアント追加

説明は省きますが、 下記の設定画面を開くと詳しい説明が載っていて、親切すぎてもう何も言えません。

Login methods(Settings > Authentication)追加

登録したOAuth 2.0 クライアント情報を入力するだけ。 ページの右サイドはOAuth 2.0 クライアントを設定する手順です!

WARPクライアントでログイン

  • WARPクライアント起動(キャプチャはMac版)

  • Preferenceからチーム名を入力するとブラウザでログインフォーム表示 設定した「TEST Google」(Googleによる認証)が表示されていますね これをクリックするといつものGoogleログインのあのフォームへ進みます

  • Googleでログイン成功するとZero Trustクライアントへ表示が変わります (Device enrollmentで設定したメールアドレスだけがログインできます)

GoogleでZero TrustのTeamにログインすることができました!!

やってみたこと② 特定のDNSへのアクセスをブロックする

Zero Trustに接続している状態のときにみんな大好きGoogleサイトを閲覧できないように設定してみます。

設定はとてもかんたんで、何も考えなくても入力できてしまいますね!

Zero TrustクライアントをONにして Googleにアクセスすると、このような表示のページに切り替わります。

Googleサイトの閲覧をブロックすることができました!!

最後に

いかがでしょうか?

今回紹介したのは多数ある機能の中でもはじめの一歩程度で、

これ以外にも

  • 外部に公開していないネットワークにリモートから参加
  • 外部に公開していないサービスをリモートから利用
  • マルウェアや有害サイトから一括ブロック
  • ユーザーをグループ分けし、グループごとにポリシーの適用範囲や内容を設定可能
  • 操作ログ、アクセスログ

等々いろいろな要望に対応可能で、無料の範囲内でもかなりの高機能なサービスとなっています!

このサービスを使ってみて一番考えさせられたのは、UIがシンプルで使い勝手もとてもよく、ある程度のキーワードをしていれば直感で操作できる点です。 こう言ったところは自社サービス構築でも考慮していきたいところだなと思いました。

また今後も時間を見つけて試してみようと思っており、わかったことは機会をあらためて紹介したいと思います。

株式会社フォトラクションでは一緒に働く仲間を募集しています