Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

許可されていないWebサイトドメインのDNSリクエストフィルタリング

DNS 要求フィルターの概要

Junos OS リリース 18.3R1 以降、許可されていない Web サイト ドメインに対する DNS 要求を識別するために DNS フィルタリングを設定できるようになりました。Junos OS リリース 19.3R2 以降、MX-SPC3 サービス カードで次世代サービスを実行している場合に、DNS フィルタリングを設定できます。次世代サービスは、MX240、MX480、MX960ルーターでサポートされています。DNS 要求タイプが A、AAAA、MX、CNAME、TXT、SRV、および ANY の場合、許可されていないドメインの DNS 要求に対して実行するアクションを構成します。次のいずれかを実行できます。

  • DNSホール サーバーのIPアドレスまたは完全修飾ドメイン名(FQDN)を含むDNS 応答を送信して、Webサイトへのアクセスをブロックします。これにより、クライアントが許可されていないドメインにトラフィックを送信しようとすると、トラフィックは代わりにホール サーバーに送られます ( 図 1 を参照)。

  • 要求をログに記録し、アクセスを許可します。

Junos OS リリース 21.1R1 以降では、許可されていないドメインに対する DNS 要求に対して、以下のアクションを設定することもできます。

  • アラート
  • 受け入れる
  • 落とす
  • ドロップ・ノー・ログ

許可されていないドメインのその他の DNS 要求タイプの場合、要求はログに記録され、アクセスが許可されます。

ホール サーバーが実行するアクションは、DNS 要求フィルタリング機能によって制御されません。ホール サーバー アクションの設定はユーザーの責任で行います。たとえば、ホール サーバーは、ドメインに到達できないというメッセージをリクエスターに送信し、許可されていないドメインへのアクセスを防止できます。

図 1: 許可されていないドメインDNS Request for Disallowed Domainに対する DNS 要求

利点

DNSフィルタリングは、許可されていないWebサイトドメインへのDNSリクエストをシンクホールサーバーにリダイレクトし、システムを操作している人が許可されていないドメインのリストを見ることができないようにします。これは、許可されていないドメイン名が暗号化された形式であるためです。

許可されていないドメイン フィルタ データベース ファイル

DNS 要求 フィルタリングには、許可されていない各ドメイン名、許可されていないドメインのDNS 要求に対して実行するアクション、および DNS ホール サーバーの IP アドレスまたは完全修飾ドメイン名 (FQDN) を識別する、許可されていないドメイン フィルター データベース .txt ファイルが必要です。

DNS フィルター プロファイル

DNS フィルター プロファイルを構成して、使用する許可されないドメイン フィルター データベース ファイルを指定します。また、DNS 要求フィルタリングを実行するインターフェイスを指定したり、フィルタリングを特定の DNS サーバーへの要求に制限したり、フィルタリングを特定の送信元 IP アドレス プレフィックスからの要求に制限したりすることもできます。

DNS 要求フィルターを構成する方法

許可されていないWebサイトドメインのDNS要求をフィルタリングするには、次の手順を実行します。

ドメイン フィルタ データベースを構成する方法

許可しない各ドメインのエントリを含む 1 つ以上のドメイン フィルター データベース ファイルを作成します。各エントリは、許可されていないWebサイトドメインのDNS 要求をどのように処理するかを指定します。

