無料で使えるCloudflare Zero Trustでノープログラムでアクセス制限を実装する
公開日: 2022.4.27
無料で使えるCloudflare Zero Trustを使うと、プログラムコードを一切書かずに、簡単にサイトにアクセス制限を実装できます。
Cloudflare Zero Trustとは?
「Zero Trust(Zero Trust Security Model)」、ここ数年でよく耳するようになりましたね。簡単にいうと、「ネットワーク上では悪意が常にあるので、全てを疑って(信頼ゼロ)問題ないかを検証する」というポリシーみたいなものです。
Cloudflare Zero Trustはアプリケーションやネットワークのセキュリティ強化のためのプラットフォームです。ユーザー管理やアクセス制限などのZero Trustに必要なインターネットの様々なセキュリティ機能が統合されています。
Cloudflare Zero Trustは実は管理ユーザーが50人までは無料プランで使うことができます。一部、無料プランで使ええない機能もありますが、基本的なことは出来ます。
今回は、Cloudflare Zero Trustのうち、無料プランでサイトのアクセス制限を使ってみました。
Cloudflare Zero Trustを有効にする
Cloudflare Zero Trustは無料で使えますがデフォルトでは有効になっていないので、まずは、Cloudflare Zero Trustを有効にします。
有効になったらZero Trustのダッシュボードを開けるようになります。
サイトでアクセス制限をする
ここからはCloudflareのダッシュボードでアクセス制限を設定します。
ドメインプロパティのページに入って、左目絵ニューの「Access」をクリック。ここでは、Cloudflare Zero Trustを使った様々なアクセス制限を設定できます。
Accessグループを作る
まずは、アクセスできるユーザーグループを作っていきます。
アクセスグループは、
- メールアドレス単位
- メールアドレスの後方一致
- アクセスグループごと
- IPアドレス
などで制限ができます。全員を許可する場合は「Everyone」ですが、あくまで「全員にアクセスするための認証を受ける許可をする」だけで、アクセス制限自体は入るので、世界中にオープンにする場合は後述のポリシーで「スキップ」を選択肢します。
今回は、自社の社員だけ使えるという前提で「メールアドレスの後方一致」で制限します。要は、「自社ドメイン以外のユーザーを信頼しない(Zero Trust)」というわけですね。
Accessポリシーを作る
続いて、どんな条件でアクセスを制限するかを「Accessポリシー」で設定します。ポリシーは、複数設定可能です。
ポリシーの設定方法は、まず下記の条件を設定します。
URLにマッチする条件で、
- 許可
- 拒否
- スキップ
- IDなし
がを指定します。先ほど解説したとおり、アクセス制限をしない場合は「許可」ではなく「スキップ」です。
次に、その条件で誰に対してアクションを起こすのかを決めます。先程のアクセスグループでも良いですし、IPアドレスで絞ってもOKです。
例えば、example.comというサイトを運営していたとして、
- example.comは公開
- corp.example.comは社員のみ
という場合、
- example.com: 決定=スキップ
- corp.example.com: 決定=許可、包含=Accessグループ(メールアドレスの後方一致)
とすれば、example.comはインターネットに完全公開して、企業データ等を扱うcorp.example.comは、メールアドレスが自社メールアドレスの人だけがアクセスできるようになります。
これだけで厳密なアクセス制限が実装できてしまいました。プログラムの知識も不要で、非常に簡単ですね。
実際にどんな挙動になるのか?
では、先程の設定でどんな挙動になるのかを確認してみます。
まずは、example.comは普通に表示ができることを確認しましょう。間違ってアクセス制限状態になると問題なので、複数環境でテストします。
次に、corp.example.comの方は、アクセスをすると「xxxx..cloudflareaccess.com」というドメインにリダイレクトされログイン画面が表示されます(xxxはCloudflare Zero Trustの初期設定で決めたURL)。
表示されたログイン画面でメールアドレスを入力すると、メールアドレス宛にPINが送信されます。なお、ここで許可していないメールアドレス(今回の場合は@以降の後方一致)にPINコードを送ろうとしても、永遠に届きません。ここでも安全を担保しているわけですね。
PINコードを入力すると普通にアクセスが可能になります。入力後はアクセス制限があることは全く意識しないで閲覧が可能になります。
ちなみに、認証方法は初期状態ではPINを入力する方式ですが、Googleログインなども使えます。Google Workspaceに独自ドメインでアカウントを作っている場合は、
- Cloudflare Zero Trustでアクセス制限
- Googleアカウントでログイン
というフローも作ることができます。
Googleアカウントはセキュリティが高く、それでいて簡単にログインができるのでユーザービリティを高めることができます。
Zero Trustという観点で見ると、アクセス制限で「社員以外を信頼しない(Zero Trust)」しつつ、Googleアカウントの2段階認証で「アカウントを信頼しない => 自社社員であることを証明させる」というところまで安全性を高めることができます。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
CDNの新着記事
- CDNCloudflareでLets Encryptの更新エラーに対応する 2020.11.16
- CDNエッジが大事!HTTP3.0時代のCDNの活用方法 2020.11.9
- CDNCloudflareのキャッシュを操作する方法 2020.9.21
- CDNCloudflareのキャッシュについて理解する 2020.9.17
- CDNCloudflareで静的サイトをキャッシュする時のベストプラクティス 2020.9.2
- CDNCloudflareを使ってwwwあり・なしURLを正規化する方法 2020.8.25
- CDNCloudflare Registrarで登録できるドメイン一覧と更新料金 2020.5.25
- CDNSSLの使えないサーバーでHTTPS配信をする裏技 2020.1.20