IBM Cloud Docs
認証済み Origin Pull

認証済み Origin Pull

オリジンウェブサーバーはウェブリクエストがどこから来たかを検証しますIBM Cloud® Internet Services認証されたオリジンプルを通じて。 CISほとんどのウェブサーバーでサポートされている機能であるTLSクライアント証明書認証を使用して、 CIS接続を確立する際に証明書CISおよび元の Web サーバー。 起点 Web サーバーでこの証明書を検証することにより、アクセスは CIS 接続に制限されます。

認証済み Origin Pull は、Web アプリケーション・ファイアウォール (WAF) を利用するときに重要になります。 オリジンウェブサーバーが認証済みのオリジンプルを強制すると、 CISあなたの発信元に到達するのをブロックされます。

認証されたオリジン プルは、次のいずれかのオプションを使用して構成されます。

  • ゾーンレベルの認証済みオリジンプルは、 CIS証明書
  • 顧客証明書を使用したゾーンレベルの認証済みオリジンプル
  • 顧客証明書を使用したホスト名ごとの認証済みオリジンプル

削除要求または置換要求が CIS API に送信されない限り、クライアント証明書は期限切れになっても CIS から削除されません。 ただし、オリジンが有効なクライアント証明書のみを受け入れる場合、リクエストはオリジンでドロップされます。

認証済み Origin Pull は、SSL モードが Off (非セキュア) または Client-to-Edge の場合は機能しません。

CIS 証明書を使用したゾーン・レベルの認証済み Origin Pull

CIS は、次の CA を使用して、認証済み Origin Pull サービスの証明書に署名します。

証明書をダウンロードし、起点 Web サーバー上 (例えば /path/to/origin-pull-ca.pem) にファイルを保管します。

認証されたオリジンを有効にするには、ゾーンでグローバルにプルします。

  1. すべての接続を認証するように起点 Web サーバーで証明書をインストールします。
  2. CIS に **エンドツーエンド - フレキシブル**を構成します。
  3. クライアント証明書を受け入れるように起点 Web サーバーを構成します。
  4. CIS CLI を使用して認証済み Origin Pull を有効にします。

顧客証明書を使用したゾーンレベルの認証済みオリジンプル

  1. OpenSSL によって生成された ECC 鍵を使用する場合は、まず証明書ファイルから -----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS----- を削除します。

  2. CIS にアップロードする前に、証明書と鍵が次の形式になっていることを確認します。

    $ cat app_example_com.pem
    -----BEGIN CERTIFICATE-----
    MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5Nz2gdUySbfzANBgkqhkiG9w0BAQsFADBN
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
    ...
    SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
    OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
    -----END CERTIFICATE-----
    
  3. 行の終わりをストリング \n に置き換えます。

    MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')" $ MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'| sed -e's/..$//')"
    
    echo $MYCERT -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/ 2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/ 3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
    
  4. ペイロードを作成します。

    $ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF ))

  5. CIS CLI を使用してクライアント証明書と秘密鍵をアップロードします。

  6. CIS CLI を使用して認証済み Origin Pull を有効にします。

カスタマー証明書を使用するホスト名ごとの認証済み Origin Pull

ホスト名ごとの認証済み Origin Pull を有効にすると、指定したホスト名へのプロキシー・トラフィックはすべて、起点 Web サーバーで認証されます。 独自の公開鍵インフラストラクチャーからのクライアント証明書を使用して、CIS からの接続を認証できます。

CIS 内にクライアント証明書をアップロードするには、以下のようにします。

  1. OpenSSL によって生成された ECC 鍵を使用する場合は、まず証明書ファイルから -----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS----- を削除します。

  2. 証明書を CISにアップロードする前に、証明書が以下の形式であることを確認してください。

    $ cat app_example_com.pem
    -----BEGIN CERTIFICATE-----
    MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
    ...
    SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
    OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
    -----END CERTIFICATE-----
    
  3. 行の終わりをストリング \n に置き換えます。

    MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')" $ MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')"
    
    echo $MYCERT -----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
    
  4. ペイロードを作成します。

    $ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF ))

  5. CIS CLI を使用してクライアント証明書と秘密鍵をアップロードします。

  6. CIS CLI を使用して、指定したホスト名での認証済み Origin Pull を有効にします。 特定のホスト名にクライアント証明書をリンクします。

ダウン時間なしのクライアント証明書の置き換え

ホスト名の場合:

  1. 新しい証明書をアップロードします。
  2. 新しい証明書 ID およびホスト名と有効になっている値をリンクさせます。

グローバルの場合:

  1. 新しい証明書をアップロードします。
  2. 新しい証明書がアクティブ状態であることを確認します
  3. 証明書がアクティブになった後、それまでの証明書を削除します。

異なるクライアント証明書 (ゾーン・レベルとホスト名レベル) を同時に適用する

  1. 以下の手順に従って証明書をアップロードしてください。ゾーンレベルの認証済みオリジンプル セクション
  2. 複数の証明書をアップロードするには、顧客証明書を使用したホスト名ごとの認証済みオリジンプル セクション

Apache および NGINX へのインストール

以下の手順を使用して、NGINX 起点 Web サーバーまたは Apache 起点 Web サーバー用に TLS 認証済み Origin Pull を構成します。

Apache のセットアップ

以下のステップを実行して、エンドツーエンド - フレキシブルを使用して起点 Web サーバーの SSL 構成を更新します。

  1. 認証済み Origin Pull 証明書 (origin-pull-ca.pem) をダウンロードします。

  2. 起点 Web サーバー上のファイル、例えば /path/to/origin-pull-ca.pem に証明書を保管します。

  3. 起点 Web サーバーの SSL 構成に以下の行を追加します。

    SSLVerifyClient require
    SSLVerifyDepth 1
    SSLCACertificateFile /path/to/origin-pull-ca.pem
    

NGINX のセットアップ

以下のステップを実行して、エンドツーエンド - フレキシブルを使用して起点 Web サーバーの SSL 構成を更新します。

  1. 認証済み Origin Pull 証明書 (origin-pull-ca.pem) をダウンロードします。

  2. 起点 Web サーバー上のファイル、例えば /etc/nginx/certs/cloudflare.crt に証明書を保管します。

  3. 起点 Web サーバーの SSL 構成に以下の行を追加します。

    ssl_client_certificate /etc/nginx/certs/cloudflare.crt;
    ssl_verify_client on;