Citrix ADC

URL の分類

URL の分類は、特定の Web サイトおよび Web サイトのカテゴリへのユーザーアクセスを制限します。NetSTARと共同でサブスクライブされたサービスとして、この機能を使用すると、企業のお客様は、商用分類データベースを使用して Web トラフィックをフィルタリングできます。このNetSTAR データベースには、ソーシャルネットワーキング、ギャンブル、アダルトコンテンツ、新しいメディア、ショッピングなど、さまざまなカテゴリに分類された URL が多数あります。分類に加えて、各 URL には、サイトの履歴リスクプロファイルに基づいて最新のレピュテーションスコアがあります。NetSTARデータを使用して、カテゴリ、カテゴリグループ(テロ、違法薬物など)、またはサイトレピュテーションスコアに基づいて高度なポリシーを設定することにより、トラフィックをフィルタリングできます。

たとえば、マルウェアに感染していることがわかっているサイトなど、危険なサイトへのアクセスをブロックし、エンタープライズユーザーのアダルトコンテンツやエンターテイメントストリーミングメディアなどのコンテンツへのアクセスを選択的に制限できます。また、ユーザーのトランザクションの詳細と送信トラフィックの詳細をキャプチャして、Citrix ADMサーバー上のWebトラフィック分析を監視することもできます。

URL 分類の仕組み

次の図は、Citrix ADC URL分類サービスと商用URL分類データベースとクラウドサービスを統合して頻繁に更新する方法を示しています。

ローカライズされた画像

コンポーネントは次のように相互作用します。

  1. クライアントは、インターネットにバインドされたURL要求を送信します。

  2. SSL 転送プロキシは、URL 分類データベースから取得したカテゴリの詳細(カテゴリ、カテゴリグループ、サイト評価スコアなど)に基づいて、ポリシー適用をリクエストに適用します。データベースがカテゴリの詳細を返す場合、プロセスは手順 5 にジャンプします。

  3. データベースで分類の詳細が失われると、要求は URL 分類ベンダーが管理するクラウドベースの検索サービスに送信されます。ただし、アプライアンスは応答を待たずに、URL が未分類としてマークされ、ポリシーの強制が実行されます(ステップ 5 に進みます)。アプライアンスは、クラウドクエリーフィードバックを監視し続け、キャッシュを更新して、今後の要求がクラウドルックアップの恩恵を受けることができるようにします。

  4. ADC アプライアンスは、クラウドベースのサービスから URL カテゴリの詳細(カテゴリ、カテゴリグループ、レピュテーションスコア)を受け取り、分類データベースに格納します。

  5. ポリシーでは URL が許可され、リクエストはオリジンサーバーに送信されます。それ以外の場合、アプライアンスはカスタム HTML ページを使用してドロップ、リダイレクト、または応答します。

  6. オリジンサーバーは、要求されたデータをADCアプライアンスに応答します。

  7. アプライアンスは応答をクライアントに送信します。

ユースケース:企業コンプライアンスに基づくインターネット使用

URL フィルタリング機能を使用して、コンプライアンスポリシーを検出して実装し、企業のコンプライアンスに違反するサイトをブロックできます。これらは、大人、ストリーミングメディア、ソーシャルネットワーキングなどのサイトであり、非生産的と見なされたり、企業ネットワークで余分なインターネット帯域幅を消費したりすることがあります。これらの Web サイトへのアクセスをブロックすると、従業員の生産性が向上し、帯域幅の使用に関する運用コストが削減され、ネットワーク消費のオーバーヘッドが削減されます。

前提条件

URL分類機能は、URLフィルタリング機能とSSL転送プロキシの脅威インテリジェンスを備えたオプションのサブスクリプションサービスがある場合にのみ、Citrix ADCプラットフォーム上で機能します。このサブスクリプションでは、Webサイトの最新の脅威カテゴリをダウンロードし、Secure Web Gateway でそれらのカテゴリを適用できます。機能を有効にして設定する前に、次のライセンスをインストールする必要があります。

  • CNS_WEBF_SSERVER_Retail.lic

  • CNS_XXXX_SERVER_PLT_Retail.lic