ドメイン フィルタ データベース ファイルを構成するには、次の手順に従います。

  1. ファイルの名前を作成します。データベース ファイル名の最大長は 64 文字で、 .txt 拡張子が必要です。
  2. 20170314_01:domain,sinkhole_ip,v6_sinkhole,sinkhole_fqdn,id,action などの形式のファイル ヘッダーを追加します。
  3. 許可されていないドメインごとに、ファイルにエントリを追加します。最大 10,000 個のドメイン エントリを含めることができます。データベース・ファイルの各エントリには、次の項目があります。

    ハッシュドドメイン名、IPv4 シンクホール アドレス、IPv6 シンクホール アドレス、シンクホール FQDN、ID、アクション

    どこ:

    • hashed-domain-name は、許可されていないドメイン名のハッシュ値(16進64文字)です。ハッシュされたドメイン値の生成に使用するハッシュ方式とハッシュキーは、Junos OS CLIでDNSフィルタリングを設定する際に必要です。

    • IPv4 sinkhole address は、IPv4 DNS リクエストの DNS ホール サーバーのアドレスです。

    • IPv6 sinkhole address は、IPv6 DNS 要求の DNS ホール サーバーのアドレスです。

    • sinkhole FQDN は、DNS ホール サーバーの完全修飾ドメイン名です。

    • ID は、エントリをハッシュ化されたドメイン名に一意に関連付ける32ビットの数値です。

    • action は、許可されていないドメイン名に一致する DNS 要求に適用するアクションです。次のように入力した場合:

      • replaceの場合、MXシリーズルーターは、DNSホール サーバーのIPアドレスまたはFQDNを含むDNS 応答をクライアントに送信します。「 report」と入力すると、DNS 要求は記録され、DNS サーバーに送信されます。
      • reportの場合、DNS 要求はログに記録され、DNS サーバーに送信されます。
      • alertを選択すると、DNS 要求がログに記録され、要求が DNS サーバーに送信されます。
      • acceptを選択すると、DNS 要求がログに記録され、要求が DNS サーバーに送信されます。
      • dropの場合、DNS 要求はドロップされ、要求はログに記録されます。DNS 要求は DNS サーバーに送信されません。
      • drop-no-logの場合、DNS 要求は破棄され、syslog は生成されません。DNS 要求は DNS サーバーに送信されません。
  4. ファイルの最後の行に、ハッシュされたドメイン名の生成に使用したのと同じキーとハッシュ方法を使用して計算するファイル ハッシュを含めます。
  5. ルーティングエンジン上のデータベースファイルを /var/db/url-filterd ディレクトリに保存します。
  6. ドメイン フィルター データベース ファイルを検証します。
  7. データベース・ファイルに変更を加えた場合は、変更を適用します。

DNS フィルター プロファイルを構成する方法

DNS フィルター プロファイルには、許可されていない Web サイト ドメインの DNS 要求をフィルター処理するための一般的な設定が含まれており、最大 32 個のテンプレートが含まれています。テンプレート設定は、特定のアップリンクおよびダウンリンク論理インターフェイスまたはルーティング インスタンス上の DNS 要求、または特定の送信元 IP アドレス プレフィックスからの DNS 要求に適用され、DNS プロファイル レベルで対応する設定を上書きします。最大 8 つの DNS フィルター プロファイルを設定できます。

