ユースケース:リモートマルウェア検査にICAPを使用してエンタープライズネットワークを安全にする
一般的な構成
-
NSIPアドレス
-
サブネットIP(SNIP)アドレス
-
DNS ネームサーバー
-
SSLインターセプションのためにサーバ証明書に署名するための CA 証明書とキーのペア
プロキシサーバと SSL インターセプションの設定
-
エクスプリシットモードのプロキシサーバで、すべてのアウトバウンド HTTP および HTTPS トラフィックを代行受信します。
-
SSL プロファイルを使用して、接続の SSL 設定(暗号やパラメータなど)を定義します。
-
SSL ポリシーを使用して、トラフィックを代行受信するためのルールを定義します。すべてのクライアント要求をインターセプトするには、true に設定します。
www.example.comにあります。
add dns nameServer 203.0.113.2
add ssl certKey ns-swg-ca-certkey -cert ns_swg_ca.crt -key ns_swg_ca.key
add cs vserver explicitswg PROXY 192.0.2.100 80 –Authn401 ENABLED –authnVsName explicit-auth-vs
set ssl parameter -defaultProfile ENABLED
add ssl profile swg_profile -sslInterception ENABLED
bind ssl profile swg_profile -ssliCACertkey ns-swg-ca-certkey
set ssl vserver explicitswg -sslProfile swg_profile
add ssl policy ssli-pol_ssli -rule true -action INTERCEPT
bind ssl vserver explicitswg -policyName ssli-pol_ssli -priority 100 -type INTERCEPT_REQ
add service icap_svc 203.0.113.225 TCP 1344
enable ns feature contentinspection
add icapprofile icapprofile1 -uri /example.com -Mode RESMOD
add contentInspection action CiRemoteAction -type ICAP -serverName icap_svc -icapProfileName icapprofile1
add contentInspection policy CiPolicy -rule "HTTP.REQ.METHOD.NE("CONNECT")" -action CiRemoteAction
bind cs vserver explicitswg -policyName CiPolicy -priority 200 -type response
プロキシ設定を構成する
-
\[セキュリティ\] > \[SSL 転送プロキシ\] > \[SSL 転送プロキシウィザード\] に移動します。
-
\[は じめに\] をクリックし、\[続行\] をクリックします。
-
\[プロキシ設定\] ダイアログボックスで、明示的なプロキシサーバーの名前を入力します。
-
\[ キャプチャモード\]で、\[ 明示的\]を選択します。
-
IP アドレスとポート番号を入力します。

-
[続行] をクリックします。
SSLインターセプション設定の構成
-
「 SSLインターセプションを有効にする」を選択します。

-
\[SSL プロファイル\] で、既存のプロファイルを選択するか、\[+\] をクリックして新しいフロントエンド SSL プロファイルを追加します。このプロファイルで SSLセッションインターセプト を有効にします。既存のプロファイルを選択する場合は、次の手順をスキップします。

-
\[OK\] をクリックし、\[完了\] をクリックします。
-
「 SSLインターセプションCA 証明書とキーペアの選択」で、既存の証明書を選択するか、「+」をクリックして SSLインターセプション用の CA 証明書とキーペアをインストールします。既存の証明書を選択した場合は、次の手順をスキップします。

-
\[インストール\] をクリックし、\[閉じる\] をクリックします。
-
すべてのトラフィックを代行受信するポリシーを追加します。[バインド] をクリックします。\[Add\] をクリックして新しいポリシーを追加するか、既存のポリシーを選択します。既存のポリシーを選択した場合は、\[Insert\] をクリックし、次の 3 つの手順をスキップします。

-
ポリシーの名前を入力し、\[詳細設定\] を選択します。式エディタで true と入力します。
-
\[アクション\] で、\[インターセプト\] を選択します。

-
[作成] をクリックします。
-
\[続行\] を 4 回クリックし、\[完了\] をクリックします。
ICAPの設定を構成する
-
\[負荷分散\] > \[サービス\] に移動し、\[追加\] をクリックします。

-
名前と IP アドレスを入力します。「 プロトコル」で、「 TCP」を選択します。\[ポート\] に 1344と入力します。[OK] をクリックします。

-
\[SSL フォワードプロキシ\] > \[プロキシ仮想サーバー\] に移動します。プロキシ仮想サーバーを追加するか、仮想サーバーを選択して「 編集」をクリックします。詳細を入力したら、\[OK\] をクリックします。
もう一度 \[OK\] をクリックします 。
-
\[**詳細設定\]**で、\[ポリシー\] をクリックします。

-
**「ポリシーの選択」**で、「 コンテンツ検査」を選択します。[続行] をクリックします。

-
\[ポリシーの選択\] で、\[+\] 記号をクリックしてポリシーを追加します。

-
ポリシーの名前を入力します。\[アクション\] で、\[+\] 記号をクリックしてアクションを追加します。

-
アクションの名前を入力します。\[**サーバー名\]**に、以前に作成した TCP サービスの名前を入力します。ICAPプロファイルで、「+」記号をクリックしてICAPプロファイルを追加します。

-
プロファイル名「URI」を入力します。「 モード」で「 REQMOD」を選択します。

-
[作成] をクリックします。

-
「 ICAPアクションの作成 」ページで、「 作成 」をクリックします。

-
ICAP ポリシーの作成 ページで、 式エディター に true と入力します。次に、\[作成\] をクリックします。

-
[バインド] をクリックします。

-
コンテンツ検査機能を有効にするように求められたら、\[ はい\]を選択します。

-
[完了] をクリックします。

Citrix ADCアプライアンスとRESPMODのICAPサーバーとの間のサンプルICAPトランザクション
RESPMOD icap://10.106.137.15:1344/resp ICAP/1.0
Host: 10.106.137.15
Connection: Keep-Alive
Encapsulated: res-hdr=0, res-body=282
HTTP/1.1 200 OK
Date: Fri, 01 Dec 2017 11:55:18 GMT
Server: Apache/2.2.21 (Fedora)
Last-Modified: Fri, 01 Dec 2017 11:16:16 GMT
ETag: "20169-45-55f457f42aee4"
Accept-Ranges: bytes
Content-Length: 69
Keep-Alive: timeout=15, max=100
Content-Type: text/plain; charset=UTF-8
X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
ICAP/1.0 200 OK
Connection: keep-alive
Date: Fri, 01 Dec, 2017 11:40:42 GMT
Encapsulated: res-hdr=0, res-body=224
Server: IWSVA 6.5-SP1_Build_Linux_1080 $Date: 04/09/2015 01:19:26 AM$
ISTag: "9.8-13.815.00-3.100.1027-1.0"
X-Virus-ID: Eicar_test_file
X-Infection-Found: Type=0; Resolution=2; Threat=Eicar_test_file;
HTTP/1.1 403 Forbidden
Date: Fri, 01 Dec, 2017 11:40:42 GMT
Cache-Control: no-cache
Content-Type: text/html; charset=UTF-8
Server: IWSVA 6.5-SP1_Build_Linux_1080 $Date: 04/09/2015 01:19:26 AM$
Content-Length: 5688
<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
…
…
</body></html>