SSLプロファイルインフラストラクチャ
ERROR: Specified parameters are not applicable for this type of SSL profile が表示されます。
-
SSLプロファイルはSSLパラメーターよりも優先されます。つまり、
set ssl parameterコマンドを使用してSSLパラメータを設定し、後でプロファイルをSSLエンティティにバインドすると、プロファイルの設定が優先されます。 -
アップグレード後、デフォルトプロファイルを有効にすると、変更を元に戻すことはできません。つまり、プロファイルを無効にすることはできません。プロファイルを有効にする前に、構成を保存し、構成ファイル(ns.conf)のコピーを作成します。ただし、デフォルトプロファイルの機能を使用しない場合は、引き続き古い SSL プロファイルを使用できます。これらのプロファイルの詳細については、 レガシー SSL プロファイルを参照してください。
-
リリース 11.1 51.x 以降、GUI および CLI で、デフォルトプロファイルを有効にすると、誤って有効にならないように確認プロンプトが追加されます。
set ssl parameter -defaultProfile ENABLED
Save your configuration before enabling the Default profile. You cannot undo the changes. Are you sure you want to enable the Default profile? [Y/N]Y
Done
注意事項
-
1 つのプロファイルを複数の仮想サーバにバインドできますが、1 つの仮想サーバにバインドできるプロファイルは 1 つだけです。
-
仮想サーバーにバインドされているプロファイルを削除するには、まずプロファイルのバインドを解除します。
-
暗号グループまたは暗号グループは、異なる優先順位で複数のプロファイルにバインドできます。
-
プロファイルは、異なる優先順位でバインドされた複数の暗号および暗号グループを持つことができます。
-
暗号グループへの変更は、すべてのプロファイルとプロファイルのいずれかがバインドされているすべての仮想サーバーに即座に反映されます。
-
暗号スイートが暗号グループの一部である場合、プロファイルから暗号スイートを削除する前に、暗号グループを編集してその暗号スイートを削除します。
-
プロファイルにアタッチされている暗号スイートまたは暗号グループにプライオリティを割り当てない場合は、プロファイル内で最も低いプライオリティが割り当てられます。
-
既存の暗号グループおよび暗号スイートからカスタム暗号グループ(ユーザ定義暗号グループとも呼ばれる)を作成できます。暗号グループ A を作成し、既存の暗号グループ X と Y をこの順序で追加すると、Y は X よりも低い優先順位で割り当てられます。つまり、最初に追加されるグループの優先順位が高くなります。
-
暗号スイートが同じプロファイルに接続された2つの暗号グループの一部である場合、暗号スイートは2番目の暗号グループの一部として追加されません。トラフィックが処理されると、プライオリティの高い暗号スイートが有効になります。
-
暗号グループは、プロファイル内で展開されません。その結果、構成ファイル (ns.conf) の行数が大幅に削減されます。たとえば、それぞれ 15 個の暗号を含む 2 つの暗号グループが 1000 個の SSL 仮想サーバにバインドされている場合、拡張は設定ファイルに 30*1000 個の暗号関連のエントリを追加します。新しいプロファイルでは、プロファイルにバインドされた暗号グループごとに 1 つずつ、2 つのエントリしかありません。
-
既存の暗号および暗号グループからユーザー定義暗号グループを作成することは、コピー&ペースト操作です。元のグループの変更は、新しいグループに反映されません。
-
ユーザ定義の暗号グループには、それが属するすべてのプロファイルがリストされます。
-
プロファイルには、バインドされているすべての SSL 仮想サーバ、サービス、およびサービスグループが一覧表示されます。
-
デフォルトのSSLプロファイル機能が有効になっている場合は、プロファイルを使用してSSLエンティティの属性を設定または変更します。たとえば、仮想サーバー、サービス、サービスグループ、または内部サービスです。
CLI を使用して設定を保存する
save config
shell
root@ns# cd /nsconfig
root@ns# cp ns.conf ns.conf.NS<currentreleasenumber><currentbuildnumber>
save config
shell
root@ns# cd /nsconfig
root@ns# cp ns.conf ns.conf.NS.11.0.jun.16
既定のプロファイルを有効にする
set ssl parameter -defaultProfile ENABLED
Save your configuration before enabling the Default profile. You cannot undo the changes. Are you sure you want to enable the Default profile? [Y/N]Y
Done
-
レガシープロファイル(P1)がすでに SSL エンティティにバインドされていて、デフォルトプロファイルを有効にすると、デフォルトプロファイルによって以前のバインディングが上書きされます。つまり、デフォルトのプロファイルは SSL エンティティにバインドされます。デフォルトプロファイルをバインドしない場合は、P1 を SSL エンティティに再度バインドする必要があります。
-
1 回の操作 (\[Enable Default Profile\] または
set ssl parameter -defaultProfile ENABLED) で、既定のフロントエンドプロファイルと既定のバックエンドプロファイルの両方が有効になります (バインド)。
使用例
-
ソフトウェアのアップグレードの詳細については、 システムソフトウェアのアップグレードを参照してください。
-
CLI または GUI を使用して、デフォルトプロファイルを有効にします。
-
コマンドラインで、次を入力します:
set ssl parameter -defaultProfile ENABLED。 -
GUI を使用する場合は、\[トラフィック管理\] > \[SSL\] > \[高度な SSL****設定の変更\] に移動し、下にスクロールして \[デフォルトプロファイルの有効化\] を選択します。
-
(オプション)デフォルトプロファイルの設定を手動で変更します。
-
コマンドラインで、変更するパラメータに続けて
set ssl profile <name>を入力します。 -
GUI を使用する場合は、\[システム\] > \[プロファイル\] に移動します。「 SSLプロファイル」でプロファイルを選択し、「 編集」をクリックします。
SSL プロファイルパラメータ
Citrix ADCアプライアンスのバックエンドでの安全な再ネゴシエーションのサポート
-
VPX
-
N2またはN3チップを含むMPXプラットフォーム
-
インテル Coleto SSL チップ・ベースのプラットフォーム
denySSLReneg パラメーターはALL(デフォルト)に設定されます。
denySSLReneg パラメータの次の設定のいずれかを選択します。
-
いいえ
-
FRONTEND_CLIENT
-
FRONTEND_CLIENTSERVER
-
NONSECURE
CLIを使用して安全な再ネゴシエーションを有効にする
set ssl profile <name> -denySSLReneg <denySSLReneg>
set ssl profile ns_default_ssl_profile_backend -denySSLReneg NONSECURE
Done
sh ssl profile ns_default_ssl_profile_backend
1) Name: ns_default_ssl_profile_backend (Back-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Server Auth: DISABLED
Use only bound CA certificates: DISABLED
Strict CA checks: NO
Session Reuse: ENABLED Timeout: 300 seconds
DH: DISABLED
Ephemeral RSA: DISABLED
Deny SSL Renegotiation NONSECURE
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
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT_BACKEND Priority :2
Description: Predefined Cipher Alias
1) Service Name: s187
Done
GUIを使用して安全な再ネゴシエーションを有効にする
-
\[システム\] > \[プロファイル\] > \[SSL プロファイル\] に移動します。
-
プロファイルを追加または編集します。
-
\[ SSL再ネゴシエーションの拒否\]を ALL以外の任意の値に設定します。