DNS フィルター プロファイルを構成するには:

  1. DNS フィルター プロファイルの名前を構成します。

    プロファイルの最大数は 8 です。

  2. DNS フィルタリングのクライアントごとの統計情報をログに記録する間隔を設定します。範囲は 0 から 60 分で、デフォルトは 5 分です。
  3. プロファイルの一般的な DNS フィルタリング設定を構成します。これらの値は、DNS 要求が特定のテンプレートと一致しない場合に使用されます。
    1. DNS 要求をフィルター処理するときに使用するドメイン フィルター データベースの名前を指定します。
    2. (オプション)DNS フィルタリングを特定の DNS サーバー宛ての DNS 要求に制限するには、最大 3 つの IP アドレス (IPv4 または IPv6) を指定します。
    3. ハッシュキーの形式を指定します。
    4. ドメイン・フィルター・データベース・ファイル内のハッシュ・ドメイン名の作成に使用したハッシュ・キーを指定します。
    5. ドメイン・フィルター・データベース・ファイル内のハッシュ・ドメイン名の作成に使用されたハッシュ方式を指定します。

      サポートされているハッシュ方式は hmac-sha2-256 のみです。

    6. DNSリクエストの統計情報と、各顧客のIPアドレスに対して実行されるシンクホールアクションの間隔を設定します。範囲は 1 〜 60 分で、デフォルトは 5 分です。
    7. DNSシンクホールアクションを実行した後、DNS 応答を送信するまでの時間を設定します。範囲は 0 〜 86,400 秒で、デフォルトは 1800 です。
    8. 一致を検索するサブドメインのレベルを設定します。範囲は 0 から 10 です。値 0 は、サブドメインが検索されないことを示します。

      たとえば、 wildcarding-level を 4 に設定し、データベース ファイルに example.com のエントリが含まれている場合、ドメイン 198.51.100.0.example.com と共に到着するDNS 要求に対して次の比較が行われます。

      • 198.51.100.0.example.com: 一致なし

      • 51.100.0.example.com: 1 レベルダウンの一致なし

      • 100.0.example.com: 2 レベルダウンの一致なし

      • 0.example.com: 3 レベル下までは一致しません

      • example.com:4レベル下のマッチ

  4. テンプレートを設定します。プロファイルには最大 8 つのテンプレートを設定できます。各テンプレートは、特定のアップリンクおよびダウンリンク論理インターフェイスまたはルーティング インスタンスでの DNS 要求、または特定の送信元 IP アドレス プレフィックスからの DNS 要求のフィルター設定を識別します。
    1. テンプレートの名前を設定します。
    2. (オプション)DNSフィルタリングが適用されるクライアント側の論理インターフェイス(アップリンク)を指定します。
    3. (オプション)DNSフィルタリングが適用されるサーバー側の論理インターフェイス(ダウンリンク)を指定します。
    4. (オプション)DNSフィルタリングが適用されるクライアント側の論理インターフェイスのルーティング インスタンスを指定します。
    5. (オプション)DNSフィルタリングが適用されるサーバーに接続する論理インターフェイスのルーティング インスタンスを指定します。
      手記:

      クライアントとサーバーのインターフェイス、またはクライアントとサーバーのルーティングインスタンスを設定すると、インターフェイスまたはルーティングインスタンスに暗示的なフィルターがインストールされ、DNSトラフィックをサービスPICに誘導してDNSフィルタリングを行います。クライアントとサーバーのインターフェイスもルーティングインスタンスも設定しない場合は、DNSトラフィックをサービスPICに転送する方法(例えば、ルート経由)を提供する必要があります。

    6. DNS 要求をフィルター処理するときに使用するドメイン フィルター データベースの名前を指定します。
    7. (オプション)DNS フィルタリングを特定の DNS サーバー宛ての DNS 要求に制限するには、最大 3 つの IP アドレス (IPv4 または IPv6) を指定します。
    8. ドメイン・フィルター・データベース・ファイル内のハッシュ・ドメイン名の作成に使用されたハッシュ方式を指定します。

      サポートされているハッシュ方式は hmac-sha2-256 のみです。

    9. ドメイン・フィルター・データベース・ファイル内のハッシュ・ドメイン名の作成に使用されたハッシュ・キーを指定します。
    10. DNSリクエストの統計情報と、各顧客のIPアドレスに対して実行されるシンクホールアクションの間隔を設定します。範囲は 1 〜 60 分で、デフォルトは 5 分です。
    11. DNSシンクホールアクションを実行した後、DNS 応答を送信する間の存続時間を設定します。範囲は 0 〜 86,400 秒で、デフォルトは 1800 です。
    12. 一致を検索するサブドメインのレベルを設定します。範囲は 0 から 10 です。値 0 は、サブドメインが検索されないことを示します。

      たとえば、 wildcarding-level を 4 に設定し、データベース・ファイルに example.com のエントリが含まれている場合、ドメイン ・198.51.100.0.example.com と共に到着するDNS 要求について、以下の比較が行われます。

      • 198.51.100.0.example.com: 一致なし

      • 51.100.0.example.com: 1 レベル下に一致しません

      • 100.0.example.com: 2 レベルダウンで一致なし

      • 0.example.com: 3 レベルダウンで一致なし

      • example.com:4レベル下のマッチ

    13. (オプション)SRVおよびTXTクエリタイプの応答エラーコードを指定します。

      (オプション)SRVおよびTXTクエリタイプの応答エラーコードを指定します。

    14. テンプレートの条件を設定します。テンプレートには最大 64 個の条件を設定できます。
    15. (オプション)フィルタリングするDNSリクエストの送信元IPアドレスプレフィックスを指定します。1つの条件に最大64個のプレフィックスを設定できます。
    16. ドメイン フィルター データベースで特定されたシンクホール アクションが、許可されていない DNS 要求に対して実行されることを指定します。

DNS フィルタリングのサービス セットの設定方法