ここで、XXXXXはプラットフォーム・タイプです(例:V25000)。

レスポンダーポリシー式

次の表に、着信 URL を許可、リダイレクト、またはブロックする必要があるかどうかを確認するために使用できるさまざまなポリシー式を示します。

  1. <text>. URL_CATEGORIZE (<min_reputation>, <max_reputation>) -URL_CATEGORY オブジェクトを返します。<min_reputation> が 0 より大きい場合、返されるオブジェクトには、<min_reputation>より低いレピュテーションのカテゴリは含まれません。<max_reputation> が 0 より大きい場合、返されるオブジェクトには、<max_reputation>より高いレピュテーションのカテゴリは含まれません。カテゴリがタイムリーに解決に失敗した場合は、undef値が返されます。
  2. <url_category>. CATEGORY() -このオブジェクトのカテゴリ文字列を返します。URL にカテゴリがない場合、または URL の形式が正しくない場合、戻り値は「Unknown」になります。
  3. <url_category>. CATEGORY_GROUP() -オブジェクトのカテゴリグループを識別する文字列を返します。これは、カテゴリのより高いレベルのグループです。これは、URL カテゴリに関する詳細情報を必要としない操作に役立ちます。URL にカテゴリがない場合、または URL の形式が正しくない場合、戻り値は「Unknown」になります。
  4. <url_category>. REPUTATION() -レピュテーションスコアを 0 ~ 5 の数値として返します。5 は最もリスクの高いレピュテーションを示します。カテゴリが「不明」の場合、レピュテーション値は 1 です。

ポリシーの種類:

  1. 検索エンジンカテゴリにあるURLのリクエストを選択するポリシー-add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ(“Search Engine”)
  2. アダルトカテゴリグループの URL に対するリクエストを選択するためのポリシー-add responder policy p1 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY_GROUP().EQ(“Adult”)’
  3. レピュテーションスコアが 4 未満の検索エンジンの URL に対するリクエストを選択するポリシー-add responder policy p2 ‘HTTP.REQ.HOSTNAME.APPEND (HTTP.REQ.URL).URL_CATEGORIZE(4,0).HAS_CATEGORY(“Search Engine”)
  4. 検索エンジンとショッピング URL のリクエストを選択するポリシー-add responder policy p3 ‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0).CATEGORY().EQ (“good_categories”)
  5. レピュテーションスコアが 4 以上の検索エンジンの URL に対するリクエストを選択するためのポリシー-add responder policy p5 ‘CLIENT.SSL.DETECTED_DOMAIN.URL_CATEGORIZE(4,0). CATEGORY().EQ(“Search Engines”)
  6. 検索エンジンカテゴリにあるURLのリクエストを選択し、URLセットと比較するためのポリシー-‘HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0,0). CATEGORY().EQ(“Search Engine”) && HTTP.REQ.HOSTNAME.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY(“u1”)’

レスポンダーポリシーの種類

URL 分類機能で使用されるポリシーには 2 つのタイプがあり、これらのポリシータイプのそれぞれを以下に説明します。

ポリシーの種類 説明
URL のカテゴリ Web トラフィックを分類し、評価結果に基づいてトラフィックをブロック、許可、またはリダイレクトします。
URL レピュテーションスコア Web サイトのレピュテーションスコアを決定し、管理者が設定したレピュテーションスコアのしきい値レベルに基づいてアクセスを制御できるようにします。

URL 分類の構成

Citrix ADCアプライアンスでURL分類を構成するには、次の手順を実行します。

  1. URL フィルタリングを有効にします。
  2. Web トラフィック用のプロキシサーバーを構成します。
  3. 明示モードで Web トラフィックの SSLインターセプションを設定します。
  4. キャッシュメモリを制限するように共有メモリを構成します。
  5. URL 分類パラメータを設定します。
  6. Citrix SSL転送プロキシウィザードを使用して、URLの分類を構成します。
  7. SSL 転送プロキシウィザードを使用して、URL 分類パラメーターを構成します。
  8. シードデータベースパスとクラウドサーバー名の設定

