Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

URLフィルタリング

URLフィルタリングの概要

URLフィルタリングを使用して、ユーザーがアクセスできないWebコンテンツを判断できます。

この機能のコンポーネントには次のものが含まれます。

  • URLフィルターデータベースファイル

  • 1つ以上のテンプレートの設定(プロファイルあたり最大8つ)

  • URLフィルタープラグイン(jservices-urlf)

  • URLフィルタリングデーモン(url-filterd)

URLフィルターデータベースファイルは、ルーティングエンジンに保存され、許可されていないすべてのURLが含まれています。設定された テンプレートは 、監視するトラフィック、一致させる基準、実行するアクションを定義します。 プロファイル内のURLフィルターデータベースファイルのテンプレートと場所を設定します。

Junos OSリリース17.2R2および17.4R1以降、アダプティブサービスでは、URLフィルターデータベースで許可されていないドメイン名に属する埋め込みIPアドレス(http:/10.1.1.1など)を含むHTTPトラフィックのフィルタリングを無効にできます。Junos OSリリース19.3R2以降、これと同じ機能がMX240、MX480、MX960の次世代サービスでサポートされています。

URLフィルタリング機能を有効にするには、[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]階層レベルでjservices-urlfpackage-nameとして設定する必要があります。有効化されると、jservices-urlf は URL フィルタリングプロファイルを維持し、フィルタリングするすべてのトラフィック、フィルタリング基準、フィルタリングされたトラフィックに対して実行されるアクションを受信します。

注:

MX-SPC3は、[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]階層レベルのpackage-nameとして明示的にjservices-urlfを必要としません。デフォルトでサポートされています。

同じくルーティングエンジンに存在するURLフィルタリングデーモン(url-filterd)は、URLフィルターデータベース内の各URLのドメイン名をIPv4およびIPv6アドレスのリストに解決します。次に、IPアドレスのリストをjservices-urlfを実行するサービスPICにダウンロードします。次に、url-filterdは動的ファイアウォールプロセス(dfwd)と対話して、パケット転送エンジンにフィルターをインストールし、選択したトラフィックをパケット転送エンジンからサービスPICにパントします。

新しいHTTPおよびHTTPSトラフィックがルーターに到達すると、URLフィルターデータベースファイルの情報に基づいて決定が行われます。フィルタリングルールがチェックされ、ルーターがトラフィックを受け入れて渡すか、トラフィックをブロックするかのいずれかになります。トラフィックがブロックされた場合、以下のいずれかの設定されたアクションが実行されます。

  • HTTPリダイレクトがユーザーに送信されます。

  • カスタムページがユーザーに送信されます。

  • HTTPステータスコードがユーザーに送信されます。

  • TCPリセットが送信されます。

[Accept]もオプションです。この場合、トラフィックはブロックされません。

図1 は、HTTPセッションのURLフィルタリングを示しています。

図1:HTTPセッションのパケットフローURLフィルタリング Packet Flow-URL Filtering for HTTP Sessions

図2 は、HTTPSセッションのURLフィルタリングを示しています。

図2:HTTPSセッションのパケットフローURLフィルタリング Packet Flow-URL Filtering for HTTPS Sessions

URLフィルタリング機能の詳細については、次のセクションを参照してください。

URLフィルターデータベースファイル

URLフィルターデータベースファイルには、URLとIPアドレスのエントリが含まれています。 表1 に示す形式でURLフィルターデータベースファイルを作成し、ルーティングエンジンの /var/db/url-filterd ディレクトリにあります。

表1:URLフィルターデータベースのファイル形式

エントリー

説明

例文

FQDN

完全修飾ドメイン名。

www.badword.com/jjj/bad.jpg

URL

レイヤー7プロトコルなしの完全な文字列URL。

www.srch.com/*悪い言葉*/

www.srch.com

www.srch.com/xyz

www.srch.com/xyz*

IPv4アドレス

特定のIPv4アドレスに対するHTTPリクエスト。

10.1.1.199

IPv6アドレス

特定のIPv6アドレスに対するHTTPリクエスト。

1::1

プロファイルでカスタムURLフィルターデータベースを指定する必要があります。必要に応じて、任意のテンプレートにカスタムURLフィルターデータベースファイルを割り当てることもでき、そのデータベースはプロファイルレベルで設定されたデータベースよりも優先されます。