DNS フィルタープロファイルをネクストホップサービス セットに関連付け、DNS フィルタリングのログを有効にします。サービスインターフェイスは、MX-SPC3サービスカードを使用したmsまたはvmsインターフェイスの次世代サービス)、または集約されたマルチサービス(AMS)インターフェイスにすることができます。

DNSフィルタリングのマルチテナントサポート

概要

Junos OS リリース 21.1R1 以降では、顧客または IP サブグループごとにカスタム ドメイン フィードを設定できます。できます:

  • 複数のテナントのドメイン名とアクションを構成して、ドメインフィードをテナントごとに管理できるようにします。
  • プロファイルごと、dns-filter-templateごと、またはdns-filter-termごとに、階層型ドメインフィード管理を設定します。
  • IP、サブネット、または CIDR レベルでドメイン フィードを除外します。

DNS フィルタリングの mutiltenant サポートを実装するには、テンプレート レベルまたはプロファイル レベルでのドメイン フィルター データベース ファイルの作成を無効にします。テンプレート・レベルまたはプロファイル・レベルでファイルを指定する必要はありません。Junos OS 21.1R1以降、デフォルトでは、固定名、 nsf_multi_tenant_dn_custom_file.txt (プレーンテキスト形式)または dnsf_multi_tenant_dn_custom_file_hashed.txt (暗号化されたファイル)のグローバルファイルを使用できます。

データベース・ファイルの各エントリには、次の項目があります。

hashed-domain-name、IPv4 シンクホール アドレス、IPv6 シンクホール アドレス、シンクホール FQDN、ID、アクション、feed-name。

ファイル ハッシュが計算され、ファイル内のドメイン名エントリのリストに追加されます。ファイルハッシュは、グローバルキーと方式を使用して計算され、 [edit services web-filter] 階層で構成されたハッシュキーを使用して計算されたファイルハッシュで検証されます。ファイル検証は、計算されたファイルハッシュがファイルに存在するファイルハッシュと一致する場合にのみ成功します。

ファイルの各エントリ nsf_multi_tenant_dn_custom_file.txtfeed-name という追加フィールドで構成されます。この feed-name は、ドメイン名のセットをグループ化し、テナント(プロファイル、テンプレート、用語、または IP アドレス)にマッピングするためのインジケーターとして使用されます。

DNS パケットが特定の SRC IP アドレスから受信されると、対応する feed-name が取得され、条件に関連付けられた feed-name にマッピングされたドメイン名に対してルックアップが行われます。feed-name がその IP アドレス用にプロビジョニングされていない場合、テンプレートレベルで設定された feed-name にフォールバックし、テンプレートに関連付けられた feed-name にマッピングされたドメイン名に対してルックアップが行われます。feed-name が template で設定されていない場合、ルックアップは、プロファイルに関連付けられた feed-name に対してマッピングされたドメイン名に対して行われます。