ステップ 1: URL フィルタリングを有効にする

URL 分類を有効にするには、URL フィルタリング機能を有効にし、URL 分類のモードを有効にします。

CLI を使用して URL 分類を有効にするには

コマンドプロンプトで、次のように入力します。

enable ns feature URLFiltering

disable ns feature URLFiltering

手順 2: 明示モードで Web トラフィック用のプロキシサーバーを構成する

Citrix ADCアプライアンスは、透過的および明示的なプロキシ仮想サーバーをサポートします。明示モードで SSL トラフィック用のプロキシ仮想サーバを設定するには、次の手順を実行します。

  1. プロキシサーバーを追加します。
  2. SSL ポリシーをプロキシサーバーにバインドします。

CLI を使用してプロキシサーバーを追加するには

コマンドプロンプトで、次のように入力します。

add cs vserver <name> [-td <positive_integer>] <serviceType>  [-cltTimeout <secs>]

例:

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

CLI を使用して SSL ポリシーをプロキシ仮想サーバーにバインドする

bind ssl vserver <vServerName> -policyName <string> [-priority <positive_integer>]

ステップ 3: HTTPS トラフィックの SSLインターセプションを設定する

HTTPS トラフィックの SSL インターセプションを設定するには、次の手順を実行します。

  1. CA 証明書とキーのペアをプロキシ仮想サーバにバインドします。
  2. SSL パラメータを使用してデフォルトの SSL プロファイルを設定します。
  3. フロントエンド SSL プロファイルをプロキシ仮想サーバーにバインドし、フロントエンド SSL プロファイルで SSL インターセプションを有効にします。

CLI を使用して CA 証明書とキーのペアをプロキシ仮想サーバーにバインドするには

コマンドプロンプトで、次のように入力します。

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA –skipCAName

CLI を使用してデフォルトの SSL プロファイルを設定するには

コマンドプロンプトで、次のように入力します。

set ssl profile <name> -denySSLReneg <denySSLReneg> -sslInterception (ENABLED | DISABLED) -ssliMaxSessPerServer positive_integer>

CLI を使用してフロントエンド SSL プロファイルをプロキシ仮想サーバーにバインドする

コマンドプロンプトで、次のように入力します。

set ssl vserver <vServer name>  -sslProfile ssl_profile_interception

手順 4: キャッシュメモリを制限するように共有メモリを構成する

CLI を使用してキャッシュメモリを制限するように共有メモリを設定するには

コマンドプロンプトで、次のように入力します。

set cache parameter [-memLimit <megaBytes>]

ここで、キャッシュ用に構成されたメモリ制限は 10 MB に設定されます。

ステップ 5: URL 分類パラメーターの設定

CLI を使用して URL 分類パラメータを設定するには

コマンドプロンプトで、次のように入力します。

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>]

:

set urlfiltering parameter –urlfilt_hours_betweenDB_updates 20

手順 6: Citrix SSL 転送プロキシウィザードを使用して URL 分類を構成する

  1. Citrix ADCアプライアンスにログオンし、[セキュリティ]>[SSL転送プロキシ]ページに移動します。
  2. 詳細ウィンドウで、次のいずれかの操作を行います。
    1. [SSL 転送プロキシウィザード] をクリックして、新しい構成を作成します。
    2. 既存の構成を選択し、[Edit] をクリックします。
  3. [URL フィルタリング] セクションで、[編集] をクリックします。
  4. [URL 分類] チェックボックスをオンにして、この機能を有効にします。
  5. URL 分類 ポリシーを選択し、[バインド] をクリックします。
  6. [続行] をクリックし、[完了] をクリックします。

URL 分類ポリシーの詳細については、「URL 分類ポリシーの作成方法」を参照してください。