URLフィルターデータベースファイルの内容を変更する場合は、 request services (url-filter | web-filter) update コマンドを使用します。URLフィルターデータベースファイルの維持に役立つその他のコマンドは次のとおりです。

  • request services (url-filter | web-filter) delete

  • request services (url-filter | web-filter) force

  • request services (url-filter | web-filter) validate

URLフィルタープロファイルの注意事項

URLフィルタープロファイルは、1つから8つのテンプレートで構成されています。各テンプレートは、URLフィルタリングと1つ以上の条件のためにトラフィックが監視される、設定された論理インターフェイスのセットで構成されています。

用語は、一致基準を満たした場合に実行されるアクションを含む一連の一致基準です。URLフィルタリングを設定するには、少なくとも1つの条件を設定する必要があります。各用語は、fromステートメントとthenステートメントで構成され、fromステートメントは監視対象の送信元IPプレフィックスと宛先ポートを定義します。then ステートメントは、実行するアクションを指定します。from文を省略すると、送信元IPプレフィックスと宛先ポートが一致すると見なされます。ただし、テンプレートごと、またはプロファイルごとに省略できるfromステートメントは1つだけです。

from ステートメントを使用しない複数の用語の設定例

テンプレートごとに複数の from ステートメントを省略すると、コミット時に以下のエラーメッセージが表示されます。

URLフィルタリングの設定

URLフィルタリング機能を設定するには、まず[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]階層レベルでjservices-urlfpackage-nameとして設定する必要があります。extension-provider package package-name設定ステートメントの設定の詳細については、パッケージ(PICでの読み込み)ステートメントを参照してください。

注:

MX-SPC3は、[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]階層レベルのpackage-nameとして明示的にjservices-urlfを必要としません。デフォルトでサポートされています。

URLフィルタリングは、サービスPICで設定されます。扱うインターフェイスは、サービスインターフェイス(msプレフィックスを使用)またはアグリゲートマルチサービス(AMS)インターフェイス(amsプレフィックスを使用)です。AMSインターフェイスの詳細については、集約型マルチサービスインターフェイスについてで始まるルーティングデバイス用アダプティブサービスインターフェイスユーザーガイドを参照してください。

URLフィルタリング プロファイル はテンプレートの集合です。各テンプレートは、許可されていないURLと受信者への通知方法を定義する一連の基準で構成されています。

URLプロファイルを設定するには:

  1. URLプロファイルに名前を割り当てます。

    Junos OSリリース18.3R1以降、アダプティブサービス向け。 [edit services web-filter] 階層レベルでプロファイルを設定します。リリース18.3R1 Junos OSより前は、 [edit services url-filter] 階層レベルでプロファイルを設定します。Junos OSリリース19.3R2以降、これと同じ機能をMX240、MX480、MX960の次世代サービスで利用できるようになりました。

  2. 使用するURLフィルターデータベースの名前を指定します。
  3. プロファイル用に1つ以上のテンプレートを設定します。

    各テンプレートを設定するには:

    1. テンプレートに名前を付けます。
      注:

      Junos OS Release 18.3R1以降では、 url-filter-template ステートメントでテンプレートを設定します。リリース 18.3R1 Junos OS前に、 template ステートメントでテンプレートを設定します。

    2. その新しいテンプレート階層レベルに移動します。
    3. 使用するURLフィルターデータベースの名前を指定します。
    4. DNSクエリーを送信するために送信元IPアドレスが選択されるループバックインターフェイスを指定します。
    5. URLフィルターデータベースで許可されていないドメイン名に属する埋め込みIPアドレス(例:http:/10.1.1.1)を含むHTTPトラフィックのフィルタリングを無効にします。
    6. DNS解決の時間間隔を分単位で設定します。
    7. クエリが失敗またはタイムアウトした場合のDNSクエリの再試行回数を設定します。
    8. DNSクエリーの送信先DNSサーバーのIPアドレス(IPv4またはIPv6)を指定します。
    9. URLフィルタリングが設定されているクライアント向け論理インターフェイスを指定します。
    10. URLフィルタリングが設定されているサーバー向けの論理インターフェイスを指定します。
    11. URLフィルタリングが設定されているルーティングインスタンスを指定します。
    12. DNSサーバーに到達できるルーティングインスタンスを指定します。
  4. 用語情報を設定します。

    用語は、ポリシーまたはフィルターを小さな一致とアクションのペアにセグメント化するためにフィルターで使用されます。

    1. 用語に名前を付けます。
    2. 新しい用語階層レベルに移動します。
    3. フィルタリングするトラフィックの送信元IPアドレスプレフィックスを指定します。
    4. フィルタリングするトラフィックの宛先ポートを指定します。
    5. 実行するアクションを設定します。

      アクションは次のいずれかです。

      custom-page custom-page

      カスタムページ文字列をユーザーに送信します。

      http-status-code http-status-code

      HTTPステータスコードをユーザーに送信します。

      redirect-url redirect-url

      ユーザーにHTTPリダイレクトを送信します。

      tcp-reset

      ユーザーにTCPリセットを送信します。

  5. URLプロファイルをネクストホップサービスセットに関連付けます。
    注:

    URLフィルタリングの場合、サービスセットをネクストホップサービスセットとして設定する必要があります。

    注:

    サービスインターフェイスは、amsプレフィックスにすることもできます。URLフィルターに[edit services service-set service-set-name]階層レベルでamsインターフェイスを使用している場合は、[edit interfaces ams-interface-name unit number]階層レベルでもload-balancing-options hash-keysステートメントを設定する必要があります。

    注:

    Junos OS Release 18.3R1以降では、 web-filter-profile ステートメントでサービスセットを設定します。リリース 18.3R1 Junos OSより前は、 url-filter-profile ステートメントを使用してサービス セットを設定します。

