-
-
-
高度なポリシー式:SSL 証明書の解析
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
高度なポリシー式:SSL の解析
SSL 証明書と SSL クライアントの hello メッセージを解析するための高度なポリシー式があります。
SSL 証明書の解析
高度なポリシー式を使用して、X.509 SSL (セキュアソケットレイヤー) クライアント証明書を評価できます。クライアント証明書は、ユーザーの ID を認証するために使用できる電子ドキュメントです。クライアント証明書には、少なくとも、バージョン情報、シリアル番号、署名アルゴリズム ID、発行者名、有効期間、サブジェクト(ユーザー)名、公開キー、および署名が含まれています。
SSL 接続とクライアント証明書内のデータの両方を調べることができます。たとえば、低強度の暗号を使用する SSL 要求を特定の負荷分散仮想サーバーファームに送信できます。次のコマンドは、要求内の暗号強度を解析し、40 以下の暗号強度を照合するコンテンツスイッチングポリシーの例です。
add cs policy p1 -rule "client.ssl.cipher_bits.le(40)"
<!--NeedCopy-->
別の例として、要求にクライアント証明書が含まれているかどうかを決定するポリシーを設定できます。
add cs policy p2 -rule "client.ssl.client_cert exists"
<!--NeedCopy-->
または、クライアント証明書の特定の情報を検査するポリシーを構成できます。たとえば、次のポリシーでは、証明書の有効期限が 1 日以上前にあることを確認します。
add cs policy p2 -rule "client.ssl.client_cert exists && client.ssl.client_cert.days_to_expire.ge(1)"
<!--NeedCopy-->
注
証明書の日付と時刻の解析については、「 式内の日付と時刻のフォーマット」および 「 SSL 証明書の日付の式」を参照してください。
テキストベースの SSL および証明書データのプレフィックス
次の表では、SSL トランザクションとクライアント証明書でテキストベースの項目を識別する式プレフィックスについて説明します。
表1. SSL およびクライアント証明書データのテキストまたはブール値を返すプレフィックス
前 | 説明 |
---|---|
CLIENT.SSL.CLIENT_CERT | 現在の SSL トランザクションの SSL クライアント証明書を返します。 |
CLIENT.SSL.CLIENT_CERT.TO_PEM | SSL クライアント証明書をバイナリ形式で返します。 |
CLIENT.SSL.CIPHER_EXPORTABLE | SSL 暗号暗号がエクスポート可能な場合は、ブール型 TRUE を返します。 |
CLIENT.SSL.CIPHER_NAME | SSL 接続から呼び出された場合は SSL 暗号の名前を返し、非 SSL 接続から呼び出された場合は NULL 文字列を返します。 |
CLIENT.SSL.IS_SSL | 現在の接続が SSL ベースの場合に TRUE を返します。 |
SSL 証明書の数値データのプレフィックス
次の表では、SSL 証明書の日付以外の数値データを評価するプレフィックスについて説明します。これらのプレフィックスは、 [式接頭辞の基本操作と数値の複合演算で説明されている操作で使用できます](/ja-jp/citrix-adc/13/appexpert/policies-and-expressions/adv-policy-expressions-getting-started/compound-advanced-policy-expressions.html)。
表2. SSL 証明書の日付以外の数値データを評価するプレフィックス
前 | 説明 |
---|---|
CLIENT.SSL.CLIENT_CERT.DAYS_TO_EXPIRE | 証明書が有効である日数を返します。期限切れの証明書の場合は-1 を返します。 |
CLIENT.SSL.CLIENT_CERT.PK_SIZE | 証明書で使用されている公開キーのサイズを返します。 |
CLIENT.SSL.CLIENT_CERT.VERSION | 証明書のバージョン番号を返します。接続が SSL ベースでない場合は、ゼロ (0) を返します。 |
CLIENT.SSL.CIPHER_BITS | 暗号化キーのビット数を返します。接続が SSL ベースでない場合は 0 を返します。 |
CLIENT.SSL.VERSION | 次のように、SSL プロトコルのバージョンを表す数値を返します。0。トランザクションは SSL ベースではありません。; 0x002。トランザクションは SSLv2 です。トランザクションは SSLv3 です。0x301。トランザクションは TLSv1 です。トランザクションは TLS 1.1 です。トランザクションは TLS 1.2 です。0x304 です。トランザクションは TLS 1.3 です。 |
注
証明書の有効期限に関連する式については、「 SSL 証明書日付の式」を参照してください。
SSL 証明書の式
SSL 証明書を解析するには、次のプレフィックスを使用する式を設定します。
CLIENT.SSL.CLIENT_CERT
ここでは、証明書に対して構成できる式について説明します。ただし、証明書の有効期限を調べる式は除きます。時間ベースの操作については、「 高度なポリシー式:日付、時刻、および数字の操作」を参照してください。
次の表に、CLIENT.SSL.CLIENT_CERT プレフィックスに指定できるオペレーションを示します。
表3. クライアント.SSL.CLIENT_CERT プレフィックスで指定できるオペレーション
SSL 証明書の操作 | 説明 |
---|---|
<certificate>.EXISTS |
クライアントに SSL 証明書がある場合は、ブール型 TRUE を返します。 |
<certificate>.ISSUER |
証明書内の発行者の識別名 (DN) を名前/値リストとして返します。等号 (「=」) は名前と値の区切り文字で、スラッシュ (「/」) は名前と値のペアを区切る区切り文字です。返される DN の例を次に示します。 /C=US/O=myCompany/OU=www.mycompany.com/CN=www.mycompany.com/emailAddress=myuserid@mycompany.com
|
<certificate>.ISSUER. IGNORE_EMPTY_ELEMENTS |
Issuer を返し、名前/値リストの空の要素を無視します。たとえば、Cert-Issuer: /c=in/st=kar//l=bangelore //o=mycompany/ou=sales/ /emailAddress=myuserid@mycompany.comを考えてみましょう。次の Rewrite アクションは、前の発行者の定義に基づいて 6 のカウントを返します。sh rewrite action insert_ssl_header Name: insert_ssl Operation: insert_http_header Target:Cert-Issuer Value:CLIENT.SSL.CLIENT_CERT.ISSUER.COUNT 。ただし、値を次のように変更すると、返されるカウントは 9 です。CLIENT.SSL.CLIENT_CERT.ISSUER.IGNORE_EMPTY_ELEMENTS.COUNT
|
SSL クライアントを解析する
SSL クライアントの hello メッセージを解析するには、次のプレフィックスを使用する式を設定します。
前 | 説明 |
---|---|
CLIENT.SSL.CLIENT_HELLO.CIPHERS.HAS_HEXCODE | 式で指定された 16 進コードを、クライアントの hello メッセージで受信した暗号スイートの 16 進コードと一致させます。 |
CLIENT.SSL.CLIENT_HELLO.CLIENT_VERSION | クライアントの hello メッセージヘッダーで受信したバージョン。 |
CLIENT.SSL.CLIENT_HELLO.IS_RENEGOTIATE | クライアントまたはサーバーがセッションの再ネゴシエーションを開始する場合は true を返します。 |
CLIENT.SSL.CLIENT_HELLO.IS_REUSE | アプライアンスが、クライアント hello メッセージで受信した 0 以外のセッション ID に基づいて SSL セッションを再利用する場合、true を返します。 |
CLIENT.SSL.CLIENT_HELLO.IS_SCSV | シグナリング暗号スイート値(SCSV)機能がクライアントの hello メッセージでアドバタイズされている場合は true を返します。フォールバック SCSV の 16 進コードは 0x5600 です。 |
CLIENT.SSL.CLIENT_HELLO.IS_SESSION_TICKET | 0 以外の長さのセッションチケット拡張が、クライアント hello メッセージでアドバタイズされている場合は true を返します。 |
CLIENT.SSL.CLIENT_HELLO.LENGTH | クライアントの hello メッセージヘッダーで受信された長さ。 |
CLIENT.SSL.CLIENT_HELLO.SNI | クライアント hello メッセージのサーバ名拡張子で受信したサーバ名を返します。 |
CLIENT.SSL.CLIENT_HELLO.ALPN.HAS_NEXTPROTOCOL | クライアント hello メッセージで受信された ALPN 拡張内のアプリケーションプロトコルが、式で指定されたプロトコルと一致する場合は true を返します。 |
これらの式は、CLIENTHELLO_REQ バインドポイントで使用できます。詳細については、 SSL ポリシーバインディングを参照してください。
共有
共有
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.