SSLに関するよくある質問
基本的な質問
VPX インスタンスで GUI への HTTPS アクセスが失敗する。アクセスするにはどうしたらいいですか
GUI への HTTPS アクセスには、証明書とキーのペアが必要です。NetScaler ADCアプライアンスでは、証明書とキーのペアが自動的に内部サービスにバインドされます。デフォルトのキーサイズは、MPXまたはSDXアプライアンスで1024バイト、VPXインスタンスで512バイトです。ただし、最新のWebブラウザーの多くは1024バイト未満のキーを受け入れません。このため、VPX構成ユーティリティへのHTTPSアクセスがブロックされてしまいます。
構成ユーティリティへのHTTPSアクセスのために、少なくとも1024バイトの証明書とキーのペアをインストールし、内部サービスにバインドすることをお勧めします。または、 ns-server-certificate
を 1024 バイトに更新します。設定ユーティリティまたは CLI への HTTP アクセスを使用して、証明書をインストールできます。
MPX アプライアンスにライセンスを追加すると、証明書とキーのペアバインディングが失われます。この問題を解決するにはどうしたらいいですか
MPX アプライアンスの起動時にライセンスが存在せず、後でライセンスを追加してアプライアンスを再起動すると、証明書のバインドが失われる可能性があります。証明書を再インストールし、内部サービスにバインドします。
アプライアンスを起動する前に、適切なライセンスをインストールすることをお勧めします。
SSL トランザクションのセキュリティで保護されたチャネルの設定に関連するさまざまな手順は何ですか
SSL トランザクション用のセキュアチャネルを設定するには、次の手順を実行します。
-
クライアントは、セキュアチャネルに対する HTTPS 要求をサーバーに送信します。
-
プロトコルと暗号を選択すると、サーバーは証明書をクライアントに送信します。
-
クライアントはサーバー証明書の信頼性をチェックします。
-
いずれかのチェックが失敗した場合、クライアントは対応するフィードバックを表示します。
-
チェックが合格した場合、またはチェックが失敗してもクライアントが継続することを決定した場合、クライアントは一時的な使い捨てキーを作成します。 このキーは事前マスターシークレットと呼ばれ 、クライアントはサーバー証明書の公開キーを使用してこのキーを暗号化します。
-
サーバーは、プリマスターシークレットを受信すると、サーバーの秘密キーを使用してそれを復号化し、セッションキーを生成します。クライアントは、プリマスターシークレットからセッションキーも生成します。したがって、クライアントとサーバーの両方に、アプリケーションデータの暗号化と復号化に使用される共通のセッションキーがあります。
SSLはCPU集約型のプロセスであることを理解しています。SSL プロセスに関連付けられた CPU コストはいくらですか
SSL プロセスには、次の 2 つのステージが関連付けられています。
-
公開鍵と秘密鍵技術を使用した最初のハンドシェイクとセキュアチャネル設定。
-
対称キー技術を使用した一括データ暗号化。
前述のステージはどちらもサーバーのパフォーマンスに影響を与える可能性があり、次の理由から集中的な CPU 処理が必要になります。
-
最初のハンドシェイクには、公開秘密キーの暗号化が含まれます。これは、キーサイズ(1024 ビット、2048 ビット、4096 ビット)が大きいため、CPU が非常に集中します。
-
データの暗号化/復号化は、暗号化または復号化する必要があるデータの量に応じて、計算コストも高くなります。
SSL 設定のさまざまなエンティティは何ですか
SSL 設定には、次のエンティティがあります。
- サーバー証明書
- 認証局 (CA) 証明書
- 次のタスクのプロトコルを指定する暗号スイート。
- 初期キー交換
- サーバーとクライアントの認証
- 一括暗号化アルゴリズム
- メッセージ認証
- クライアント認証
- CRL
- SSL 証明書キー生成ツールを使用すると、次のファイルを作成できます。
- 証明書リクエスト
- 自己署名証明書
- RSAキー
- DH パラメータ
NetScaler ADCアプライアンスのSSLオフロード機能を使いたい。SSL 証明書を受信するためのさまざまなオプションは何ですか
NetScaler ADCアプライアンスでSSLセットアップを構成する前に、SSL証明書を受け取る必要があります。SSL 証明書を受信するには、次のいずれかの方法を使用できます。
-
承認された認証局 (CA) に証明書を要求します。
-
既存のサーバー証明書を使用します。
-
NetScaler ADCアプライアンスで証明書とキーのペアを作成します。
注: この証明書は、NetScaler ADCアプライアンスによって生成されたテストルートCAによって署名されたテスト証明書です。テスト root-CA によって署名されたテスト証明書は、ブラウザでは受け入れられません。ブラウザは、サーバーの証明書を認証できないことを示す警告メッセージがスローされます。
- テスト目的以外には、サーバー証明書に署名するための有効な CA 証明書と CA キーを指定する必要があります。
SSL セットアップの最小要件は何ですか
SSL セットアップを構成するための最小要件は次のとおりです。
- 証明書とキーを取得します。
- 負荷分散 SSL 仮想サーバーを作成します。
- HTTP または SSL サービスを SSL 仮想サーバーにバインドします。
- 証明書とキーのペアを SSL 仮想サーバーにバインドします。
SSL のさまざまなコンポーネントの制限は何ですか
SSL コンポーネントには、次の制限があります。
- SSL 証明書のビットサイズ:4096。
- SSL 証明書の数:アプライアンスの使用可能なメモリによって異なります。
- リンクされた中間 CA SSL 証明書の最大数:チェーンあたり 9
- CRL 失効:アプライアンスの使用可能なメモリによって異なります。
NetScaler ADCアプライアンスのエンドツーエンドのデータ暗号化に関連するさまざまな手順は何ですか
NetScaler ADCアプライアンスのサーバー側の暗号化プロセスに関連する手順は次のとおりです。
-
クライアントは、セキュリティで保護されたサイトのNetScaler ADCアプライアンスで構成されたSSL VIPに接続します。
-
セキュアな要求を受信すると、アプライアンスは要求を復号化し、レイヤ 4 ~ 7 のコンテンツスイッチング技術とロードバランシングポリシーを適用します。次に、リクエストに使用可能な最適なバックエンド Web サーバーを選択します。
-
NetScaler ADCアプライアンスは、選択したサーバーとのSSLセッションを作成します。
-
SSL セッションを確立した後、アプライアンスはクライアント要求を暗号化し、セキュア SSL セッションを使用して Web サーバに送信します。
-
アプライアンスは、サーバから暗号化された応答を受信すると、データを復号化して再暗号化します。次に、クライアント側の SSL セッションを使用してデータをクライアントに送信します。
NetScaler ADCアプライアンスの多重化技術により、アプライアンスはWebサーバーで確立されたSSLセッションを再利用できます。したがって、アプライアンスは、 フルハンドシェイクと呼ばれるCPU を大量に消費するキー交換を回避します。このプロセスにより、サーバー上の SSL セッションの総数が削減され、エンドツーエンドのセキュリティが維持されます。
証明書とキー
証明書とキーファイルは任意の場所に配置できますか。これらのファイルを保存する推奨場所はありますか
証明書とキーファイルは、NetScaler ADCアプライアンスまたはローカルコンピュータに格納できます。ただし、証明書とキーファイルはCitrix ADCアプライアンスの/nsconfig/ssl
ディレクトリに保存することをお勧めします。 /etc
ディレクトリは、NetScaler ADCアプライアンスのフラッシュメモリに存在します。この操作により、移植性が提供され、アプライアンス上の証明書ファイルのバックアップと復元が容易になります。
注: 証明書とキーファイルが同じディレクトリに保存されていることを確認してください。
NetScaler ADCアプライアンスでサポートされる証明書キーの最大サイズはどれくらいですか
リリース9.0より前のソフトウェアリリースを実行しているNetScaler ADCアプライアンスは、2048ビットの最大証明書キーサイズをサポートします。リリース 9.0 以降では、4096 ビットの最大証明書キーサイズがサポートされています。この制限は RSA 証明書に適用されます。
MPX アプライアンスは、512 ビットから次のサイズまでの証明書をサポートします。
-
仮想サーバー上の 4096 ビットサーバー証明書
-
サービス上の 4096 ビットのクライアント証明書
-
4096 ビット CA 証明書(中間証明書とルート証明書を含む)
-
バックエンドサーバー上の 4096 ビット証明書
-
4096 ビットのクライアント証明書 (仮想サーバーでクライアント認証が有効になっている場合)
仮想アプライアンスは、512 ビットから次のサイズまでの証明書をサポートします。
-
仮想サーバー上の 4096 ビットサーバー証明書
-
サービス上の 4096 ビットのクライアント証明書
-
4096 ビット CA 証明書(中間証明書とルート証明書を含む)
-
バックエンドサーバー上の 4096 ビット証明書
-
2048 ビットのクライアント証明書 (仮想サーバーでクライアント認証が有効になっている場合)
NetScaler ADCアプライアンスでサポートされるDHパラメータの最大サイズはどれくらいですか
NetScalerアプライアンスは最大2048のDHパラメーターをサポートしています。リリース14.1-25.x以降、最大制限は4096ビットに引き上げられました。
注:
Cavium プラットフォームの場合、上限は 2048 ビットです。
NetScaler ADCアプライアンスでサポートされる証明書チェーンの最大長、つまりチェーン内の最大証明書数はどれくらいですか
NetScaler ADCアプライアンスは、サーバー証明書メッセージを送信するときに、チェーン内で最大10個の証明書を送信できます。最大長のチェーンには、サーバ証明書と 9 つの中間 CA 証明書が含まれます。
NetScaler ADCアプライアンスでサポートされるさまざまな証明書とキーの形式は何ですか
NetScaler ADCアプライアンスは、次の証明書とキーの形式をサポートしています。
- プライバシー強化メール (PEM)
- 識別エンコーディングルール (DER)
NetScaler ADCアプライアンスにインストールできる証明書とキーの数に制限はありますか
なしインストールできる証明書とキーの数は、NetScaler ADCアプライアンスの使用可能なメモリによってのみ制限されます。
証明書とキーファイルをローカルコンピューターに保存しました。FTPプロトコルを使用してこれらのファイルをNetScaler ADCアプライアンスに転送したい。これらのファイルをNetScaler ADCアプライアンスに転送するための優先モードはありますか
はい。FTPプロトコルを使用している場合は、バイナリモードを使用して証明書とキーファイルをNetScaler ADCアプライアンスに転送する必要があります。
注: デフォルトでは、FTP は無効になっています。証明書およびキーファイルを転送するには、SCPプロトコルをお勧めします。構成ユーティリティは、暗黙的に SCP を使用してアプライアンスに接続します。
証明書とキーのデフォルトのディレクトリパスは何ですか
証明書とキーのデフォルトのディレクトリパスは ‘/nsconfig/ssl’ です。
証明書とキーペアを追加するときに、証明書とキーファイルへの絶対パスを指定しないとどうなりますか
証明書とキーのペアを追加するときは、証明書とキーファイルへの絶対パスを指定します。指定しない場合、ADC アプライアンスはこれらのファイルをデフォルトディレクトリで検索し、カーネルにロードしようとします。デフォルトのディレクトリは/nsconfig/ssl
です。たとえば、アプライアンスの/nsconfig/ssl
ディレクトリで cert1024.pem ファイルと rsa1024.pem ファイルが使用可能な場合、次のコマンドは両方とも正常に実行できます。
add ssl certKey cert1 -cert cert1204.pem -key rsa1024.pem
<!--NeedCopy-->
add ssl certKey cert1 -cert /nsconfig/ssl/cert1204.pem -key /nsconfig/ssl/rsa1024.pem
<!--NeedCopy-->
高可用性セットアップを構成しました。セットアップにSSL機能を実装したい。高可用性セットアップで証明書とキーファイルをどのように処理する必要がありますか
高可用性設定では、プライマリとセカンダリのNetScaler ADCアプライアンスの両方に証明書とキーファイルを保存する必要があります。プライマリアプライアンスに SSL 証明書とキーのペアを追加する前に、証明書とキーファイルのディレクトリパスが両方のアプライアンスで同じである必要があります。
nCipher nShield® HSM
nCipher nShield® HSMと統合する場合、NetScaler ADCアプライアンスをHAに追加する際に特定の構成に留意する必要がありますか
HA の両方のノードで同じ nCipher デバイスを構成します。nCipher 構成コマンドは HA で同期しません。nCipher nShield® HSM の前提条件については、「前提条件」を参照してください。
nCipher nShield® HSMとRFSの両方を個別に統合する必要がありますか? HA セットアップの前後にこのアクションを完了する必要がありますか
統合は、HA セットアップの前後に完了できます。HA セットアップ後に統合が行われると、セカンダリノードを設定する前にプライマリノードにインポートされたキーは、セカンダリノードに同期されません。したがって、高可用性セットアップの前にnCipher統合をお勧めします。
プライマリとセカンダリの両方のNetScaler ADCアプライアンスにキーをインポートする必要がありますか、それともプライマリノードからセカンダリノードにキーが同期されていますか
nCipher が HA を形成する前に両方のデバイスに統合されている場合、キーは統合プロセスで RFS から自動的に同期されます。
HSMがNetScaler ADCアプライアンスではなくnCipher上にある場合、ノードに障害が発生して交換されたときのキーと証明書はどうなりますか
ノードに障害が発生した場合、新しいノードに nCipher を統合することで、キーと証明書を新しいノードに同期できます。次に、次のコマンドを実行します。
sync ha files ssl
force ha sync
<!--NeedCopy-->
nCipher の統合プロセスでキーが同期されている場合、証明書は同期され、追加されます。
暗号
ヌル暗号って何ですか
暗号化のない暗号は、NULL-Ciphers と呼ばれます。たとえば、NULL-MD5 はヌル暗号です。
SSL VIP または SSL サービスの場合、NULL 暗号はデフォルトで有効になっていますか
なしSSL VIP または SSL サービスでは、NULL 暗号はデフォルトで有効になりません。
ヌル暗号を削除する手順は何ですか
SSL VIP から NULL 暗号を削除するには、次のコマンドを実行します。
bind ssl cipher <SSL_VIP> REM NULL
<!--NeedCopy-->
SSL サービスから NULL 暗号を削除するには、次のコマンドを実行します。
bind ssl cipher <SSL_Service> REM NULL -service
<!--NeedCopy-->
NetScaler ADCアプライアンスでサポートされるさまざまな暗号エイリアスは何ですか
アプライアンスでサポートされている暗号エイリアスを一覧表示するには、コマンドプロンプトで次のように入力します。
sh cipher
<!--NeedCopy-->
NetScaler ADCアプライアンスの事前定義された暗号をすべて表示するコマンドは何ですか
NetScaler ADCアプライアンスの事前定義された暗号をすべて表示するには、CLIで次のように入力します。
show ssl cipher
<!--NeedCopy-->
NetScaler ADCアプライアンスの個々の暗号の詳細を表示するコマンドは何ですか
NetScaler ADCアプライアンスの個々の暗号の詳細を表示するには、CLIで次のように入力します。
show ssl cipher <Cipher_Name/Cipher_Alias_Name/Cipher_Group_Name>
<!--NeedCopy-->
例:
show cipher SSL3-RC4-SHA
1) Cipher Name: SSL3-RC4-SHA
Description: SSLv3 Kx=RSA Au=RSA Enc=RC4(128)
Mac=SHA1
Done
<!--NeedCopy-->
NetScaler ADCアプライアンスの事前定義された暗号を追加することの意義は何ですか
NetScaler ADCアプライアンスの事前定義された暗号を追加すると、NULL暗号がSSL VIPまたはSSLサービスに追加されます。
NetScaler ADCアプライアンスの暗号グループからバインド解除せずに暗号の順序を変更することは可能ですか
はい。カスタム暗号グループから暗号をバインド解除することなく、暗号の順序を変更できます。ただし、組み込みの暗号グループの優先順位を変更することはできません。SSL エンティティにバインドされた暗号の優先順位を変更するには、まず仮想サーバー、サービス、またはサービスグループから暗号をバインド解除します。
注: SSL エンティティにバインドされた暗号グループが空の場合、ネゴシエートされた暗号がないため、SSL ハンドシェイクは失敗します。暗号グループには、少なくとも 1 つの暗号が含まれている必要があります。
ECDSAはNetScaler ADCアプライアンスでサポートされていますか
ECDSAは、次のNetScaler ADCプラットフォームでサポートされています。サポートされているビルドの詳細については、 NetScaler ADCアプライアンスで使用可能な暗号の表1と表2を参照してください。
- N3チップを搭載したNetScaler ADC MPXおよびSDXアプライアンス
- NetScaler MPX 5900/8900/15000/26000
- NetScaler SDX 8900/15000
- NetScaler VPXアプライアンス
NetScaler VPXアプライアンスは、フロントエンドでAES-GCM/SHA2暗号をサポートしていますか
はい、 AES-GCM/SHA2 暗号はNetScaler ADC VPXアプライアンスでサポートされています。サポートされているビルドの詳細については、 NetScaler ADCアプライアンスで使用可能な暗号を参照してください。
証明書
クライアント証明書の識別名は、ユーザーセッションの長さで使用できますか
はい。ユーザーセッションの間は、後続のリクエストでクライアント証明書の識別名にアクセスできます。つまり、SSL ハンドシェイクが完了し、証明書がブラウザによって再度送信されない後でも同様です。次の設定例で説明されているように、変数と代入を使用します。
例:
add ns variable v2 -type "text(100)"
add ns assignment a1 -variable "$v2" -set "CLIENT.SSL.CLIENT_CERT.SUBJECT.TYPECAST_NVLIST_T('=','/').VALUE("CN")"
add rewrite action act1 insert_http_header subject "$v2" // example: to insert the distinguished name in the header
add rewrite policy pol1 true a1
add rewrite policy pol2 true act1
bind rewrite global pol1 1 next -type RES_DEFAULT
bind rewrite global pol2 2 next -type RES_DEFAULT
set rewrite param -undefAction RESET
<!--NeedCopy-->
サーバー証明書をバインドする必要があるのはなぜですか
サーバー証明書のバインドは、SSL 設定で SSL トランザクションを処理するための基本的な要件です。
サーバー証明書を SSL VIP にバインドするには、CLI で次のように入力します。
bind ssl vserver <vServerName> -certkeyName <cert_name>
<!--NeedCopy-->
サーバー証明書を SSL サービスにバインドするには、CLI で次のように入力します。
bind ssl service <serviceName> -certkeyName <cert_name>
<!--NeedCopy-->
SSL VIP または SSL サービスにバインドできる証明書はいくつありますか
NetScaler VPX、MPX/SDX(N3)、およびMPX/SDX 14000 FIPSアプライアンスでは、2つの証明書をSSL仮想サーバーまたはSSLサービスにバインドできます(SNIが無効の場合)。証明書は RSA および ECDSA の各タイプの 1 つである必要があります。SNI が有効の場合、RSA または ECDSA タイプの複数のサーバ証明書をバインドできます。NetScaler MPX(N2)またはMPX 9700 FIPSアプライアンスで、SNIが無効になっている場合は、RSAタイプの証明書を1つだけバインドできます。SNI が有効な場合、RSA タイプの複数のサーバ証明書のみをバインドできます。
サーバー証明書のバインドを解除または上書きするとどうなりますか
サーバー証明書のバインドを解除または上書きすると、既存の証明書を使用して作成されたすべての接続と SSL セッションが終了します。既存の証明書を上書きすると、次のメッセージが表示されます。
ERROR:
Warning: Current certificate replaces the previous binding.
<!--NeedCopy-->
NetScaler ADCアプライアンスに中間証明書をインストールし、サーバー証明書にリンクするにはどうすればよいですか
中間証明書のインストールについては、「http://support.citrix.com/article/ctx114146」の記事を参照してください。
NetScaler ADCに証明書をインストールしようとすると、「リソースはすでに存在します」というエラーが発生するのはなぜですか
「リソースはすでに存在します」エラーの解決方法については、「http://support.citrix.com/article/CTX117284」の記事を参照してください。
NetScaler ADCアプライアンスでサーバー証明書を作成して、製品をテストおよび評価したい。サーバー証明書を作成する手順は何ですか
次の手順を実行して、テスト証明書を作成します。
注: この手順で作成された証明書を使用して、すべてのユーザおよびブラウザを認証することはできません。テストに証明書を使用した後は、承認されたルート認証局によって署名されたサーバー証明書を取得する必要があります。
自己署名サーバー証明書を作成するには、次の手順を実行します。
-
ルート CA 証明書を作成するには、CLI で次のように入力します。
create ssl rsakey /nsconfig/ssl/test-ca.key 1024 create ssl certreq /nsconfig/ssl/test-ca.csr -keyfile /nsconfig/ssl/test-ca.key Enter the required information when prompted, and then type the following command: create ssl cert /nsconfig/ssl/test-ca.cer /nsconfig/ssl/test-ca.csr ROOT_CERT -keyfile /nsconfig/ssl/test-ca.key <!--NeedCopy-->
-
次の手順を実行して、サーバー証明書を作成し、作成したルート CA 証明書で署名します。
-
リクエストとキーを作成するには、CLI で次のように入力します。
create ssl rsakey /nsconfig/ssl/test-server.key 1024 create ssl certreq /nsconfig/ssl/test-server.csr -keyfile /nsconfig/ssl/test-server.key <!--NeedCopy-->
-
プロンプトが表示されたら、必要な情報を入力します。
-
シリアル番号ファイルを作成するには、CLI で次のように入力します。
shell # echo '01' > /nsconfig/ssl/serial.txt # exit <!--NeedCopy-->
-
ステップ 1 で作成したルート CA 証明書によって署名されたサーバ証明書を作成するには、CLI で次のように入力します。
create ssl cert /nsconfig/ssl/test-server.cer /nsconfig/ssl/test-server.csr SRVR_CERT -CAcert /nsconfig/ssl/test-ca.cer -CAkey /nsconfig/ssl/test-ca.key -CAserial /nsconfig/ssl/serial.txt <!--NeedCopy-->
-
SSLハンドシェイクとバルク暗号化のサーバー証明書情報を保持するメモリ内オブジェクトであるNetScaler ADC証明書とキーのペアを作成するには、CLIで次のように入力します。
add ssl certkey test-certkey -cert /nsconfig/ssl/test-server.cer -key /nsconfig/ssl/test-server.key <!--NeedCopy-->
-
証明書とキーのペアを SSL 仮想サーバーにバインドするには、CLI で次のように入力します。
bind ssl vserver <vServerName> -certkeyName <cert_name> <!--NeedCopy-->
-
NetScaler ソフトウェアリリース9.0がインストールされているNetScaler ADCアプライアンスを受け取りました。アプライアンスに追加のライセンスファイルがあることに気付きました。NetScaler ソフトウェアリリース9.0以降のライセンスポリシーに変更はありますか
はい。NetScalerソフトウェアリリース9.0以降では、アプライアンスにライセンスファイルが1つもない場合があります。ライセンスファイルの数は、NetScaler ADCソフトウェアリリースエディションによって異なります。たとえば、Advanced Edition をインストールしている場合、さまざまな機能の完全な機能のために追加のライセンスファイルが必要になる場合があります。ただし、Premium エディションをインストールした場合、アプライアンスにはライセンスファイルが 1 つしかありません。
インターネットインフォメーションサービス (IIS) から証明書をエクスポートするにはどうすればよいですか
さまざまな方法がありますが、次の方法を使用して、Web サイトの適切な証明書と秘密キーがエクスポートされます。この手順は、実際の IIS サーバーで実行する必要があります。
-
インターネットインフォメーションサービス (IIS) マネージャー管理ツールを開きます。
-
Webサイトノードを展開し、NetScaler ADCアプライアンスを介して提供するSSL対応のWebサイトを見つけます。
-
この Web サイトを右クリックし、[プロパティ] をクリックします。
-
[ディレクトリセキュリティ] タブをクリックし、ウィンドウの [セキュリティで保護された通信] セクションで、[証明書の表示] ボックスを選択します。
-
[詳細] タブをクリックし、[ファイルにコピー] をクリックします。
-
[証明書のエクスポートウィザードへようこそ] ページで、[次へ] をクリックします。
-
[はい、秘密キーをエクスポートする] を選択し、[次へ] をクリックします。
注: SSLオフロードがNetScaler ADCで動作するには、秘密キーをエクスポートする必要があります。
-
[個人情報交換-PKCS #12] ラジオボタンが選択されていることを確認し、[可能な場合はすべての証明書を証明パスに含める] チェックボックスをオンにします。 [次へ] をクリックします。
-
パスワードを入力し、[次へ] をクリックします。
-
ファイル名と場所を入力し、[次へ] をクリックします。ファイルの拡張子を.PFX にします。
-
[完了]をクリックします。
PKCS #12 証明書を変換してNetScaler ADCにインストールするにはどうすればよいですか
-
エクスポートされた.PFX証明書ファイルを、NetScaler ADCアプライアンスにコピーできる場所に移動します。つまり、NetScaler ADCアプライアンスの管理インターフェイスへのSSHアクセスを許可するマシンです。SCP などのセキュアコピーユーティリティを使用して、証明書をアプライアンスにコピーします。
-
BSD シェルにアクセスし、証明書(Cert.pfx など)を.PEM 形式に変換します。
root@ns# openssl pkcs12 -in cert.PFX -out cert.PEM <!--NeedCopy-->
-
変換された証明書が正しい x509 形式であることを確認するには、次のコマンドでエラーが生成されないことを確認します。
root@ns# openssl x509 -in cert.PEM -text <!--NeedCopy-->
-
証明書ファイルに秘密キーが含まれていることを確認します。次のコマンドを発行することから始めます。
root@ns# cat cert.PEM Verify that the output file includes an RSA PRIVATE KEY section. -----BEGIN RSA PRIVATE KEY----- Mkm^s9KMs9023pz/s... -----END RSA PRIVATE KEY----- <!--NeedCopy-->
次に、RSA 秘密キーセクションの別の例を示します。
Bag Attributes 1.3.6.1.4.1.311.17.2: <No Values> localKeyID: 01 00 00 00 Microsoft CSP Name: Microsoft RSA SChannel Cryptographic Provider friendlyName: 4b9cef4cc8c9b849ff5c662fd3e0ef7e_76267e3e-6183-4d45-886e-6e067297b38f Key Attributes X509v3 Key Usage: 10 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,43E7ACA5F4423968 pZJ2SfsSVqMbRRf6ug37Clua5gY0Wld4frPIxFXyJquUHr31dilW5ta3hbIaQ+Rg ... (more random characters) v8dMugeRplkaH2Uwt/mWBk4t71Yv7GeHmcmjafK8H8iW80ooPO3D/ENV8X4U/tlh 5eU6ky3WYZ1BTy6thxxLlwAullynVXZEflNLxq1oX+ZYl6djgjE3qg== -----END RSA PRIVATE KEY----- <!--NeedCopy-->
以下は、サーバー証明書のセクションです。
Bag Attributes localKeyID: 01 00 00 00 friendlyName: AG Certificate subject=/C=AU/ST=NSW/L=Wanniassa/O=Dave Mother Asiapacific/OU=Support/CN=davemother.food.lan issuer=/DC=lan/DC=food/CN=hotdog -----BEGIN CERTIFICATE----- MIIFiTCCBHGgAwIBAgIKCGryDgAAAAAAHzANBgkqhkiG9w0BAQUFADA8MRMwEQYK ... (more random characters) 5pLDWYVHhLkA1pSxvFjNJHRSIydWHc5ltGyKqIUcBezVaXyel94pNSUYx07NpPV/ MY2ovQyQZM8gGe3+lGFum0VHbv/y/gB9HhFesog= -----END CERTIFICATE----- <!--NeedCopy-->
以下は、中級 CA 証明書のセクションです。
Bag Attributes: <Empty Attributes> subject=/DC=lan/DC=food/CN=hotdog issuer=/DC=lan/DC=food/CN=hotdog -----BEGIN CERTIFICATE----- MIIESDCCAzCgAwIBAgIQah20fCRYTY9LRXYMIRaKGjANBgkqhkiG9w0BAQUFADA8 ... (more random characters) Nt0nksawDnbKo86rQcNnY5xUs7c7pj2zxj/IOsgNHUp5W6dDI9pQoqFFaDk= -----END CERTIFICATE----- <!--NeedCopy-->
エクスポートされた証明書の証明書パスによっては、さらに中間 CA 証明書が続く場合があります。
-
テキストエディタで.PEM ファイルを開きます
-
.PEM ファイルの最初の行と次の行の最初のインスタンスを見つけ、それらの 2 行とその間のすべての行をコピーします。
-----END CERTIFICATE----- Note: Make sure that last copied line is the first -----END CERTIFICATE----- line in the .PEM file. <!--NeedCopy-->
-
コピーした行を新しいファイルに貼り付けます。cert-key.pem など、新しいファイルを直観的に呼び出します。この証明書とキーのペアは、HTTPS サービスをホストするサーバー用です。このファイルには、RSA PRIVATE KEY というラベルの付いたセクションと、前述の例の SERVER CERTIFICATE というラベルの付いたセクションの両方が含まれている必要があります。
注: 証明書とキーのペアファイルには、秘密キーが含まれているため、安全に保つ必要があります。
-
—BEGIN CERTIFICATE— で始まり —END CERTIFICATE— で終わる後続のセクションを探し、そのようなセクションをそれぞれ別の新しいファイルにコピーします。
これらのセクションは、証明書パスに含まれている信頼できる CA の証明書に対応しています。これらのセクションは、これらの証明書の新しい個別のファイルにコピーして貼り付ける必要があります。たとえば、前の例の中間 CA 証明書セクションをコピーして新しいファイルに貼り付ける必要があります)。
元のファイルに複数の中間 CA 証明書がある場合は、各中間 CA 証明書のファイルを、ファイル内の順番に作成します。後の手順で正しい順序で証明書をリンクする必要があるため、証明書が表示される順序を(適切なファイル名を使用して)追跡します。
-
証明書キーファイル(cert-key.pem)および追加のCA証明書ファイルをNetScaler ADCアプライアンス上の/nsconfig/sslディレクトリにコピーします。
-
BSDシェルを終了し、NetScaler ADCプロンプトにアクセスします。
-
「アプライアンスに証明書キーファイルをインストールする」の手順に従って、デバイスにアップロードされたキー/証明書をインストールします。
PKCS #7 証明書を変換してNetScaler ADCアプライアンスにインストールするにはどうすればよいですか
OpenSSLを使用して、PKCS #7 証明書をNetScaler ADCアプライアンスで認識できる形式に変換できます。この手順は PKCS #12 証明書の手順と同じです。ただし、異なるパラメータで OpenSSL を呼び出す点が異なります。PKCS #7 証明書を変換する手順は次のとおりです。
-
SCP などのセキュアコピーユーティリティを使用して、証明書をアプライアンスにコピーします。
-
証明書(Cert.p7b など)を PEM 形式に変換します。
openssl pkcs7 -inform DER -in cert.p7b -print_certs -text -out cert.pem <!--NeedCopy-->
-
PKCS #12 証明書の回答で説明されている手順 3 ~ 7 に従います。 注:変換された PKCS #7 証明書をアプライアンスにロードする前に、PKCS #12 手順のステップ 3 で説明したとおりに秘密キーが含まれていることを確認します。PKCS #7 証明書、特に IIS からエクスポートされた証明書には、通常、秘密キーは含まれません。
bind cipherコマンドを使用して暗号を仮想サーバーまたはサービスにバインドすると、「Command deprecated?」
暗号を仮想サーバーまたはサービスにバインドするコマンドが変更されました。
SSL 暗号を SSL 仮想サーバにバインドするには、 bind ssl vserver <vsername> -ciphername <ciphername>
コマンドを使用します。
SSL 暗号を SSL サービスにバインドするには、 bind ssl service <serviceName> -ciphername <ciphername>
コマンドを使用します。
注: 新しい暗号および暗号グループは既存のリストに追加され、置き換えられません。
add cipher コマンドを使用して暗号グループを作成し、それに暗号をバインドできないのはなぜですか
add cipher コマンドの機能がリリース 10 で変更されました。このコマンドは、暗号グループのみを作成します。グループに暗号を追加するには、bind cipher コマンドを使用します。
openSSL
OpenSSL を使用して PEM と DER の間で証明書を変換するにはどうすればよいですか?
OpenSSL を使用するには、OpenSSL ソフトウェアを正常にインストールし、コマンドラインから OpenSSL を実行できる必要があります。
x509 証明書と RSA キーは、いくつかの異なる形式で保存できます。
一般的な形式は次のとおりです。
- DER (主に Java および Macintosh プラットフォームで使用されるバイナリ形式)
- PEM (ヘッダーとフッター情報を持つ DER の base64 表現。主に UNIX および Linux プラットフォームで使用されます)。
ルート証明書および中間証明書に加えて、キーと対応する証明書は、単一の PKCS #12 (.P12、.PFX) ファイルに格納することもできます。
手順
OpenSSL コマンドを使用して、次の形式を変換します。
-
証明書を PEM から DER に変換するには、次の手順を実行します。
x509 -in input.crt -inform PEM -out output.crt -outform DER <!--NeedCopy-->
-
証明書を DER から PEM に変換するには、次の手順を実行します。
x509 -in input.crt -inform DER -out output.crt -outform PEM <!--NeedCopy-->
-
キーを PEM から DER に変換するには:
rsa -in input.key -inform PEM -out output.key -outform DER <!--NeedCopy-->
-
キーを DER から PEM に変換するには、次の手順を実行します。
rsa -in input.key -inform DER -out output.key -outform PEM <!--NeedCopy-->
注: インポートするキーがサポートされている対称暗号で暗号化されている場合、パスフレーズの入力を求められます。
注: キーを旧式の NET(Netscape サーバ)形式に変換するには、必要に応じて PEM または DER を NET に置き換えます。保存された鍵は、脆弱な無塩RC4対称暗号で暗号化されているため、パスフレーズが要求されます。パスフレーズは空白でもかまいません。
システム制限
覚えておくべき重要な数字は何ですか
-
証明書リクエストの作成:
- リクエストファイル名:最大 63 文字
- キーファイル名:最大 63 文字
- PEM パスフレーズ (暗号化キー用): 最大 31 文字
- 一般名:最大 63 文字
- 市区町村:最大 127 文字
- 組織名:最大 63 文字
- 州/州名:最大 63 文字
- メールアドレス:最大 255 文字
- 組織単位:最大 63 文字
- チャレンジパスワード:最大 20 文字
- 会社名:最大 127 文字
-
証明書の作成:
- 証明書ファイル名:最大 63 文字
- 証明書要求ファイル名:最大 63 文字
- キーファイル名:最大 63 文字
- PEM パスフレーズ:最大 31 文字
- 有効期間:最大 3650 日
- CA 証明書ファイル名:最大 63 文字
- CA キーファイル名:最大 63 文字
- PEM パスフレーズ:最大 31 文字
- CA シリアル番号ファイル:最大 63 文字
-
サーバーテスト証明書を作成してインストールします。
- 証明書ファイル名:最大 31 文字
- 完全修飾ドメイン名:最大 63 文字
- Diffie-Hellman (DH) キーを作成します。
- DH ファイル名 (パスあり): 最大 63 文字
- DH パラメータサイズ:最大 2048 ビット (リリース 14.1-25.x 以降、最大制限は 4096 に引き上げられました)
注:
Cavium プラットフォームの場合、上限は 2048 ビットです。
リリース14.1-25.x以降、Intel ColetoおよびIntel Lewisburgベースのプラットフォームの一部と、SSL処理がソフトウェアでのみ実行されるプラットフォームでは、最大4096ビットの DH キーを作成できます。以前は、サイズは 2048 ビットに制限されていました。
2048ビットを超えるDHキーを作成するには、NetScalerシェルプロンプトから
OpenSSL
コマンドを使用します。Intel Coleto およびIntel Lewisburg ベースのプラットフォームの詳細については、「 Diffie-Hellman パラメーターの生成と DHE による PFS の実現」を参照してください。
-
PKCS12 キーをインポート:
- 出力ファイル名:最大 63 文字
- PKCS12 ファイル名:最大 63 文字
- パスワードのインポート:最大 31 文字
- PEM パスフレーズ:最大 31 文字
- PEM パスフレーズの確認:最大 31 文字
- PKCS12をエクスポート
- PKCS12 ファイル名:最大 63 文字
- 証明書ファイル名:最大 63 文字
- キーファイル名:最大 63 文字
- エクスポートパスワード:最大 31 文字
- PEM パスフレーズ:最大 31 文字
- CRL 管理:
- CA 証明書ファイル名:最大 63 文字
- CA キーファイル名:最大 63 文字
- CA キーファイルパスワード:最大 31 文字
- インデックスファイル名:最大 63 文字
- 証明書ファイル名:最大 63 文字
- RSA キーの作成:
- キーファイル名:最大 63 文字
- キーサイズ:最大 4096 ビット
- PEM パスフレーズ:最大 31 文字
- パスフレーズの確認:最大 31 文字
- SSL の詳細設定を変更します。
- 最大 CRL メモリサイズ:最大 1024 M バイト
- 暗号化トリガタイムアウト (10 mS ティック): 最大 200
- 暗号化トリガーパケット数:最大 50
- OCSP キャッシュサイズ:最大 512 MB
- 証明書のインストール:
- 証明書とキーのペア名:最大 31 文字
- 証明書ファイル名:最大 63 文字
- 秘密キーファイル名:最大 63 文字
- パスワード:最大 31 文字
- 通知期間:最大 100
- 暗号グループの作成:
- 暗号グループ名:最大 39 文字
- CRL の作成:
- CRL 名:最大 31 文字
- CRL ファイル:最大 63 文字
- URL: 最大 127 文字
- ベース DN: 最大 127 文字
- バインド DN: 最大 127 文字
- パスワード:最大 31 文字
- 日数:最大 31
- SSL ポリシーの作成:
- 名前:最大 127 文字
- SSL アクションの作成:
- 名前:最大 127 文字
- OCSP レスポンダーの作成:
- 名前:最大 32 文字
- URL: 最大 128 文字
- バッチの深さ:最大 8
- バッチ処理遅延:最大 10000
- タイムスキューで生産:最大 86400
- リクエストタイムアウト:最大120000
- 仮想サーバーの作成:
- 名前:最大 127 文字
- リダイレクト URL: 最大 127 文字
- クライアントのタイムアウト:最大 31536000 秒
- サービスの作成:
- 名前:最大 127 文字
- アイドルタイムアウト (秒): クライアント:最大 31536000 サーバー:最大 31536000
- サービスグループの作成:
- サービスグループ名:最大 127 文字
- サーバーID: 最大 4294967295
- アイドルタイムアウト (秒): クライアント:最大値 31536000 サーバー:最大 31536000
- モニターの作成:
- 名前:最大 31 文字
- サーバーを作成:
- サーバー名:最大 127 文字
- ドメイン名:最大 255 文字
- 解決再試行:最大 20939 秒