許可されていない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サイトへのアクセスをブロックします。これにより、クライアントが許可されていないドメインにトラフィックを送信しようとすると、トラフィックは代わりにシンクホールサーバーに送られます( 図3を参照)。

  • リクエストを記録し、アクセスを許可します。

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

  • アラート
  • 同意する
  • ドロップ
  • ログドロップなし

許可されていないドメインに対するその他のDNSリクエストタイプについては、リクエストがログに記録され、アクセスが許可されます。

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

図3:許可されていないドメイン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個のドメインエントリーを含めることができます。データベース・ファイル内の各エントリーには、以下の項目があります。

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

    どこ:

    • hashed-domain-name は、許可されていないドメイン名(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トラフィックをDNSフィルタリングのためにサービスPICに誘導します。クライアントとサーバーのインターフェイスもルーティングインスタンスも設定しない場合は、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フィルタリングのログを有効にします。サービスインターフェイスは、msまたはvmsインターフェイスMX-SPC3サービスカードを備えた次世代サービス)、または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.txtファイルの各エントリーは、feed-nameと呼ばれる追加フィールドで構成されています。このフィード名は、ドメイン名のセットをグループ化し、テナント(プロファイル、テンプレート、用語、またはIPアドレス)にマッピングするためのインジケーターとして使用されます。

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

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トラフィックをDNSフィルタリングのためにサービスPICに誘導します。クライアントとサーバーのインターフェイスもルーティングインスタンスも設定しない場合は、DNSトラフィックをサービスPICに誘導する方法(ルート経由など)を提供する必要があります。

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

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

設定

CLIクイックコンフィグレーション

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

MXシリーズルーターでのジュニパーATPクラウドとWebフィルタリングの統合

概要

ジュニパー Advanced Threat Prevention(ジュニパー ATP クラウド)は、MXシリーズルーターと統合されており、次世代ファイアウォールシステムを備えたクラウドベースの脅威検出ソフトウェアを採用することにより、進化するセキュリティ脅威からクラウド内のすべてのホストを保護します。

このトピックでは、ジュニパー ATP クラウド、Policy Enforcer、セキュリティインテリジェンス、Webフィルタリングの概要と、MXシリーズルーターに統合した場合のメリットについて説明します。

プラットフォームとリリース情報の詳細については、 Feature Explorer を参照してください。

利点

  • MXルーターと統合することで導入が簡素化され、脅威対策機能が強化されます。

  • ツールを組み合わせて「ゼロデイ」の脅威から保護し、巧妙で回避型の脅威に対して堅牢なカバレッジを提供します。

  • ポリシー強化により、インバウンドおよびアウトバウンドトラフィックをチェックし、ユーザーはマルウェアの阻止、感染したシステムを隔離し、データ流出を防止し、ラテラルムーブメントを妨害することができます。

  • 高可用性をサポートし、中断のないサービスを提供します。

  • より多くのコンピューティングリソースを必要とする負荷の増加、より多くの顧客からの送信を受信するためのネットワーク帯域幅の増加、マルウェア用の大容量ストレージを処理するための拡張性を提供します。

  • 詳細な検査、実用的なレポート、インラインマルウェアブロックを提供します。

  • ログ内のVRF情報を使用してテナンシ情報を提供する機能を提供