ホストヘッダーの検証
SNIHTTPHostMatch がSSLプロファイルとSSLグローバルパラメータに追加され、この検証をより適切に制御できるようになりました。このパラメーターは3つの値を取ることができます。 CERT、STRICT、およびNONE。これらの値は、SNI対応セッションでのみ次のように機能します。SNIは、SSL仮想サーバーまたは仮想サーバーにバインドされたプロファイルで有効にする必要があり、HTTP要求にはホストヘッダーが含まれている必要があります。
-
CERT- 要求のホストヘッダー値がこのSSLセッションの確立に使用される証明書でカバーされている場合、接続が転送されます。
-
STRICT-接続は、リクエストのホストヘッダー値がSSL接続のClientHelloメッセージで渡されたサーバー名の値と一致する場合にのみ転送されます。
-
NO-ホストヘッダー値は検証されません。
SNIHTTPHostMatchの導入により、dropReqWithNoHostHeader パラメーターの動作が変更されます。dropReqWithNoHostHeaderパラメータの設定は、ホストヘッダーが SNI 証明書に対して検証される方法に影響しなくなりました。
CLI を使用した SSL プロファイルパラメータの設定
set ssl profile <name> [-ssllogProfile <string>] [-dh ( ENABLED | DISABLED ) -dhFile <string>] [-dhCount <positive_integer>][-dhKeyExpSizeLimit ( ENABLED | DISABLED )] [-eRSA ( ENABLED | DISABLED) [-eRSACount <positive_integer>]] [-sessReuse ( ENABLED | DISABLED )
[-sessTimeout <positive_integer>]] [-cipherRedirect ( ENABLED | DISABLED ) [-cipherURL <URL>]] [-clientAuth ( ENABLED | DISABLED )[-clientCert ( Mandatory | Optional )]] [-sslRedirect ( ENABLED |
DISABLED )] [-redirectPortRewrite ( ENABLED | DISABLED )] [-ssl3 (ENABLED | DISABLED )] [-tls1 ( ENABLED | DISABLED )] [-tls11 ( ENABLED| DISABLED )] [-tls12 ( ENABLED | DISABLED )] [-tls13 ( ENABLED |DISABLED )] [-SNIEnable ( ENABLED | DISABLED )] [-ocspStapling (ENABLED | DISABLED )] [-serverAuth ( ENABLED | DISABLED )] [-commonName <string>] [-pushEncTrigger <pushEncTrigger>] [-sendCloseNotify ( YES |
NO )] [-clearTextPort <port|*>] [-insertionEncoding ( Unicode | UTF-8)] [-denySSLReneg <denySSLReneg>] [-quantumSize <quantumSize>]
[-strictCAChecks ( YES | NO )] [-encryptTriggerPktCount <positive_integer>] [-pushFlag <positive_integer>][-dropReqWithNoHostHeader ( YES | NO )] [-SNIHTTPHostMatch <SNIHTTPHostMatch>] [-pushEncTriggerTimeout <positive_integer>]
[-sslTriggerTimeout <positive_integer>] [-clientAuthUseBoundCAChain (ENABLED | DISABLED )] [-sslInterception ( ENABLED | DISABLED )][-ssliReneg ( ENABLED | DISABLED )] [-ssliOCSPCheck ( ENABLED | DISABLED )] [-ssliMaxSessPerServer <positive_integer>] [-HSTS ( ENABLED| DISABLED )] [-maxage <positive_integer>] [-IncludeSubdomains ( YES | NO )] [-preload ( YES | NO )] [-sessionTicket ( ENABLED | DISABLED )][-sessionTicketLifeTime <positive_integer>] [-sessionTicketKeyRefresh (ENABLED | DISABLED )] {-sessionTicketKeyData } [-sessionKeyLifeTime <positive_integer>] [-prevSessionKeyLifeTime <positive_integer>]
[-cipherName <string> -cipherPriority <positive_integer>][-strictSigDigestCheck ( ENABLED | DISABLED )]
[-skipClientCertPolicyCheck ( ENABLED | DISABLED )] [-zeroRttEarlyData ( ENABLED | DISABLED )] [-tls13SessionTicketsPerAuthContext
<positive_integer>] [-dheKeyExchangeWithPsk ( YES | NO )]
GUIを使用してSSLプロファイルパラメータを設定する
-
\[ システム\] > \[プロファイル\] に移動します。
-
\[SSL プロファイル\] を選択します。[追加] をクリックします。
-
さまざまなパラメーターの値を指定します。
-
[OK] をクリックします。
-
[完了] をクリックします。
-
\[ システム\] > \[プロファイル\] に移動します。
-
既存のプロファイルを選択し、\[ 追加\]をクリックします。
-
別の名前を指定し、パラメータを変更して、\[ OK\]をクリックします。
-
[完了] をクリックします。
TLSセッション・チケット拡張
制限事項
-
この機能は FIPS プラットフォームではサポートされていません。
-
この機能は、TLS バージョン 1.1 および 1.2 でのみサポートされます。
-
SSL セッション ID の永続性は、セッションチケットではサポートされていません。
CLI を使用して TLS セッションチケット拡張を有効にする
set ssl profile <name> -sessionTicket (ENABLED | DISABLED ) [-sessionTicketLifeTime <positive_integer>
add ssl profile profile1 -sessionTicket ENABLED -sessionTicketlifeTime 300
Done
GUI を使用して TLS セッションチケット拡張を有効にする
-
System > Profilesに移動します。\[SSL プロファイル\] を選択します。
-
\[追加\] をクリックし、プロファイルの名前を指定します。
-
「 セッション・チケット」を選択します。
-
オプションで、 **セッション・チケットの有効期間 (秒)**を指定します。
セッション・チケットの安全な実装
-
セッション・チケット名。
-
チケットの暗号化または復号化に使用されるセッション AES キー。
-
チケットのダイジェストを計算するために使用されるセッションHMACキー。
sessionTicketKeyLifeTime パラメータは、セッションチケットキーをリフレッシュする頻度を指定します。prevSessionTicketKeyLifeTime パラメータを設定して、新しいキーが生成された後、そのキーを使用してチケットを復号化するために以前のセッションチケットキーを維持する期間を指定できます。prevSessionTicketKeyLifeTime この設定により、クライアントが省略されたハンドシェイクを使用して再接続できる時間が延長されます。たとえば、sessionTicketKeyLifeTimeが 10 分、prevSessionTicketKeyLifeTimeが5 分に設定されている場合、10 分後に新しいキーが生成され、すべての新しいセッションで使用されます。ただし、以前に接続したクライアントにはさらに5分間あり、以前に発行されたチケットは省略されたハンドシェイクに対して優先されます。
CLI を使用した SSL セッションチケットデータの設定
set ssl profile <name> -sessionTicket ENABLED -sessionTicketLifeTime <positive_integer> -sessionTicketKeyRefresh ( ENABLED | DISABLED )] -sessionTicketKeyLifeTime <positive_integer> [-prevSessionTicketKeyLifeTime <positive_integer>]
set ssl profile ns_default_ssl_profile_frontend -sessionTicket ENABLED -sessionTicketlifeTime 120 -sessionTicketKeyRefresh ENABLED -sessionTicketKeyLifeTime 100 -prevSessionTicketKeyLifeTime 60
Done
show ssl profile ns_default_ssl_profile_frontend
Session Ticket: ENABLED
Session Ticket Lifetime: 120 (secs)
Session Key Auto Refresh: ENABLED
Session Key Lifetime: 100 (secs)
Previous Session Key Lifetime: 60 (secs)
GUI を使用して SSL セッションチケットデータを構成する
-
\[ システム \] > \[ プロファイル\] に移動し、\[ SSL プロファイル\] を選択します。
-
「 ns_default_ssl_プロファイル_フロントエンド 」を選択し、「 編集 」をクリックします。
-
\[基本設定\] セクションで、鉛筆アイコンをクリックし、次のパラメータを設定します。
-
セッションチケット
-
セッションチケットの有効期間 (秒)
-
セッションチケットキーの自動更新
-
セッションチケットキーの有効期間 (秒)
-
前のセッションチケットキーの有効期間 (秒)
-
-
[OK] をクリックします。
CLI を使用して SSL セッションチケットデータを手動で入力します
set ssl profile <name> -sessionTicket ENABLED
set ssl profile <name> -sessionTicketKeyData
show ssl profile ns_default_ssl_profile_frontend
Contains the session ticket name (0–15 bytes), the session AES key used to encrypt or decrypt the session ticket (16–31 bytes), and the session HMAC key used to compute the digest of the ticket (32–63 bytes). Externally generated by an administrator and added to a Citrix ADC appliance.
set ssl profile ns_default_ssl_profile_frontend -sessionTicket ENABLED
Done
set ssl profile ns_default_ssl_profile_frontend -sessionTicketKeyData 111111111111111111111111111111111111111111111111
Done
show ssl profile ns_default_ssl_profile_frontend
1) Name: ns_default_ssl_profile_frontend (Front-End)
SSLv3: ENABLED 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
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
Session Ticket: ENABLED
Session Ticket Lifetime: 300 (secs)
Session Key Auto Refresh: DISABLED
Session Key Lifetime: 3000 (secs)
Previous Session Key Lifetime: 0 (secs)
Session Key Data: 84dad1afc6d56b0deeb0a7fd7f299a207e8d8c15cdd087a5684a11a329fd732e87a0535d90883
47e8c181ba266f5c8838ae472cb3ab9255b683bf922fad32cee816c329989ef7cdeb278e93ac37882e3
ECC Curve: P_256, P_384, P_224, P_521
1) Cipher Name: DEFAULT Priority :4
Description: Predefined Cipher Alias
1) Internal Service Name (Front-End): nsrnatsip-127.0.0.1-5061
2) Internal Service Name (Front-End): nskrpcs-127.0.0.1-3009
3) Internal Service Name (Front-End): nshttps-::1l-443
4) Internal Service Name (Front-End): nsrpcs-::1l-3008
5) Internal Service Name (Front-End): nshttps-127.0.0.1-443
6) Internal Service Name (Front-End): nsrpcs-127.0.0.1-3008
7) Vserver Name: v1
Done
GUI を使用して SSL セッションチケットデータを手動で入力します
-
System > Profilesに移動してSSL Profileを選択します。
-
「 ns_default_ssl_プロファイル_フロントエンド 」を選択し、「 編集 」をクリックします。
-
\[基本設定\] セクションで、鉛筆アイコンをクリックし、次のパラメータを設定します。
-
セッションチケット
-
セッション・チケット・キー・データ
-
セッション・チケット・キー・データの確認
-
-
[OK] をクリックします。
Citrix ADC非FIPSプラットフォームでのSSLハンドシェイクでの拡張マスターシークレットのサポート
EMSのプラットフォームサポート
-
CaviumN3チップまたはIntelColetoCreek暗号カードのいずれかを含むMPXおよびSDXプラットフォーム。次のプラットフォームには、Intel Coleto チップが同梱されています。
-
MPX 5900
-
MPX/SDX 8900
-
MPX/SDX 26000
-
MPX/SDX 26000-50S
-
MPS/SDX 26000-100G
-
MPX/SDX 15000-50G
-
暗号カードのないMPXおよびSDXプラットフォーム(ソフトウェアのみ)。
-
ソフトウェアのみのプラットフォーム:VPX、CPX、およびBLX。
-
MPX 9700FIPSおよびMPX14000FIPSプラットフォーム。
-
CaviumN2暗号チップを含むMPXおよびSDXプラットフォーム。
CLIを使用してEMSを有効にする
set ssl profile <profile name> [-allowExtendedMasterSecret (YES | NO)]
set ssl profile ns_default_ssl_profile_frontend -allowExtendedMasterSecret YES
set ssl profile ns_default_ssl_profile_backend -allowExtendedMasterSecret YES
allowExtendedMasterSecret パラメーターのデフォルト値を示しています。
| Profile | デフォルト設定 |
|---|---|
| デフォルトのフロントエンドプロファイル | いいえ |
| デフォルトのフロントエンドセキュアプロファイル | はい |
| デフォルトのバックエンドプロファイル | いいえ |
| ユーザー定義のプロファイル | いいえ |
GUIを使用してEMSを有効にする
-
\[システム\] > \[プロファイル\] > \[SSL プロファイル\] に移動します。
-
プロファイルを追加するか、プロファイルを編集します。
-
\[拡張マスターシークレット を許可する\]を\[はい\]に設定します。