手順 7: SSL 転送プロキシウィザードを使用して URL 分類パラメーターを構成する

  1. Citrix ADC アプライアンスにログオンし、[セキュリティ]>[URLフィルタリング]の順に選択します。
  2. [URL フィルタ] ページで、[URL フィルタ設定の変更] リンクをクリックします。
  3. URLフィルタ・パラメータの設定 」ページで、次のパラメータを指定します。
    1. DB 更新間隔 (時間)。URL データベース更新間のフィルタリング時間。最小値:0、最大値:720。
    2. DB を更新する時刻。URL フィルタリングでデータベースを更新する時刻。
    3. クラウドホスト。クラウドサーバーの URL パス。
    4. シード DB パス。シードデータベース参照サーバーの URL パス。
  4. [OK] をクリックして 閉じるをクリックします。

設定例:

enable ns feature LB CS SSL IC RESPONDER AppFlow URLFiltering

enable ns mode FR L3 Edge USNIP PMTUD

set ssl profile ns_default_ssl_profile_frontend -denySSLReneg NONSECURE -sslInterception ENABLED -ssliMaxSessPerServer 100

add ssl certKey swg_ca_cert -cert ns_swg_ca.crt -key ns_swg_ca.key

set cache parameter -memLimit 100

add cs vserver starcs PROXY 10.102.107.121 80 -cltTimeout 180

add responder action act1 respondwith ""HTTP/1.1 200 OK\r\n\r\n" + http.req.url.url_categorize(0,0).reputation + "\n""

add responder policy p1 "HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") || HTTP.REQ.URL.URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals

")" act1

bind cs vserver starcs_PROXY -policyName p1 -priority 10 -gotoPriorityExpression END -type REQUEST

add dns nameServer 10.140.50.5

set ssl parameter -denySSLReneg NONSECURE -defaultProfile ENABLED -sigDigestType RSA-MD5 RSA-SHA1 RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 -ssliErrorCache ENABLED

-ssliMaxErrorCacheMem 100000000

add ssl policy pol1 -rule "client.ssl.origin_server_cert.subject.  URL_CATEGORIZE(0,0).CATEGORY.eq("Search Engines & Portals")"" -action INTERCEPT

add ssl policy pol3 -rule "client.ssl.origin_server_cert.subject.ne("citrix")" -action INTERCEPT

add ssl policy swg_pol -rule "client.ssl.client_hello.SNI.URL_CATEGORIZE(0,0).CATEGORY.ne("Uncategorized")" -action INTERCEPT

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00

シードデータベースパスとクラウドサーバー名の設定

クラウド検索サーバー名とシードデータベースパスを手動で設定するために、シードデータベースパスとクラウドルックアップサーバー名を構成できるようになりました。そのために、URL フィルタリングパラメータに「CloudHost」と「SeedDBPath」という 2 つの新しいパラメータが追加されます。

コマンドプロンプトで、次のように入力します。

set urlfiltering parameter [-HoursBetweenDBUpdates <positive_integer>] [-TimeOfDayToUpdateDB <HH:MM>] [-LocalDatabaseThreads <positive_integer>] [-CloudHost <string>] [-SeedDBPath <string>]

例:

set urlfiltering parameter -HoursBetweenDBUpdates 3 -TimeOfDayToUpdateDB 03:00 –CloudHost localhost –SeedDBPath /mypath

監査ログメッセージの構成