DNS フィルタリングのマルチテナント サポートの設定

  1. Web フィルターを構成します。
  2. マルチテナント サポートを有効にする
  3. グローバル ファイル ハッシュ キーとハッシュ メソッドを構成します。
    手記:

    multi-tenant-hashが設定されている場合、グローバル DNS フィード ファイルが暗号化されたフィードのみで構成されていることを示します。multi-tenant-hash が設定されていない場合は、グローバル DNS フィード ファイルにプレーン テキスト形式のフィードがあることを示します。

  4. DNS フィルタープロファイルの名前を設定し、プロファイルレベルでドメインフィードをマッピングします。プロファイルレベルで設定されたフィード名インジケーターは、フィード名インジケーターが設定されていないプロファイル内のすべてのテンプレートと用語に適用されます。
  5. プロファイルの一般的な DNS フィルタリング設定を構成します。これらの値は、DNS 要求が特定のテンプレートと一致しない場合に使用されます。
    1. (オプション)DNS フィルタリングを特定の DNS サーバー宛ての DNS 要求に制限するには、最大 3 つの IP アドレス (IPv4 または IPv6) を指定します。
    2. DNSリクエストの統計情報と、各顧客のIPアドレスに対して実行されるシンクホールアクションの間隔を設定します。範囲は 1 〜 60 分で、デフォルトは 5 分です。
    3. DNSシンクホールアクションを実行した後にDNS 応答を送信する有効期限(TTL)を構成します。範囲は 0 〜 86,400 秒で、デフォルトは 1800 です。
    4. 一致を検索するサブドメインのレベルを設定します。範囲は 0 から 10 です。値 0 は、サブドメインが検索されないことを示します。
    5. (オプション) TXT クエリ タイプの応答エラー コードを指定します。
  6. テンプレートを設定します。プロファイルには最大 8 つのテンプレートを設定できます。各テンプレートは、特定のアップリンクおよびダウンリンク論理インターフェイスまたはルーティング インスタンスでの DNS 要求、または特定の送信元 IP アドレス プレフィックスからの DNS 要求のフィルター設定を識別します。
    1. テンプレートの名前を設定します。
    2. フィード名を設定します。マルチテナント形式では、プロファイルまたはテンプレートの下にファイル名を追加できなくなりました。プロファイルで指定されたフィード名は、テンプレートで設定されたフィード名に比べて優先順位が低くなります。
    3. (オプション)DNSフィルタリングが適用されるクライアント側の論理インターフェイス(アップリンク)を指定します。
    4. (オプション)DNSフィルタリングが適用されるサーバー側の論理インターフェイス(ダウンリンク)を指定します。
    5. (オプション)DNSフィルタリングが適用されるクライアント側の論理インターフェイスのルーティング インスタンスを指定します。
    6. (オプション)DNSフィルタリングが適用されるサーバーに接続する論理インターフェイスのルーティング インスタンスを指定します。
      手記:

      クライアントとサーバーのインターフェイス、またはクライアントとサーバーのルーティングインスタンスを設定すると、インターフェイスまたはルーティングインスタンスに暗示的なフィルターがインストールされ、DNSトラフィックをサービスPICに誘導してDNSフィルタリングを行います。クライアントとサーバーのインターフェイスもルーティングインスタンスも設定しない場合は、DNSトラフィックをサービスPICに転送する方法(ルートなど)を提供する必要があります。

    7. DNSリクエストの統計情報と、各顧客のIPアドレスに対して実行されるシンクホールアクションの間隔を設定します。範囲は 1 〜 60 分で、デフォルトは 5 分です。
    8. DNSシンクホールアクションを実行した後、DNS 応答を送信するまでの時間を設定します。範囲は 0 〜 86,400 秒で、デフォルトは 1800 です。
    9. 一致を検索するサブドメインのレベルを設定します。範囲は 0 から 10 です。値 0 は、サブドメインが検索されないことを示します。
    10. テンプレートの条件を設定します。テンプレートには最大 64 個の条件を設定できます。
    11. フィード名を設定します。条件で設定されたフィード名は、テンプレートで設定されたフィード名よりも優先されます。ただし、シンクホール ドメインが template のフィード名に記載されている唯一のドメインと一致する場合は、そのエントリに指定されたアクションが実装されます。
    12. (オプション)フィルタリングするDNSリクエストの送信元IPアドレスプレフィックスを指定します。1つの条件に最大64個のプレフィックスを設定できます。
    13. ドメイン フィルター データベースで特定されたシンクホール アクションが、許可されていない DNS 要求に対して実行されるように構成します。
  7. DNS フィルタープロファイルをネクストホップサービス セットに関連付け、DNS フィルタリングのログを有効にします。サービスインターフェイスは、マルチサービス(ms)または仮想マルチサービス(vms)インターフェイス(MX-SPC3サービスカードを使用した次世代サービス)、または集約されたマルチサービス(AMS)インターフェイスにすることができます。
  8. MX-SPC3 サービス カードで次世代サービスを実行している場合、syslog で FPC および PIC 情報を取得するように vms インターフェイスを設定します。

例:DNS フィルタリングのマルチテナント サポートの設定

構成

CLIクイック構成

この例を素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更し、コマンドを[edit]階層レベルのCLIにコピー&ペーストしてください。

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。

解放
形容
19.3R2
Junos OS リリース 19.3R2 以降、MX-SPC3 サービス カードで次世代サービスを実行している場合に、DNS フィルタリングを設定できます。次世代サービスは、MX240、MX480、MX960ルーターでサポートされています。