SSLインターセプト
-
SSL プロファイル
-
SSL ポリシー
-
CA 証明書ストア
-
SSL エラーの自動学習とキャッシュ
SSL インターセプト証明書ストア
CLI を使用して CA 証明書バンドルをアプライアンスにインポートして適用します
import ssl certBundle <name> <src>
apply ssl certBundle <name>show ssl certBundle
http://www.example.com/cert_bundle_file。
import ssl certbundle swg-certbundle http://www.example.com/cert_bundle
apply ssl certBundle swg-certbundleshow ssl certbundle
Name : swg-certbundle(Inuse)
URL : http://www.example.com/cert_bundle
Done
GUI を使用して CA 証明書バンドルをアプライアンスにインポートして適用する
-
セキュリティ > SSL 転送プロキシ > はじめに > 証明書バンドルに移動します。
-
次のいずれかを行います:
-
リストから証明書バンドルを選択します。
-
証明書バンドルを追加するには、「+」をクリックし、名前とソース URL を指定します。[OK] をクリックします。
-
-
[OK] をクリックします。
CLI を使用して CA 証明書バンドルをアプライアンスから削除する
remove certBundle <cert bundle name>
remove certBundle mytest-cacert
CLI を使用して CA 証明書バンドルをアプライアンスからエクスポートする
export certBundle <cert bundle name> <Path to export>
http://www.example.com/cert_bundle_file。
export certBundle mytest-cacert http://192.0.2.20/
Mozilla CA 証明書ストアから CA 証明書バンドルをインポート、適用、検証する
> import certbundle mozilla_public_ca https://curl.haxx.se/ca/cacert.pem
Done
> apply certbundle mozilla_public_ca
Done
> sh certbundle | grep mozilla
Name : mozilla_public_ca (Inuse)
制限事項
-
証明書バンドルは、クラスタ設定またはパーティション化されたアプライアンスではサポートされません。
-
TLSv1.3 プロトコルは SSL 転送プロキシではサポートされていません。
SSL インターセプト用の SSL ポリシーインフラストラクチャ
patset)、またはドメインから派生した URL カテゴリと照合できます。
CLIを使用してSSLポリシーを作成します
add ssl policy <name> -rule <expression> -action <string>
detected_domain 属性を使用してドメイン名を確認する式を含むポリシーのものです。
add ssl policy pol1 -rule client.ssl.detected_domain.contains("XYZBANK") -action BYPASS
add ssl policy pol2 -rule client.ssl.client.ssl.detected_domain.url_categorize(0,0).category.eq ("YouTube") -action RESET
add ssl policy pol3 –rule true –action INTERCEPT
add ssl policy pol4 -rule client.ssl.origin_server_cert.subject.contains("yahoo") –action INTERCEPT
add ssl policy pol_url_category -rule client.ssl.origin_server_cert.subject.URL_CATEGORIZE(0,0).CATEGORY.eq("Shopping/Retail") -action INTERCEPT
add ssl policy pol_url_category -rule client.ssl.origin_server_cert.subject.url_categorize(0,0).category.eq("Uncategorized") -action INTERCEPT
add ssl policy pol_url_set -rule client.ssl.client_hello.SNI.URLSET_MATCHES_ANY("top100") -action INTERCEPT
add ssl policy pol_url_set -rule client.ssl.origin_server_cert.subject.URLSET_MATCHES_ANY("top100") -action INTERCEPT
GUI を使用したプロキシサーバーへの SSL ポリシーの作成
-
[Traffic Management]>[SSL]>[Policies] に移動します。
-
「 SSL ポリシー 」タブで、「 追加 」をクリックし、次のパラメータを指定します。
-
ポリシー名
-
ポリシーアクション — インターセプト、バイパス、またはリセットから選択します。
-
式
-
-
[作成] をクリックします。
CLI を使用して SSL ポリシーをプロキシサーバーにバインドする
bind ssl vserver <vServerName> -policyName <string> -priority <positive_integer> -type INTERCEPT_REQ
bind ssl vserver <name> -policyName pol1 -priority 10 -type INTERCEPT_REQ
GUI を使用して SSL ポリシーをプロキシサーバにバインドする
CLI を使用して SSL ポリシーをプロキシサーバーにバインド解除します
unbind ssl vserver <vServerName> -policyName <string> -type INTERCEPT_REQ
SSL ポリシーで使用される SSL 表現
| 式 | 説明 |
|---|---|
CLIENT.SSL.CLIENT_HELLO.SNI.* |
SNI 拡張子を文字列形式で返します。文字列を評価して、指定されたテキストが含まれているかどうかを確認します。例:client.ssl.client_hello.sni.contains ()“xyz.com” |
CLIENT.SSL.ORIGIN_SERVER_CERT.* |
バックエンドサーバーから受け取った証明書を文字列形式で返します。文字列を評価して、指定されたテキストが含まれているかどうかを確認します。例:client.ssl.origin_server_cert.subject.contains ()“xyz.com” |
CLIENT.SSL.DETECTED_DOMAIN.* |
SNI 拡張またはオリジンサーバー証明書のドメインを文字列形式で返します。文字列を評価して、指定されたテキストが含まれているかどうかを確認します。例:クライアント.ssl.detected_domain.contains ()“xyz.com” |
SSL エラーの自動学習中
-
クライアント証明書の要求がサーバーから受信されます。
-
ハンドシェイクの一部として、次のアラートのいずれかが受信されます。
-
BAD_CERTIFICATE
-
UNSUPPORTED_CERTIFICATE
-
CERTIFICATE_REVOKED
-
CERTIFICATE_EXPIRED
-
CERTIFICATE_UNKNOWN
-
UNKNOWN_CA (クライアントがピニングを使用している場合、サーバー証明書を受け取ると、このアラートメッセージが送信されます。)
-
HANDSHAKE_FAILURE
-
GUI を使用して学習を有効にする
CLI を使用して学習を有効にする
set ssl parameter -ssliErrorCache ( ENABLED | DISABLED ) -ssliMaxErrorCacheMem <positive_integer>
SSL プロファイル
-
オリジンサーバー証明書の OCSP ステータスを確認します。
-
オリジンサーバーが再ネゴシエーションを要求した場合、クライアントの再ネゴシエーションをトリガーします。
-
フロントエンド SSL セッションを再利用する前に、オリジンサーバーの証明書を確認してください。
CLI を使用して SSL プロファイルを追加し、SSLインターセプションを有効にする
add ssl profile <name> -sslinterception ENABLED -ssliReneg ( ENABLED | DISABLED ) -ssliOCSPCheck ( ENABLED | DISABLED ) -ssliMaxSessPerServer <positive_integer>
add ssl profile swg_ssl_profile -sslinterception ENABLED
Done
sh ssl profile swg_ssl_profile
1) Name: swg_ssl_profile (Front-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Client Auth: DISABLED
Use only bound CA certificates: DISABLED
Strict CA checks: NO
Session Reuse: ENABLED Timeout: 120 seconds
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Deny SSL Renegotiation ALL
Non FIPS Ciphers: DISABLED
Cipher Redirect: DISABLED
SSL Redirect: DISABLED
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Push Encryption Trigger: Always
PUSH encryption trigger timeout: 1 ms
SNI: DISABLED
OCSP Stapling: DISABLED
Strict Host Header check for SNI enabled SSL sessions: NO
Push flag: 0x0 (Auto)
SSL quantum size: 8 kB
Encryption trigger timeout 100 mS
Encryption trigger packet count: 45
Subject/Issuer Name Insertion Format: Unicode
SSL Interception: ENABLED
SSL Interception OCSP Check: ENABLED
SSL Interception End to End Renegotiation: ENABLED
SSL Interception Server Cert Verification for Client Reuse: ENABLED
SSL Interception Maximum Reuse Sessions per Server: 10
Session Ticket: DISABLED Session Ticket Lifetime: 300 (secs)
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT Priority :1
Description: Predefined Cipher Alias
Done
CLI を使用して SSL インターセプション CA 証明書を SSL プロファイルにバインドする
bind ssl profile <name> -ssliCACertkey <ssli-ca-cert>
bind ssl profile swg_ssl_profile -ssliCACertkey swg_ca_cert
Done
sh ssl profile swg_ssl_profile
1) Name: swg_ssl_profile (Front-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Client Auth: DISABLED
Use only bound CA certificates: DISABLED
Strict CA checks: NO
Session Reuse: ENABLED Timeout: 120 seconds
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Deny SSL Renegotiation ALL
Non FIPS Ciphers: DISABLED
Cipher Redirect: DISABLED
SSL Redirect: DISABLED
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Push Encryption Trigger: Always
PUSH encryption trigger timeout: 1 ms
SNI: DISABLED
OCSP Stapling: DISABLED
Strict Host Header check for SNI enabled SSL sessions: NO
Push flag: 0x0 (Auto)
SSL quantum size: 8 kB
Encryption trigger timeout 100 mS
Encryption trigger packet count: 45
Subject/Issuer Name Insertion Format: Unicode
SSL Interception: ENABLED
SSL Interception OCSP Check: ENABLED
SSL Interception End to End Renegotiation: ENABLED
SSL Interception Server Cert Verification for Client Reuse: ENABLED
SSL Interception Maximum Reuse Sessions per Server: 10
Session Ticket: DISABLED Session Ticket Lifetime: 300 (secs)
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT Priority :1
Description: Predefined Cipher Alias
1) SSL Interception CA CertKey Name: swg_ca_cert
Done
GUI を使用して SSL インターセプション CA 証明書を SSL プロファイルにバインドする
GUI を使用して SSL プロファイルをプロキシサーバーにバインドする
-
SSL プロファイルで、編集アイコンをクリックします。
-
SSL プロファイルリストで 、以前に作成した SSL プロファイルを選択します。
-
[OK] をクリックします。
-
[完了] をクリックします。
Name: swg_ssl_profile (Front-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Client Auth: DISABLED
Use only bound CA certificates: DISABLED
Strict CA checks: NO
Session Reuse: ENABLED Timeout: 120 seconds
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Deny SSL Renegotiation ALL
Non FIPS Ciphers: DISABLED
Cipher Redirect: DISABLED
SSL Redirect: DISABLED
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Push Encryption Trigger: Always
PUSH encryption trigger timeout: 1 ms
SNI: DISABLED
OCSP Stapling: DISABLED
Strict Host Header check for SNI enabled SSL sessions: NO
Push flag: 0x0 (Auto)
SSL quantum size: 8 kB
Encryption trigger timeout 100 mS
Encryption trigger packet count: 45
Subject/Issuer Name Insertion Format: Unicode
SSL Interception: ENABLED
SSL Interception OCSP Check: ENABLED
SSL Interception End to End Renegotiation: ENABLED
SSL Interception Maximum Reuse Sessions per Server: 10
Session Ticket: DISABLED Session Ticket Lifetime: 300 (secs)
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT Priority :1
Description: Predefined Cipher Alias
1) SSL Interception CA CertKey Name: swg_ca_cert