クライアントhelloメッセージでのALPN拡張の処理のサポート
alpnProtocol がフロントエンドSSLプロファイルに追加され、ALPN拡張機能で処理される接続のアプリケーションプロトコルをネゴシエートします。 SSL_TCP 仮想サーバー。クライアントhelloメッセージのALPN拡張で同じプロトコルが受信された場合、SSLプロファイルで指定されたプロトコルのみがネゴシエートされます。
alpnProtocolパラメーターはフロントエンドSSLプロファイルでのみサポートされ、によって処理されるSSL接続に適用されます。 SSL_TCP タイプ仮想サーバー。
CLIを使用してフロントエンドSSLプロファイルにプロトコルを設定します
set ssl profile ns_default_ssl_profile_frontend -alpnProtocol <protocol_name>
alpnProtocolパラメータには 3 つの値を指定できます。最大長:4096バイト。
-
NONE: アプリケーションプロトコルネゴシエーションは行われません。この設定がデフォルトです。
-
HTTP1: HTTP1はアプリケーションプロトコルとしてネゴシエートできます。
-
HTTP2: HTTP2はアプリケーションプロトコルとしてネゴシエートできます。
set ssl profile ns_default_ssl_profile_frontend -ALPNProtocol HTTP2
> sh ssl profile ns_default_ssl_profile_frontend
1) Name: ns_default_ssl_profile_frontend (Front-End)
SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
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
Zero RTT Early Data: DISABLED
DHE Key Exchange With PSK: NO
Tickets Per Authentication Context: 1
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
Match HTTP Host header with SNI: CERT
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: DISABLED
SSL Interception OCSP Check: ENABLED
SSL Interception End to End Renegotiation: ENABLED
SSL Interception Maximum Reuse Sessions per Server: 10
Session Ticket: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
HSTS Preload: NO
Allow Extended Master Secret: NO
Send ALPN Protocol: HTTP2
Done
GUIを使用してフロントエンドSSLプロファイルでプロトコルを設定します
-
System > Profilesに移動してSSL Profileを選択します。
-
「 ns_default_ssl_プロファイル_フロントエンド 」を選択し、「 編集 」をクリックします。
-
\[ **ALPNプロトコル\]**リストで、\[ HTTP2\]を選択します。

古い設定をロードする
CLI を使用して古い設定をロードする
shell
root@ns# clear config
root@ns# cd /nsconfig
root@ns# cp ns.conf.NS.11.0.jun.16 ns.conf
root@ns# reboot