ADC

URLの分類

注:

URL フィルタリング機能の URL 分類は、このリリースでは廃止されました。

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

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

NetScalerは、事前構成された NetSTAR デバイス nsv10.netstar-inc.com および incompasshybridpc.netstar-inc.com からデータをアップロードまたはダウンロードし、クラウド分類要求のデフォルトでクラウドホストとして使用されます。URL フィルタリングが正しく機能するには、これらの URL にファイアウォールを介してアクセス可能である必要があります。アプライアンスは、NSIP アドレスを送信元 IP アドレスとして使用し、443 を通信の宛先ポートとして使用します。

URL 分類の仕組み

次の図は、NetScaler URL分類サービスが商用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フォワードプロキシの脅威インテリジェンスを備えたオプションのサブスクリプションサービスがある場合にのみ、NetScalerプラットフォームで機能します。サブスクリプションにより、顧客は Web サイトの最新の脅威分類をダウンロードし、そのカテゴリを SSL フォワードプロキシに適用できます。この機能を有効にして設定する前に、次のライセンスをインストールする必要があります。

  • 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. Adult カテゴリグループに含まれる 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 分類の構成

NetScalerアプライアンスで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 トラフィック用のプロキシサーバーを構成する

NetScalerアプライアンスは、透過的で明示的なプロキシ仮想サーバーをサポートします。明示モードで 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. NetScalerアプライアンスにログオンし、[ セキュリティ ] > [ SSLフォワードプロキシ ] ページに移動します。
  2. 詳細ウィンドウで、次のいずれかの操作を行います:
    1. [ SSL フォワードプロキシウィザード ] をクリックして、新しい構成を作成します。
    2. 既存の設定を選択し、[ Edit] をクリックします。
  3. [ URL フィルタ ] セクションで、[ 編集] をクリックします。
  4. この機能を有効にするには、[ URL 分類 ] チェックボックスをオンにします。
  5. URL 分類ポリシーを選択し 、[ バインド] をクリックします。
  6. [続行] をクリックし、[完了] をクリックします。

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

ステップ 7: SSLフォワードプロキシウィザードを使用したURL分類パラメータの設定

  1. NetScalerアプライアンスにログオンし 、[ セキュリティ] > [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
<!--NeedCopy-->

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

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

コマンドプロンプトで入力します:

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

NetScalerアプライアンスと NetSTAR の間の通信には、ドメインネームサーバーが必要な場合があります。アプライアンスからの単純なコンソール接続または Telnet 接続を使用してテストできます。

例:

root@ns# telnet nsv10.netstar-inc.com 443
Trying 1.1.1.1...
Connected to nsv10.netstar-inc.com.
Escape character is '^]'.

root@ns# telnet incompasshybridpc.netstar-inc.com 443
Trying 10.10.10.10...
Connected to incompasshybridpc.netstar-inc.com.
Escape character is '^]'.
<!--NeedCopy-->

監査ログメッセージを設定する

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

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

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

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

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

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

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

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

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

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

詳細については、「 監査ログ 」トピックを参照してください。

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

URL フィルタリングプロセスのどの段階でも、システムレベルの障害が発生した場合、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).

NetScalerアプライアンスは、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 アラームを有効にする

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

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

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

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

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

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

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

CLI を使用して 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 のトピックを参照してください。