リモートコンテンツ検査用のICAP
Citrix ADC アプライアンスのICAP
ICAPリクエストの変更(REQMOD)の仕組み
-
変更されたバージョンの要求を返送し、アプライアンスは変更された要求をバックエンドのオリジンサーバーに送信するか、変更された要求を別のICAP サーバーにパイプライン処理します。
-
適応が必要ないことを示すメッセージで応答します。
-
エラーを返し、アプライアンスはエラーメッセージをユーザーに送信します。
ICAPレスポンス修正(RESPMOD)の仕組み
-
応答の変更バージョンを送信し、アプライアンスは応答をユーザーに送信するか、応答を別のICAPサーバーにパイプラインします。
-
適応が必要ないことを示すメッセージで応答します。
-
エラーを返し、アプライアンスは次にエラーメッセージをユーザーに送信します。
ICAP ライセンス
コンテンツ変換サービス用の ICAP の構成
コンテンツ検査を有効にするには
enable ns feature contentInspection LoadBalancing
ICAP プロファイルの追加
ICAP.RES がコンテンツインスペクションコールアウト戻り式で使用されます。この式はHTTP_CALLOUTのHTTP.RES式と同様ICAP応答を評価します。
add ns icapProfile <name> [-preview ( ENABLED | DISABLED )][-previewLength <positive_integer>] -uri <string> [-hostHeader <string>] [-userAgent <string>] -Mode ( REQMOD | RESPMOD )[-queryParams <string>] [-connectionKeepAlive ( ENABLED | DISABLED )][-allow204 ( ENABLED | DISABLED )] [-insertICAPHeaders <string>][-insertHTTPRequest <string>] [-reqTimeout <positive_integer>][-reqTimeoutAction <reqTimeoutAction>] [-logAction <string>]
add icapprofile reqmod-profile -mode RESPMOD -uri “/req_scan” -hostHeader “Webroot.reqsca” -useragent “NS_SWG-Proxy”
add ns icapProfile icap_prof1 -uri "/example" -Mode REQMOD -reqtimeout 4 -reqtimeoutaction BYPASS
> add icapProfile reqmode-profile -uri '/example' -mode REQMOD -insertHTTPRequest q{HTTP.REQ.METHOD + " " + HTTP.REQ.URL + " HTTP/1.1\r\n" + "Host: " + HTTP.REQ.HOSTNAME + "\r\n\r\n"}
ICAP コンテンツ検査アクションの記録
add audit messageaction icap_log_expr INFORMATIONAL icap.res.full_header
set icapProfile reqmode-profile -logAction messageaction
ICAP サービスを TCP サービスまたは SSL_TCP サービスとして追加する
add service <name> <IP> <serviceType> <port>
add service icapsv1 10.10.10.10 SSL_TCP 1345
add service icapsv2 10.10.10.11 SSL_TCP 1345
TCPまたはSSL_TCPベースの負荷分散仮想サーバーの追加
add lb vserver <name> <serviceType> <port>
add lb vserver vicap TCP 0.0.0.0.0 –persistenceType NONE -cltTimeout 9000
add lb vserver vicap SSL_TCP 0.0.0.0 0 –persistenceType NONE -cltTimeout 9000
負荷分散仮想サーバーにICAPサービスをバインドする
bind lb vserver <name> <serviceName>
bind lb vserver vicap icapsv1
コンテンツ検査アクションの追加
ifserverdown パラメーターを構成して、次のいずれかのアクションを実行できます。
add contentInspection action <name> -type ICAP -serverName <string> -icapProfileName <string>
add ContentInspection action <name> -type ICAP -serverip <ip> - serverport <port> -icapProfileName <string>
\<-serverip> オプションでサービス名を指定できます。コンテンツ検査アクションを追加すると、TCP サービスはポート 1344 の指定された IP アドレスに対して自動的に作成され、ICAP 通信に使用されます。
add ContentInspection action ci_act_lb -type ICAP -serverName vicap -icapProfileName icap_reqmod
add ContentInspection action ci_act_svc -type ICAP -serverName icapsv1 -icapProfileName icap_reqmod
add ContentInspection action ci_act_svc -type ICAP -serverip 1.1.1.1 - serverport 1344 -icapProfileName icap_reqmod
コンテンツ検査ポリシーの追加
add contentInspection policy <name> -rule <expression> -action <string>
add ContentInspection policy ci_pol_basic –rule true –action ci_act_svc
add ContentInspection policy ci_pol_HTTP –rule HTTP.REQ.URL.CONTAINS(“html”) –action ci_act_svc
コンテンツ検査ポリシーをコンテンツスイッチングまたは負荷分散仮想サーバーにバインドする
セキュリティで保護された ICAP サービスの構成
-
SSL ベースの TCP サービスを追加します。
-
SSL ベースの TCP サービスを、TCP または SSL_TCP タイプの仮想サーバの負荷分散にバインドします。
-
SSL ベースの TCP サービスまたは負荷分散仮想サーバーをコンテンツ検査アクションにバインドします。
SSLベースのTCPサービスを仮想サーバーの負荷分散に追加する
-
SSL ベースの TCP サービスを追加します。
-
SSL ベースの TCP サービスを、TCP または SSL_TCP タイプの仮想サーバの負荷分散にバインドします。
SSLベースのTCPサービスを仮想サーバーの負荷分散に追加する
add service <name> <IP> <serviceType> <port>
add service icapsv2 10.102.29.200 SSL_TCP 1344 –gslb NONE –maxclient 0 –maxReq 0 –cip DISABLED –usip NO –useproxport YES –sp ON –cltTimeout 9000 –svrTimeout 9000 –CKA NO –TCPB NO –CMP NO
SSL_TCPまたはTCP負荷分散仮想サーバーにSSL_TCPベースのTCPサービスをバインドします
bind lb vserver <name> <serviceName>
bind lb vserver vicap icapsv2
SSL ベースの TCP サービスまたは負荷分散仮想サーバーをコンテンツ検査アクションにバインドする
add contentInspection action <name> -type ICAP -serverName <string> -icapProfileName <string>
add ContentInspection action ci_act_svc -type ICAP -serverName icapsv2 -icapProfileName icap_reqmod
add ContentInspection action ci_act_svc -type ICAP -serverName vicap -icapProfileName icap_reqmod
GUI を使用して ICAP プロトコルを構成する
-
\[負荷分散\] > \[サービス\] に移動し、\[追加\] をクリックします。
-
\[サービス\] ページで、サービスの詳細を入力します。
-
\[負荷分散\] > \[仮想サーバー\] に移動します。HTTP/SSL タイプの負荷分散仮想サーバーを追加します。または、仮想サーバーを選択して \[編集\] をクリックすることもできます。
-
サーバーの基本情報を入力したら、\[Continue\] をクリックします。
-
\[詳細設定\] セクションで、\[ポリシー\] をクリックします。
-
\[ ポリシー \]セクションに移動し、 鉛筆 アイコンをクリックして、コンテンツ検査ポリシーを構成します。
-
\[ポリシーの選択\] ページで、\[ コンテンツ検査\] を選択します。[続行] をクリックします。
-
\[ポリシーのバインド\] セクションで、\[+\] をクリックしてコンテンツ検査ポリシーを追加します。
-
ICAP ポリシーの作成 ページで、ポリシーの名前を入力します。
-
\[アクション\] フィールドで、\[+\] 記号をクリックして ICAP アクションを追加します。
-
「 ICAP アクションの作成 」ページで、アクションの名前を入力します。
-
アクションの名前を入力します。
-
\[Server Name\] フィールドに、すでに作成されている TCP サービスの名前を入力します。
-
「 ICAPプロファイル 」フィールドで、「+」記号をクリックしてICAPプロファイルを追加します。
-
「 ICAPプロファイルの作成 」ページで、プロファイル名、URI、およびモードを入力します。
-
[作成] をクリックします。
-
「 ICAPアクションの作成 」ページで、「 作成 」をクリックします。
-
ICAP ポリシーの作成 ページで、 式エディター に「true」と入力し、「 作成 」をクリックします。
-
[バインド] をクリックします。
-
コンテンツ検査機能を有効にするかどうかを確認するメッセージが表示されたら、\[はい\] をクリックします。
-
[完了] をクリックします。
GUI を使用してセキュリティで保護された ICAP プロトコルを構成する
-
\[負荷分散\] > \[サービス\] に移動し、\[追加\] をクリックします。
-
\[サービス\] ページで、サービスの詳細を入力します。
-
\[負荷分散\] > \[仮想サーバー\] に移動します。HTTP/SSL タイプの仮想サーバーを追加します。または、仮想サーバーを選択して \[編集\] をクリックすることもできます。
-
サーバーの基本情報を入力したら、\[Continue\] をクリックします。
-
\[詳細設定\] セクションで、\[ポリシー\] をクリックします。
-
\[ ポリシー \]セクションに移動し、 鉛筆 アイコンをクリックして、コンテンツ検査ポリシーを構成します。
-
\[ポリシーの選択\] ページで、\[ コンテンツ検査\] を選択します。[続行] をクリックします。
-
\[ポリシーのバインド\] セクションで、\[+\] をクリックしてコンテンツ検査ポリシーを追加します。
-
ICAP ポリシーの作成 ページで、ポリシーの名前を入力します。
-
\[アクション\] フィールドで、\[+\] 記号をクリックして ICAP アクションを追加します。
-
「 ICAP アクションの作成 」ページで、アクションの名前を入力します。
-
アクションの名前を入力します。
-
「 サーバー名」 フィールドに、すでに作成されているTCP_SSLサービスの名前を入力します。
-
「 ICAPプロファイル 」フィールドで、「+」記号をクリックしてICAPプロファイルを追加します。
-
「 ICAPプロファイルの作成 」ページで、プロファイル名、URI、およびモードを入力します。
-
[作成] をクリックします。
-
「 ICAPアクションの作成 」ページで、「 作成 」をクリックします。
-
ICAP ポリシーの作成 ページで、 式エディター に「true」と入力し、「 作成 」をクリックします。
-
[バインド] をクリックします。
-
コンテンツ検査機能を有効にするかどうかを確認するメッセージが表示されたら、\[はい\] をクリックします。
-
[完了] をクリックします。
リモートコンテンツ検査の監査ログサポート
<Source IP> <Destination IP> <Domain> <ICAP server IP><ICAP Mode> <Service URI> <ICAP response> <Policy action>
Apr 18 14:45:41 <local0.info> 10.106.97.104 04/18/2018:14:45:41 GMT 0-PPE-0 : default CI ICAP_LOG 788 0 : Source 10.102.1.98:39048 - Destination 10.106.97.89:8011 - Domain 10.106.97.89 - Content-Type application/x-www-form-urlencoded - ICAP Server 10.106.97.99:1344 - Mode REQMOD - Service /example - Response 204 - Action FORWARD
Apr 18 12:34:08 <local0.info> 10.106.97.104 04/18/2018:12:34:08 GMT 0-PPE-0 : default CI ICAP_LOG 71 0 : Source 10.106.97.105:18552 - Destination 10.106.97.99:80 - Domain NA - Content-Type NA - ICAP Server 10.106.97.99:1344 - Mode RESPMOD - Service /example - Response 400 - Action Internal Error