概要
Cloudflare Zero TrustのGateway機能には強力なDNSフィルタリングがあり、ポリシー内で有効期限を設定と特定の時間帯だけポリシーを有効化/無効化することができます。
この記事では、Cloudflare Zero Trust のトラフィックポリシーで実行出来る、夜間(例: 23時以降)に特定のカテゴリ(エンターテイメント、SNS)へのアクセスをブロックし、朝になると自動で解除する仕組みを構築します。
作成した背景
ご要望がちらほらあることと、うちのグダグダな家族(特に妻)が夜ふかしすることを防ぐ目的で作成してみました。
ものすごく簡単にできてしまいましたので、オススメいたします。
我が家ではこの他にも、非倫理的サイト、暴力、マルウェアやフィッシングサイトに誘導されてもブロックができるエージェントレスポリシーを適用しています。
特にマルウェアやフィッシングサイトへの誘導は企業にとっても超重要な防御対象です。
構成
Cloudflare トラフィックポリシー DNS フィルター
DNS ロケーション
ステップ1:Cloudflare Gatewayの設定(フィルタリングの準備)
まず、フィルタリングの対象となるDNSロケーションと、ブロックルール本体を作成します。
1-1. DNSロケーションの作成とルーターへの設定
Cloudflare Zero Trust ダッシュボードにアクセスします。
[Network] > [リゾルバーとプロキシ] > [DNS ロケーション] に移動し、[Add a location] をクリックします。
ロケーションに名前を付け(例: 自宅内デバイス規制)、[Source IPv4 Address] に自宅のWi-FiルーターのグローバルIPアドレスを設定します。
作成したロケーション詳細画面に表示されるIPv4 DNS エンドポイントのアドレスをコピーします。
自宅のWi-Fiルーターの管理画面を開き、DNS設定でコピーしたCloudflareのエンドポイントアドレスを設定します。
大抵の Wi-Fi ルーターは IPv4 での設定になるのかと思うのと、ISP の固定 IP サービスがあるとロケーションを固定できるのでベスト。

1-2. ブロックポリシーの作成
次に、夜間に有効化したいブロックルールを作成します。
[トラフィックポリシー] > [ファイアウォールポリシー] > [DNS] に移動し、[Create a policy] をクリックします。
ポリシーに名前を付けます(例: 早く寝ろ)。

ステップ2:スケジュールの作成
Gatewayポリシー作成のオプションについているスケジュール機能をトグルスイッチで有効化します。

おまけ
カスタムゲートウェイブロックページの作成
設定 > カスタムページで作成できます。
作成後、DNS フィルターのポリシーにあるオプション【ゲートウェイブロックの動作を変更する】で【アカウントレベルのブロック設定を使用する】を ON にしましょう。

