認証済み 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
) にファイルを保管します。
認証されたオリジンを有効にするには、ゾーンでグローバルにプルします。
- すべての接続を認証するように起点 Web サーバーで証明書をインストールします。
- CIS に **エンドツーエンド - フレキシブル**を構成します。
- クライアント証明書を受け入れるように起点 Web サーバーを構成します。
- CIS CLI を使用して認証済み Origin Pull を有効にします。
顧客証明書を使用したゾーンレベルの認証済みオリジンプル
-
OpenSSL によって生成された ECC 鍵を使用する場合は、まず証明書ファイルから
-----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS-----
を削除します。 -
CIS にアップロードする前に、証明書と鍵が次の形式になっていることを確認します。
$ cat app_example_com.pem -----BEGIN CERTIFICATE----- MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5Nz2gdUySbfzANBgkqhkiG9w0BAQsFADBN MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E ... SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7 -----END CERTIFICATE-----
-
行の終わりをストリング
\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
-
ペイロードを作成します。
$ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF ))
-
CIS CLI を使用してクライアント証明書と秘密鍵をアップロードします。
-
CIS CLI を使用して認証済み Origin Pull を有効にします。
カスタマー証明書を使用するホスト名ごとの認証済み Origin Pull
ホスト名ごとの認証済み Origin Pull を有効にすると、指定したホスト名へのプロキシー・トラフィックはすべて、起点 Web サーバーで認証されます。 独自の公開鍵インフラストラクチャーからのクライアント証明書を使用して、CIS からの接続を認証できます。
CIS 内にクライアント証明書をアップロードするには、以下のようにします。
-
OpenSSL によって生成された ECC 鍵を使用する場合は、まず証明書ファイルから
-----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS-----
を削除します。 -
証明書を CISにアップロードする前に、証明書が以下の形式であることを確認してください。
$ cat app_example_com.pem -----BEGIN CERTIFICATE----- MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E ... SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7 -----END CERTIFICATE-----
-
行の終わりをストリング
\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
-
ペイロードを作成します。
$ request_body=$(< <(cat <<EOF { "certificate": "$MYCERT", "private_key": "$MYKEY" } } EOF ))
-
CIS CLI を使用してクライアント証明書と秘密鍵をアップロードします。
-
CIS CLI を使用して、指定したホスト名での認証済み Origin Pull を有効にします。 特定のホスト名にクライアント証明書をリンクします。
ダウン時間なしのクライアント証明書の置き換え
ホスト名の場合:
- 新しい証明書をアップロードします。
- 新しい証明書 ID およびホスト名と有効になっている値をリンクさせます。
グローバルの場合:
- 新しい証明書をアップロードします。
- 新しい証明書がアクティブ状態であることを確認します
- 証明書がアクティブになった後、それまでの証明書を削除します。
異なるクライアント証明書 (ゾーン・レベルとホスト名レベル) を同時に適用する
- 以下の手順に従って証明書をアップロードしてください。ゾーンレベルの認証済みオリジンプル セクション
- 複数の証明書をアップロードするには、顧客証明書を使用したホスト名ごとの認証済みオリジンプル セクション
Apache および NGINX へのインストール
以下の手順を使用して、NGINX 起点 Web サーバーまたは Apache 起点 Web サーバー用に TLS 認証済み Origin Pull を構成します。
Apache のセットアップ
以下のステップを実行して、エンドツーエンド - フレキシブルを使用して起点 Web サーバーの SSL 構成を更新します。
-
認証済み Origin Pull 証明書 (
origin-pull-ca.pem
) をダウンロードします。 -
起点 Web サーバー上のファイル、例えば
/path/to/origin-pull-ca.pem
に証明書を保管します。 -
起点 Web サーバーの SSL 構成に以下の行を追加します。
SSLVerifyClient require SSLVerifyDepth 1 SSLCACertificateFile /path/to/origin-pull-ca.pem
NGINX のセットアップ
以下のステップを実行して、エンドツーエンド - フレキシブルを使用して起点 Web サーバーの SSL 構成を更新します。
-
認証済み Origin Pull 証明書 (
origin-pull-ca.pem
) をダウンロードします。 -
起点 Web サーバー上のファイル、例えば
/etc/nginx/certs/cloudflare.crt
に証明書を保管します。 -
起点 Web サーバーの SSL 構成に以下の行を追加します。
ssl_client_certificate /etc/nginx/certs/cloudflare.crt; ssl_verify_client on;