Citrix ADC ingress controller

Citrix ingress controller を使用したCitrix ADCでのTLSサーバー認証のサポート

サーバー認証により 、クライアントはアクセスしている Web サーバーの信頼性を検証できます。 通常、Citrix ADCデバイスはWebサーバーに代わってSSLオフロードとアクセラレーションを実行し、Webサーバーの証明書を認証しません。ただし、エンドツーエンド SSL 暗号化を必要とする展開環境では、サーバを認証できます。

このような状況では、Citrix ADC デバイスがSSLクライアントになり、以下を実行します。

  • SSL サーバーとの安全なトランザクションを実行する
  • 証明書が SSL サービスにバインドされている CA がサーバー証明書に署名したことを検証します
  • は、サーバ証明書の有効性をチェックします。

サーバーを認証するには、まずサーバー認証を有効にしてから、サーバーの証明書に署名したCAの証明書をCitrix ADCアプライアンスのSSLサービスにバインドする必要があります。証明書をバインドするときは、バインドを CA オプションとして指定する必要があります。

TLS サーバ認証の設定

TLS サーバ認証を設定するには、次の手順を実行します。

  1. Citrix ADCでTLSサポートを有効にします。

    Citrix ingress controller は、Citrix ADC での TLS サポートのイネーブラーとして、イングレス定義の TLS セクションを使用します。 Ingress 定義のサンプルスニペットは次のとおりです。

    spec:
      tls:
       - secretName:
    
  2. 既存の証明書の Kubernetes シークレットを生成するには、次の手順を実行します。

    1. サービスで使用するクライアント証明書を生成します。

      kubectl create secret tls tea-beverage --cert=path/to/tls.cert --key=path/to/tls.key --namespace=default
      
    2. 既存の CA 証明書のシークレットを生成します。この証明書は、バックエンドサーバー証明書に署名するために必要です。

      kubectl create secret generic tea-ca --from-file=tls.crt=cacerts.pem
      

    注:

    シークレットの作成時にtls.crt=を指定する必要があります。このファイルは、CAシークレットを解析する際にCitrix ingress controller によって使用されます。

  3. Ingress 設定で以下のアノテーションを使用して、サービスへのセキュアなバックエンド通信を有効にします。

     ingress.citrix.com/secure-backend: "True" 
    
  4. 証明書を SSL サービスにバインドするには、次のアノテーションを使用します。この証明書は、Citrix ADCがクライアントとして機能し、要求をバックエンドサーバーに送信する場合に使用されます。

    ingress.citrix.com/backend-secret: '{"tea-beverage": "tea-beverage", "coffee-beverage": "coffee-beverage"}'
    
  5. バックエンドサーバー証明書を認証するサーバー認証を有効にするには、次のアノテーションを使用できます。この構成では、サーバーのCA証明書がCitrix ADC上のSSLサービスにバインドされます。

     ingress.citrix.com/backend-ca-secret: '{"coffee-beverage":"coffee-ca", "tea-beverage":"tea-ca"}
    
Citrix ingress controller を使用したCitrix ADCでのTLSサーバー認証のサポート

この記事の概要