Policy Enforcerとジュニパー ATP クラウドについて

ジュニパーネットワークス Security Director は、脅威条件からの学習、ポリシー作成の自動化、ネットワーク内のジュニパー デバイスへの動的な適用の展開を可能にする Policy Enforcer(PE)と呼ばれる機能で構成されています。

図4 は、PE、ジュニパーATPクラウド、およびファイアウォールとして機能するMXルーター間のトラフィックフローを示しています。

  • Policy Enforcer(PE)は、脅威の状態から学習し、ポリシーの作成を自動化して、ネットワーク内のジュニパーデバイスに適用を展開します。

  • ジュニパー Advanced Threat Prevention(ジュニパー ATP クラウド)は、次世代ファイアウォール システムでクラウドベースの脅威検出ソフトウェアを採用することで、クラウド内のすべてのホストを保護します。

  • MXルーターは、Policy Enforcer(PE)から脅威インテリジェンスフィードを取得し、それらのポリシーを実装して、侵害されたホストを隔離します。これは、次の重要なコンポーネントで構成されています。

    • セキュリティインテリジェンスプロセス

    • Webフィルタリングプロセス

    • ファイアウォールプロセス

図4:システムアーキテクチャSystem Architecture

システムアーキテクチャの機能を理解するために、次の例を考えてみましょう。ユーザーがインターネットからファイルをダウンロードし、そのファイルがMXファイアウォールを通過した場合、マルウェア検査のためにそのファイルがジュニパー ATPクラウドクラウドに送信される可能性があります(構成設定によって異なります)。ファイルがマルウェアと判断された場合、PE はファイルをダウンロードしたホストの IP アドレスと MACアドレスを識別します。ユーザー定義のポリシーに基づいて、そのホストを隔離VLANに入れるか、インターネットへのアクセスをブロックすることができます。

MXシリーズルーターをジュニパーATPクラウドと統合することで、侵害されたホスト(ボットネット)がコマンド&コントロールサーバーと通信するのを防ぐことができます。

  • インラインセキュリティ機能としてのアダプティブサービスを搭載したJunos OSリリース18.4R1以降

  • インラインセキュリティ機能としての次世代サービスを含むJunos OSリリース19.3R2以降

MXシリーズルーターは、以下のいずれかの方法でC&CとGeo-IPをダウンロードできます。

  • 間接メソッド-Policy Enforcerは、定義された環境にあるすべてのデバイスに対するフィードプロキシのように機能します。この方法は、個々のデバイスがインターネット上のジュニパー ATP クラウド サービスにアクセスしないようにするのに役立ちます。したがって、インターネットに到達するデバイスの脆弱性が減少します。

  • ダイレクト方式-MXシリーズルーターは、ジュニパー ATPクラウドに直接登録し、C&CとGeo-IPフィードをダウンロードします。

セキュリティインテリジェンス(SecIntel)-概要

セキュリティインテリジェンスプロセス(IPFD)は、フィードコネクターまたはATP Cloud クラウドフィードサーバーからセキュリティインテリジェンスフィードをダウンロードして解析します。MXプラットフォーム上のIPFDプロセスは、Policy EnforcerからコマンドアンドコントロールIPv4/IPv6フィードを取得します。C&Cフィードは、基本的にボットネット向けの既知のコマンドおよびコントロールサーバーであるサーバーのリストです。このリストには、マルウェアのダウンロード元が知られているサーバーも含まれています。このようにして取得された情報は、/var/db/url-filterdディレクトリの下に作成されたファイル(urlf_si_cc_db.txt)に保存されます。

IPFDがWebフィルタリングプロセスに送信する許可されていないIPのファイル形式は、以下のとおりです。

IPv4 address | IPv6 address, threat-level.

threat-levelは1から10の範囲の整数で、マルウェアや感染ホストをスキャンしたファイルの脅威レベルを示します。ここで、1は最も低い脅威レベルを表し、10は最高の脅威レベルを表します。

例:178.10.19.20、4

ここで、178.10.19.20は許可されていないIPを示し、4は threat-levelを示します。

