センサーをプロキシサーバーとして使用する
DigiCert® センサーには、DigiCert® エージェントやその他のクライアントが DigiCert® Trust Lifecycle Manager に接続して証明書を要求するためのプロキシサーバーが組み込まれています。
デフォルトでは、センサーのプロキシサーバー機能は有効になっています。この機能は、ACME、EST、SCEP など、よく知られた証明書登録プロトコルをサポートする透過的な HTTP プロキシを提供します。
注記
複数の DigiCert センサーがインストールされていて、プロキシとして使用されているネットワークでは、DigiCert エージェントは、プライマリセンサーへの接続で問題が発生した場合に自動的にフェイルオーバーして別のセンサーを使用するように設計されています。
プロキシサーバーの機能
センサーのプロキシサービスは、Trust Lifecycle Manager への透過的な HTTP ベースのプロキシアクセスを提供します。
センサーは、ローカルのプロキシクライアントからの暗号化された HTTPS/SSL トラフィックを Trust Lifecycle Manager に転送しますが、センサー自体がこのようなトラフィックを復号化することはできず、HTTP/2 や TLS-ALPN などの先進的なプロトコルはサポートしていません。
プロキシサーバーを構成する
デフォルト設定
デフォルトでは、センサープロキシサーバーは有効になっており、次のように設定されています。
TCP ポート 48999 でリッスン
digicert.com ドメインへのアウトバウンドプロキシアクセスを許可
構成ファイルとパラメータ
センサーホスト上のセンサーインストール先 config サブディレクトリにある以下のファイルが、アクティブなプロキシサーバー設定を構成します。
ファイル | 説明 |
|---|---|
webserver.properties | センサーがプロキシクライアントに対してリッスンする IP アドレスと TCP ポートを、次のパラメータを介して設定します。
|
useproxy.properties | 許可されたドメインとホスト名にアウトバンドプロキシアクセスを設定します。
|
設定を更新する
センサーがプロキシクライアントに対してリッスンする TCP ポート番号を更新するには、以下のいずれかの方法を使用します。
Trust Lifecycle Manager Web コンソールで、[Discovery & automation tools > Sensors]ページに進み、センサーを編集して新しいプロキシリスニングポートを設定します。
センサーのホスト上の webserver.properties 構成ファイル内の
heartbeatportパラメータを更新してから、センサーサービスを再起動します。
プロキシクライアントアクセスのためのアクティブな IP アドレスや許可されたドメイン/ホスト名を更新するには、センサーホスト上の構成ファイルを編集してから、センサーサービスを再起動します。
センサープロキシに接続する
アクセス要件
センサープロキシサーバーに接続するには、次の要件を満たす必要があります。
プロキシクライアントに、センサーホストへの基本 IP ネットワーク接続が必要です。
センサーホスト上のファイアウォールで、センサープロキシ IP アドレスおよび TCP ポートへのアクセスを許可する必要があります。
ヒント
デフォルトでは、センサープロキシサーバーは有効になっています。センサーのインストール後、センサーホストのファイアウォールでデフォルト TCP ポート 48999 を開き、プロキシクライアントアクセスをデフォルト設定で許可することから始めます。
DigiCert エージェント
DigiCert エージェントのインストール中、プロキシクライアント設定を構成するよう求められたら、[DigiCert sensor as proxy]オプションを選択します。その後の画面で、センサーの IP アドレスとプロキシリスニングポートを入力します。
複数のエージェントの一括サイレントモードインストールの場合、インストールスクリプト(Windows 版エージェント)またはインストールコマンド(Linux 版エージェント)でプロキシとして使用するセンサーの IP アドレスとセンサーのポートを設定します。
エージェントが接続されたら、Trust Lifecycle Manager では、エージェントは、アカウントで使用可能なすべてのセンサーのリストで常に最新の状態に保たれます。複数のセンサーがある場合にプライマリセンサーに障害が発生すると、エージェントは別のセンサーをプロキシとして使用して Trust Lifecycle Manager へのフォールトトレラントな接続を維持します。
その他のクライアント
その他のクライアントは、HTTP と HTTPS のプロキシホストのいずれでも、http://{sensor-host}:{port} の形式を使用してセンサープロキシサーバーに接続できます。
たとえば、センサーの IP アドレスが 10.1.2.3 で、センサーがプロキシサーバーのポート 48999 でリッスンする場合、プロキシクライアントは http://10.1.2.3:48999 を使用して接続する必要があります。
コマンドラインでプロキシホストの引数を受け入れないクライアントの場合は、センサープロキシサーバーを構成するために環境変数またはクライアント設定を使用します。たとえば、次の環境変数は Linux システム上のプロキシホストを指定します。
HTTP_PROXY=http://10.1.2.3:48999 HTTPS_PROXY=http://10.1.2.3:48999
プロキシクライアントの例
以下の例は、さまざまな登録プロトコルとクライアントを通じて証明書を要求し、中間の DigiCert センサーをプロキシサーバーとして使用して Trust Lifecycle Manager に接続する方法を示しています。
以下の例で、センサーの IP アドレスは 10.1.2.3 で、センサーがリッスンするデフォルトのプロキシサーバーポートは 48999 です。
ACME と Certbot クライアント(Linux)
Certbot ACME クライアントでセンサーをプロキシとして使用するには、Trust Lifecycle Manager に証明書を要求する前に、環境変数としてプロキシホスト設定を指定します。例:
export HTTP_PROXY=http://10.1.2.3:48999 export HTTPS_PROXY=http://10.1.2.3:48999 certbot --nginx --register-unsafely-without-email --eab-kid zcskpf8sCnHGBsbCOgnv1ijy00l6UeEYCavSSSirl-k --eab-hmac-key DDDraHBXQUxWTEFGdFhndjRVNmV4t4F6c2VNZDM1QzRURGhjdHF3S1NublJjN0dhVUFObzA0SXJwVHBnU2yyUH --server https://one.digicert.com/mpki/api/v1/acme/v2/directory --config-dir /usr/local/certbot/my_public_webserver_config/ -d example.com -d www.example.com --manual --preferred-challenges dns
EST と Curl クライアント(Windows)
この例は、EST ベースの登録要求を Window システムで Curl を通じて送信し、中間の DigiCert センサーをプロキシとして使用して Trust Lifecycle Manager に要求を中継する方法を示しています。Curl クライアントは、プロキシサーバーの詳細を指定する proxy コマンド引数を受け入れます。
curl.exe --insecure --proxy "http://10.1.2.3:48999" "https://one.digicert.com/mpki/api/v1/.well-known/est/4f3c11e5-ca1c-4a06-be3c-8ce8d5a1a5e3/simpleenroll" --http1.1 --no-alpn --no-npn -X "POST" --header "Authorization: Basic zVEVTVDEyMzQ1z" --header "Content-Type: text/plain" --data-binary "@./request.csr" -o "sensortest03.der.p7b" -v
SCEP と Java ベースの DigiCert クライアント(Windows)
この例は、Windows システム上の DigiCert SCEP クライアントを通じて、センサーをプロキシとして使用して Trust Lifecycle Manager に証明書を要求する方法を示しています。DigiCert SCEP クライアントは、コマンド引数としてプロキシホスト設定を受け入れます。
java.exe -Dhttp.proxyHost=10.1.2.3 -Dhttp.proxyPort=48999 -Dhttps.proxyHost=10.1.2.3 -Dhttps.proxyPort=48999 -jar C:\DigiCertSCEPClient-1.1\DigiCertSCEPClient.jar -url http://one.digicert.com/mpki/api/v1/scep/6816fe25-9c99-499e-9955-f9d8e0888f14/cgi-bin/pkiclient.exe -operation enroll -csr .\example.csr -debug true
注記
Java ベースの DigiCert SCEP クライアントは、テストのみを目的としており、本番環境での使用は意図されていません。その他の SCEP クライアントの場合は、ドキュメントを参照してプロキシホストやその他のオプションの指定方法を確認してください。