監査ログを使用すると、URL 分類プロセスのどのフェーズでも条件や状況を確認できます。Citrix ADCアプライアンスが着信URLを受信すると、レスポンダーポリシーにURLフィルタリング式が設定されている場合、監査ログ機能はURLのURLセット情報を収集し、監査ログで許可されるターゲットのログメッセージとして保存します。

  • 送信元 IP アドレス(要求を行ったクライアントの IP アドレス)。

  • 宛先 IP アドレス(要求されたサーバの IP アドレス)。

  • スキーマ、ホスト、およびドメイン名を含む要求された URL(http://www.example.com)。

  • URL フィルタリングフレームワークが返す URL カテゴリ。

  • URL フィルタリングフレームワークが返した URL カテゴリグループ。

  • URL フィルタリングフレームワークが返した URL レピュテーション番号。

  • ポリシーによって実行された監査ログアクション。

URL リスト機能の監査ログを設定するには、次のタスクを実行する必要があります。

  1. 監査ログを有効化。
  2. 監査ログメッセージの作成アクション。
  3. [監査ログメッセージ] アクションで URL リストレスポンダポリシーを設定します。

詳細については、監査ログを参照してください。

SYSLOG メッセージングを使用した障害エラーの保存

URLフィルタリングプロセスのどの段階でも、システムレベルの障害が発生した場合、Citrix ADCアプライアンスは監査ログメカニズムを使用してログをns.logファイルに保存します。エラーは、SYSLOG 形式のテキストメッセージとして保存されるため、管理者は後でイベントの発生を時系列で表示できます。これらのログは、アーカイブのために外部 SYSLOG サーバにも送信されます。詳しくは、「記事CTX229399」を参照してください。

たとえば、URL フィルタリング SDK を初期化するときにエラーが発生した場合、エラーメッセージは次のメッセージ形式で格納されます。

Oct 3 15:43:40 <local0.err> ns URLFiltering[1349]: Error initializing NetStar SDK (SDK error=-1). (status=1).

Citrix ADCアプライアンスは、4つの異なる障害カテゴリにエラーメッセージを格納します。

  • ダウンロードに失敗しました。分類データベースをダウンロードしようとしたときにエラーが発生した場合。

  • 統合の失敗。既存の分類データベースに更新を統合するときにエラーが発生した場合。

  • 初期化に失敗しました。URL 分類機能の初期化時にエラーが発生した場合は、分類パラメータを設定するか、分類サービスを終了します。

  • 取得に失敗しました。アプライアンスがリクエストの分類の詳細を取得するときにエラーが発生した場合。

NetSTAR イベントの SNMP トラップの設定

URL フィルタリング機能は、次の条件が発生した場合、SNMP トラップを生成します。

  • NetSTAR データベースの更新が失敗するか、成功します。
  • NetSTAR SDKの初期化が失敗するか、成功します。

アプライアンスには、SNMP アラームと呼ばれる一連の条件エンティティがあります。SNMP アラームの条件が満たされると、アプライアンスはトラップを生成し、指定されたトラップ宛先に送信します。たとえば、NetStar SDK の初期化に失敗すると、SNMP OID 1.3.6.1.4.1.5951.1.1.0.183 が生成され、トラップの宛先に送信されます。

アプライアンスがトラップを生成するには、まず SNMP アラームを有効にして設定する必要があります。次に、生成されたトラップ・メッセージをアプライアンスが送信するトラップ先を指定します。

SNMP アラームの有効化

Citrix ADCアプライアンスは、有効になっているSNMPアラームに対してのみトラップを生成します。一部のアラームはデフォルトで有効になっていますが、無効にすることもできます。

SNMP アラームを有効にすると、成功イベントまたは失敗イベントが発生すると、URL フィルタリング機能によってトラップメッセージが生成されます。一部のアラームは、デフォルトで有効になっています。

コマンドラインインターフェイスを使用して SNMP アラームを有効にするには、次の手順を実行します。

コマンドプロンプトで次のコマンドを入力して、パラメーターを設定し、構成を確認します。

enable snmp alarm <trapName> show snmp alarm <trapName>

Citrix ADC GUIを使用してSNMPアラームを有効にするには

  1. [システム] > [SNMP] > [アラーム] に移動し、アラーム を選択します。
  2. アクション」をクリックし、「有効化 」を選択します。

コマンドラインインターフェイスを使用して SNMP アラームを構成するには

コマンドプロンプトで次のコマンドを入力して、パラメーターを設定し、構成を確認します。

set snmp alarm <trapName> [-thresholdValue <positive_integer> [-normalValue <positive_integer>]] [-time <secs>] [-state ( ENABLED | DISABLED )] [-severity <severity>] [-logging ( ENABLED | DISABLED )]

例:

set snmp alarm URL-FIL-DB-UPDATE-STATUS –state ENABLED set snmp alarm URL-FIL-INIT-SDK –state ENABLED

GUI を使用した SNMP アラームの設定

[システム] > [SNMP] > [アラーム] に移動し、アラーム を選択してアラームパラメータを設定します。

SNMP トラップの詳細については、SNMP トピック」