Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

DNS フィルタリング

最終更新 Markdown で表示Agent セットアップ

Secure Web Gateway では、DNS トラフィック(example.com のようなドメイン名を IP アドレスに変換するためにデバイスが行うクエリ)を検査し、ユーザーが訪問できる Web サイトを制御できます。接続はすべて DNS ルックアップから始まるため、DNS フィルタリングは接続の最も早い段階で脅威をブロックし、デバイスが宛先に到達する前に止めます。DNS ポリシーを使い、組織全体でマルウェアドメイン、フィッシングサイト、またはコンテンツカテゴリ全体をブロックできます。

1. Gateway に接続する

DNS クエリは、個々のデバイス(従業員のノートパソコンなど)からも、ネットワークロケーション全体(オフィスルーターなど)からもフィルターできます。導入形態に合う方法を選んでください。

デバイスを接続する

ノートパソコンやスマートフォンなど、個々のデバイスからの DNS リクエストをフィルターするには:

  1. デバイスに Cloudflare One Client をインストール します。Cloudflare One Client は、デバイスの DNS クエリを Cloudflare 経由で送り、Gateway が検査とフィルタリングを行えるようにする軽量エージェントです。
  2. 組織の Zero Trust インスタンス [^1] に Cloudflare One Client を登録 します。これにより、WARP が適用する Gateway ポリシーが決まります。
  3. (任意)リクエストがブロックされたときに一般的なブラウザーエラーではなく カスタムブロックページ を表示したい場合は、デバイスに Cloudflare のルート証明書をインストール します。

DNS ロケーションを接続する

オフィスやデータセンターなどのネットワークロケーションから、各デバイスにソフトウェアをインストールせずに DNS リクエストをフィルターするには:

  1. Cloudflare One の設定に ロケーションを追加 します。DNS ロケーションは、DNS クエリをフィルターしたいネットワーク(オフィスなど)を表します。
  2. ルーター、ブラウザー、または OS で、DNS サーバー設定をロケーションセットアップ UI に表示される Cloudflare アドレスへ変更します。これにより、そのネットワークからのすべての DNS クエリが Gateway 経由で転送されます。

2. デバイスの接続を確認する

デバイスの DNS クエリが Gateway を流れていることを確認するには:

  1. Cloudflare ダッシュボード で、Zero Trust > Traffic policies > Traffic settings を開きます。
  2. Log traffic activity で、すべての DNS ログのアクティビティログを有効にします。
  3. デバイスでブラウザーを開き、任意の Web サイトへ移動します。
  4. Cloudflare ダッシュボード で、Zero Trust > Insights > Logs > DNS を開きます。
  5. デバイスからの DNS queries が表示されることを確認します。

3. 最初の DNS ポリシーを作成する

DNS ポリシーは 2 つの部分で構成されます。一致させるクエリを定義する トラフィック条件(ギャンブルサイトへのすべてのクエリなど)と、一致したクエリへの処理を定義する アクション(ブロックするなど)です。新しい DNS ポリシーを作成するには:

  1. Cloudflare ダッシュボード で、Zero Trust > Traffic policies > Firewall policies を開きます。
  2. DNS タブで Add a policy を選択します。
  3. ポリシーに名前を付けます。
  4. Traffic で、条件ビルダーを使い、このポリシーを適用する DNS クエリを定義します。セレクター(Security Categories など)、演算子(in など)、1 つ以上の値を選びます。
  5. トラフィックが条件に一致したときに実行する Action を選びます。たとえば、すべての セキュリティカテゴリ をブロックするポリシーの追加を推奨します。
    セレクター 演算子 アクション
    Security Categories in All security risks Block
  6. Create policy を選択します。
  1. 次の権限を持つ API トークンを作成 します。

    種類 項目 権限
    Account Zero Trust Edit
  2. (任意)API の環境変数に アカウント ID と API トークンを含めます。

  3. Create a Zero Trust Gateway rule エンドポイントへ POST リクエストを送ります。たとえば、次のリクエストは、デフォルトの セキュリティカテゴリ をすべてブロックするポリシーを作成します。traffic フィールドの数値 ID(6817880 など)は、Cloudflare があらかじめ定義したセキュリティ脅威カテゴリに対応します。対応関係の全体は ドメインカテゴリ を参照してください。precedence フィールドは、複数のポリシーが一致したときの評価順を制御します(0 はこのポリシーを最初に評価することを意味します)。

    Create a Zero Trust Gateway rulebash
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/gateway/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"name": "Block security threats",
    		"description": "Block all default Cloudflare DNS security categories",
    		"precedence": 0,
    		"enabled": true,
    		"action": "block",
    		"filters": [
    				"dns"
    		],
    		"traffic": "any(dns.security_category[*] in {68 178 80 83 176 175 117 131 134 151 153})",
    		"identity": ""
    	}'
    {
    	 "success": true,
    	 "errors": [],
    	 "messages": []
    }

    API は、ポリシーの概要とリクエストの結果を返します。

詳細は DNS ポリシー を参照してください。

4. 任意のポリシーを追加する

最初のポリシーが有効になったら、追加したいほかのポリシーは よく使う DNS ポリシー を参照してください。よく追加されるのは、特定のコンテンツカテゴリ(ソーシャルメディアやストリーミングなど)のブロック、検索エンジンでの SafeSearch の有効化、承認したリゾルバーだけをデバイスが使えるようにする DNS クエリの制限です。

役に立ちましたか?