C&Cフィードデータベースは、バックアップルーティングエンジンに同期されます。その後、IPFDはWebフィルタリングプロセス(url-filterd)に情報を共有します。Webフィルタリングプロセスは、ファイルの内容を読み取り、それに応じてフィルターを設定します。

Policy EnforcerからCCフィードをダウンロードするようにセキュリティ Intelligenceを設定する

ジュニパー ATP Cloud/Policy EnforcerからコマンドアンドコントロールIPv4/IPv6フィードをダウンロードするには、次の例に示すように、[edit services]階層にsecurity-intelligenceステートメントを含めます。

Webフィルタリング(URLフィルタリング)- 概要

Webフィルタリングプロセスは、IPFDから取得したファイルの内容を読み取り、それに応じてパケット転送エンジンのフィルターを設定します。Webフィルタリングプロセスは、パケット転送エンジンのフィルターをプログラミングして、ブロックされたIPアドレス宛てのパケットをブロックし、インシデントを報告するためのログを生成することで、コマンド&コントロールフィードを強制します。

図5 は、C&CフィードがIPFDによって取得され、Webフィルタリングプロセスによって処理される方法を示しています。

図5:WebフィルタリングWeb Filtering

Webフィルタープロファイルには、複数のテンプレートを含めることができます。各テンプレートは、Webフィルタリング用に設定された論理インターフェイスのセットと、1つ以上の条件で構成されています。用語は、一致基準を満たした場合に実行されるアクションを含む一連の一致基準です。動的に取得されたC&Cフィードを使用するようにWebフィルタープロファイルを設定するには、[edit services web-filter profile profile-name 階層レベルでsecurity-intelligence-policyコマンドを設定します。security-intelligence-policyベースのWebフィルタープロファイルに条件を設定する必要はありません。

edit web-filter profile profile-name security-intelligence-policy threat-level threat-level threat-action階層レベルで、Webフィルタープロファイルに対して以下の脅威レベルアクションを設定できます。

  • drop

  • drop-and-log

  • log

threat levelに対して設定できるthreat-actionは1つだけです。特定のthreat level用にthreat-actionが設定されていない場合、デフォルトのthreat-actionacceptです。

Junos OS リリース 24.4R1 以降、 log アクションで設定された脅威では、脅威レベルとテナントまたは VRF 情報が送信 syslog に埋め込まれます。サービスクラスポリシーマップは、脅威レベルを保存および表示するための新しい user-attribute integer キーワードで強化されています。

[editi class-of-service policy-map policy-name]階層でuser-attribute integerを設定できます。

ポリシーマップは、各脅威レベルの設定で参照され <>新しいユーザー属性 をdfwフィルター条件にマッピングし、各脅威レベルに対して設定されたアクションを駆動します。ポリシーマップは、 [edit services web-filter profile profile-name security-intelligence-policy threat level integer policy-map policy-name] 階層または [edit services web-filter profile profile-name url-filter-template template-name security-intelligence-policy threat level integer policy-map policy-name] 階層で使用され、脅威レベルをユーザー属性にマッピングします。

例えば

サンプリング用のWebフィルタープロファイルの設定

Junos OSリリース19.3R1以降、Webフィルタリングプロセス(url-filterd)は、脅威レベルのアクションとしてパケットのインラインサンプリングをサポートしています。パケットは、設定した脅威アクションに基づいてドロップされ、ログに記録され、サンプリングされます。拡張されたシナリオでは、ログ オプションよりもパケットのサンプリングが優先されます。既存の脅威レベルアクションに加えて、 edit web-filter profile profile-name security-intelligence-policy threat-level threat-level threat-action 階層レベルのWebフィルタープロファイルで以下の脅威レベルアクションを設定できます。

  • drop-and-sample

  • drop-log-and-sample

  • log-and-sample

  • sample

インラインフロー監視は、パケットをサンプリングし、IPFIX形式のフローレコードをフローコレクターに送信します。外部コレクターで受信したサンプリングパケットの脅威レベルは、サンプリングされたパケットから受信したIPと /var/db/url-filterd/urlf_si_cc_db.txt内の対応するIPエントリーを照合することで導き出すことができます。以下の方法のいずれかを使用して、サンプリングを設定できます。

  • [edit chassis]階層レベルでメディアインターフェイスが存在するFPCにサンプリングインスタンスを関連付けます。IPv4フロー、IPv6フロー、VPLSフローのサンプリングを設定する場合、各ファミリーのフローハッシュテーブルサイズを設定することができます。

  • [edit services flow-monitoring階層レベルでインラインフロー監視用のテンプレートプロパティを設定します。

  • サンプリングインスタンスを設定し、フローサーバーのIPアドレス、ポート番号、フローのエクスポートレートを関連付け、 [edit forwarding-options 階層レベルでコレクターを指定します。

サンプリングインスタンスをFPCに関連付ける

定義されたインスタンスを特定のFPC、MPC、またはDPCに関連付けるには、次の例に示すように、 [edit chassis fpc number]階層レベルにsampling-instanceステートメントを含めます。

サンプリングインスタンスを設定し、テンプレートをサンプリングインスタンスに関連付けます。

インラインフロー監視用のテンプレートプロパティを設定するには、次の例に示すように、 edit services flow-monitoring 階層レベルで以下のステートメントを含めます。

サンプルインスタンスを設定し、フローサーバーのIPアドレスとその他のパラメーターを関連付けます。

サンプリングインスタンスを設定し、フローサーバーのIPアドレスとその他のパラメーターを関連付けるには。次の例に示すように、 [edit forwarding-options] 階層に以下のステートメントを含めます。

例:さまざまな脅威レベルを定義するためのWebフィルタープロファイルの設定

GeoIPフィルタリング

概要

GeoIPフィードは、基本的にIPアドレスと国のコードマッピングのリストです。Junos OS 21.4R1以降、MXシリーズルーターでIPベースの地理的な場所を設定して、Policy EnforcerからGeoIPフィードを取得できるようになりました。GeoIPフィードを展開することで、デバイスが特定の国に属するIPアドレスと通信しないようにネットワークを有効にすることができます。

MXシリーズルーターでセキュリティインテリジェンスプロセス(IPFD)を設定して、Policy EnforcerからGeoIPフィードを取得できます。既存のC&C IPまたはIPv6フィードと同様に、IPFDはPolicy EnforcerからGeoIPフィードをダウンロードします。IPFDは、フィードをファイル形式に変換し、その後Webフィルタリングプロセス(url-filterd)で処理します。

Junos OS 22.1R1以降、MXシリーズルーターでセキュリティインテリジェンスプロセス(IPFD)を設定して、ジュニパーATPクラウドからGeoIPフィードを取得できるようになりました。既存のC&C IPまたはIPv6フィードと同様に、IPFDはジュニパーATPクラウドからGeoIPフィードをダウンロードします。

MXシリーズルーターでGeoIPフィルタリングを設定する方法

IPFDによって取得された情報は、/var/db/url-filterdの場所に作成されたファイル(urlf_si_geoip_db.txt)に保存されます。

IPFDからWebフィルタリングプロセスに送信されるファイルの形式は次のとおりです。

IPv4 address|IPv6 address,Prefix,threat-level,VRF-name,Gen-num.Gen-num は常に 0 です。 VRF-name は国コードを指します。

例:178.10.19.22,12,255,US,0

IPFDとWebフィルタリングプロセスは、GeoIPフィードを含むファイルの作成または更新を通信するためのpconn接続を維持します。Webフィルタリングプロセスでは、PFEのフィルターをプログラミングして、ブロックされた国宛てのパケットをブロックすることで、GeoIPフィードを強制します。liburlf が提供する API は、ファイルの検証と解析に使用されます。

Webフィルタリングプロセスは、IPアドレスのリストを含むファイルを読み取り、PFEフィルターは、フィードにリストされている宛先IPアドレスと、関連する国に設定されたアクションでプログラムされます。

  • グローバルフィルター - 国は、プロファイル内のグローバルルールの下で設定されます。そのグローバルルールに固有の国のすべてのIPアドレスが単一のフィルターでプログラムされ、プロファイル内のすべてのテンプレートに適用されます。[edit services web-filter profile profile-name security-intelligence-policy]階層でgeo-ip rule match country country-nameを設定することで、GeoIPフィードを動的に取得するプロファイルを設定できます。

  • グループフィルター - 国のグループはテンプレートの下に設定されます。グループの国に関連付けられたすべてのIPアドレスは、グループが設定されているテンプレートに適用されるグループフィルターでプログラムされます。グループは、liburlf によって解析される json ファイルで定義された国のリストです。

    グループフィルターを設定するには、group.jsonファイルにグループマッピングが含まれている/var/db/url-filterdの場所にjsonファイルを設定する必要があります。

    jsonファイルの形式は次のとおりです。

    [

    {

    "group_name" : "group1",

    "country" : ["ZA","YE"]

    },

    {

    "group_name" : "group2",

    "country" : ["YT"]

    }

    ]

    GeoIPフィードを動的に取得するには、単一のプロファイルを使用してグローバルフィルターを構成するか、テンプレートを使用して複数のグループフィルターを構成します。両方の設定を一緒にサポートしているわけではありません。

    jsonファイルで作成されたグループは、 [edit services web-filter profile profile-name url-filter-template template-name security-intelligence-policy geo-ip rule match group group-name] 階層で定義されたGeoIP一致句で参照されます。

グローバル許可リストとグローバルブロックリスト

独自の許可リストとブロックリストを追加して、IPフィードをカスタマイズすることを選択できます。これは、セキュリティ運用センター向けにカスタマイズされたインテリジェンスフィードの管理や、誤検知の一時的な対策として役立ちます。Junos OSリリース21.4R1以降、CLIまたはファイルによる設定に基づいて特定のIPアドレスを許可またはブロックできるようになりました。許可リスト用に別々のリストを設定し、ブロックリスト用に別々のリストを設定するか、ファイルにIPアドレスを含めてCLI設定にファイル名を含めることができます。

[edit services web-filter]階層でIP-address-listを作成できます。ここには、許可またはブロックする必要があるIPアドレスのリストが含まれていますIP-address-list。また、許可またはブロックする必要があるIPアドレスを含むファイルを/var/db/urlフィルターされた場所に作成することもできます。ファイルまたはIPアドレスリストの一部として設定されたIPアドレスは、すべてのテンプレートに添付されたグローバルフィルターの一部としてプログラムされます。

edit services web-filter profile profile-name security-intelligence-policy階層でwhite-list (IP-address-list | file-name) を設定することで、グローバル許可リストを定義できます。edit services web-filter profile profile-name security-intelligence-policy階層でblack-list (IP-address-list | file-name)を設定することで、グローバルブロックリストを定義できます。ここでのIP-address-listは、[edit services web-filter]階層で指定されたIPアドレスリストの名前を指します。file-nameは、許可またはブロックする必要があるIPアドレスのリストを含むファイルの名前を参照します。ファイルは /var/db/url-filterd の場所に存在する必要があり、設定と同じ名前である必要があります。

グローバル許可リストファイルの形式は次のとおりです。

Security Intelligence Policy Enforcement Version 2.0

グローバルブロックリストファイルの形式は次のとおりです。

Security Intelligence Policy Enforcement Version 2.0

Webフィルタリングプロセスは、グローバル許可リストまたはグローバルブロックリストのIPアドレスのリストを解析し、設定されたIPアドレスで暗示的なフィルター条件をプログラムして、パケットを許可またはブロックします。

変更履歴テーブル

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

リリース
説明
19.3R2
Junos OSリリース19.3R2以降、これと同じ機能がMX240、MX480、MX960の次世代サービスでサポートされています。
19.3R2
Junos OSリリース19.3R2以降、これと同じ機能をMX240、MX480、MX960の次世代サービスで利用できるようになりました。
19.3R2
Junos OS リリース 19.3R2 以降、MX-SPC3 サービス カードを使用して次世代サービスを実行している場合、DNS フィルタリングを設定できます。次世代サービスは、MX240、MX480、MX960ルーターでサポートされています。
19.3R2
インラインセキュリティ機能としての次世代サービスを含むJunos OSリリース19.3R2以降
19.3R1
Junos OSリリース19.3R1以降、Webフィルタリングプロセス(url-filterd)は、脅威レベルのアクションとしてパケットのインラインサンプリングをサポートしています
18.4R1
インラインセキュリティ機能としてのアダプティブサービスを搭載したJunos OSリリース18.4R1以降
18.3R1
Junos OSリリース18.3R1以降、アダプティブサービス向け。 [edit services web-filter] 階層レベルでプロファイルを設定します。リリース18.3R1 Junos OSより前は、 [edit services url-filter] 階層レベルでプロファイルを設定します。
17.2R2
Junos OSリリース17.2R2および17.4R1以降、アダプティブサービスでは、URLフィルターデータベースで許可されていないドメイン名に属する埋め込みIPアドレス(http:/10.1.1.1など)を含むHTTPトラフィックのフィルタリングを無効にできます。