セキュア・デプロイメント用の様々なタイプの証明書の作成
証明書は、単一の(または同じ)デプロイメントまたはハブ・デプロイメント内にDistibution ServiceとReciver Serviceからの分散パスを持つデプロイメントを構成するときに使用されます。
クライアント証明書、サーバー証明書および信頼できるチェーン証明書を作成してセキュアなOracle GoldenGate Microservices Architectureデプロイメントを設定する方法を次に示します。
親トピック: セキュアなデプロイメント用の証明書の作成
自己署名付きの信頼できる(ルート)証明書の作成
OGG_HOME/bin
ディレクトリのorapki
を使用できます。
ノート:
「証明書管理」ページの「CA証明書」セクションを使用して非CA自己署名証明書を信頼できる証明書として追加することはサポートされていないため、エラーになります。orapki
を使用してルート証明書を作成する方法を次の例で示します。
orapki
で生成されたウォレットを設定する方法が示されています。# 1. (Self-Signing) Root Certificate
orapki wallet create -wallet ${WORKDIR}/wallet_SRC/rootCA_SRC -auto_login -pwd welcome123 -nologo
orapki wallet add -wallet ${WORKDIR}/wallet_SRC/rootCA_SRC -dn "CN=RootCA_SRC" -addext_basic_cons -pathlen 10 -keysize 2048 \
-self_signed -validity 1825 \
-pwd welcome123 -nologo
orapki wallet export -wallet ${WORKDIR}/wallet_SRC/rootCA_SRC -dn "CN=RootCA_SRC" -cert ${WORKDIR}"/wallet_SRC/rootCA_SRC_CERT.pem" -pwd welcome123 -nologo
# 2. Server Certificate
orapki wallet create -wallet ${WORKDIR}"/wallet_SRC/server_"${v_hostname} -auto_login -pwd welcome123 -nologo
orapki wallet add -wallet ${WORKDIR}"/wallet_SRC/server_"${v_hostname} -dn "CN=${v_hostname}" \
-addext_basic_cons -pathlen 10 -keysize 2048 \
-pwd welcome123 -nologo
orapki wallet export -wallet ${WORKDIR}"/wallet_SRC/server_"${v_hostname} -dn "CN=${v_hostname}" \
-request ${WORKDIR}"/wallet_SRC/server_"${v_hostname}"_req.pem" -pwd welcome123 -nologo
orapki cert create -wallet ${WORKDIR}/wallet_SRC/rootCA_SRC \
-request ${WORKDIR}"/wallet_SRC/server_"${v_hostname}"_req.pem" \
-cert ${WORKDIR}"/wallet_SRC/server_"${v_hostname}"_Cert.pem" \
-serial_num 25 -validity 365 -pwd welcome123 -nologo
orapki wallet add -wallet ${WORKDIR}"/wallet_SRC/server_"${v_hostname} \
-trusted_cert -cert ${WORKDIR}"/wallet_SRC/rootCA_SRC_CERT.pem" -pwd welcome123 -nologo
orapki wallet add -wallet ${WORKDIR}"/wallet_SRC/server_"${v_hostname} \
-user_cert -cert ${WORKDIR}"/wallet_SRC/server_"${v_hostname}"_Cert.pem" -pwd welcome123 -nologo
# 3. Distribution Server Certificate
orapki wallet create -wallet ${WORKDIR}/wallet_SRC/client_SRC -auto_login -pwd welcome123 -nologo
orapki wallet add -wallet ${WORKDIR}/wallet_SRC/client_SRC -dn "CN=client_SRC" -keysize 2048 -pwd welcome123 -nologo
orapki wallet export -wallet ${WORKDIR}/wallet_SRC/client_SRC -dn "CN=client_SRC" \
-request ${WORKDIR}/wallet_SRC/client_SRC_req.pem -pwd welcome123 -nologo
orapki cert create -wallet ${WORKDIR}/wallet_SRC/rootCA_SRC \
-request ${WORKDIR}/wallet_SRC/client_SRC_req.pem \
-cert ${WORKDIR}/wallet_SRC/client_SRC_Cert.pem \
-serial_num 26 -validity 365 -pwd welcome123 -nologo
親トピック: セキュア・デプロイメント用の様々なタイプの証明書の作成
サーバー証明書の作成
root_ca
という名前のルート証明書を使用してサーバー証明書を作成する方法の例です。
親トピック: セキュア・デプロイメント用の様々なタイプの証明書の作成
クライアント証明書の作成
親トピック: セキュア・デプロイメント用の様々なタイプの証明書の作成
信頼できる証明書の設定
TLS接続には2つのタイプがあります。TLSを使用するには、証明書のトラスト・チェーンに対する特定の要件があります。
wss
通信プロトコルは、Oracle GoldenGate Microservices ArchitectureのTLSを使用したセキュアな通信のニーズを満たすために、分散パスのDistribution Serviceで使用されます。
ノート:
Service Managerの証明書管理Webインタフェースの「CA証明書」セクションを使用して非CA自己署名証明書を信頼できる証明書として追加することはサポートされていないため、エラーになります。外部アイデンティティ・プロバイダに対する信頼できる証明書としてのサーバーのCA証明書の設定
IDCSなどの外部アイデンティティ・プロバイダ(IDP)を使用するには、IDPサーバーの(IDCS) CA証明書を信頼できる証明書としてアップロードする必要があります。
「デプロイメントの証明書の管理」を参照してください。
Distribution ServiceとReceiver Service
Distribution ServiceとReceiver Serviceの両方に証明書が必要です。Distribution Serviceは、アウトバウンド・セクションのクライアント・ウォレットの場所にある証明書を使用します。そのウォレットの場所は、deployment_home/etc/conf
のdeploymentConfiguration.dat
ファイルで確認できます。
両方のウォレット内の証明書は、相互に信頼されることが必要なため、その両方にOracle GoldenGate Microservices Architectureによって発行された商用証明書を用意するか、それぞれの自己署名証明書を相互に信頼する必要があります。
-
同じルート証明書で両方の証明書に署名します。(
rootCA
) -
相手側の証明書を信頼できる証明書としてローカル・ウォレットに追加します
Receiver Serviceの場合、証明書はローカル・ウォレットの場所に対応するウォレット内にあります。この場所はdeploymentConfiguration.dat
ファイル内にもあります。
Distribution Serviceでは、Receiver Serviceの証明書で使用されているホスト名が適切にルーティングできない場合、そのホストの正しいIPアドレスで/etc/hosts
ファイルを更新する必要があります。Distribution Serviceは、Receiver Serviceからの証明書を受け入れると、このIPアドレスをReceiver Serviceとの通信に使用するようになります。
Distribution ServiceおよびReceiver Serviceでのリバース・プロキシ(NGINX)の使用
Nginx証明書を信頼できる証明書としてDistribution Serviceのクライアント・ウォレットに追加します。その他の作業は不要です。通常、NGINXで使用される証明書は自己署名されています。
Nginx証明書のホスト名もルーティング可能なものであることが必要です。そうなっていない場合は、Distribution Serviceで、そのホスト名の正しいIPアドレスを反映するように、/etc/hosts
ファイルを更新する必要があります。Distribution Serviceは、証明書のホスト名を使用してターゲットと通信します。NGINX証明書に有効なホスト名が記述されていないときに、サブジェクト代替名レコードがある場合、そこに示されるDNS名がホスト名になります。
「Oracle GoldenGate MicroservicesにアクセスするためのNGINXによるリバース・プロキシの構成」を参照してください
親トピック: セキュア・デプロイメント用の様々なタイプの証明書の作成
ターゲット・デプロイメントでのRootCA外部証明書の作成
次のステップを使用して、ソース・デプロイメントとは異なるターゲット・デプロイメントのルートCA外部証明書および分散クライアント証明書としてサーバー証明書を作成および管理します。
client_src_to_trg.cfg
)ファイルのサンプルを次に示します。[ req ]
default_bits = 4096
default_md = sha512
prompt = no
encrypt_key = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
commonName = "client_src_to_trg"
[ my_extensions ]
# client certificate
openssl req -new -newkey rsa:2048 -nodes -keyout client.key -out client.csr -config client.cfg
openssl x509 -req -days 73000 -in client.csr -CA rootCA_extern.cert -CAkey rootCA_extern.key -CAcreateserial -out client.cert
rootCA_extern.cfg
構成ファイルのサンプルを次に示します:[ req ]
default_bits = 4096
default_md = sha512
prompt = no
encrypt_key = no
distinguished_name = req_distinguished_name
req_extensions = v3_req
x509_extensions = v3_ca
x509_extensions = usr_cert
[ req_distinguished_name ]
#countryName = "US"
#stateOrProvinceName = "CA"
#localityName = "Redwood City"
#streetAddress = "400 Oracle Pkwy"
#organizationName = "Oracle USA Inc"
#organizationalUnitName = "Security"
commonName = "rootCA_extern"
#emailAddress = "rootsecurity@oracle.com"
[ v3_req ]
basicConstraints=CA:TRUE
[ v3_ca ]
basicConstraints=CA:TRUE
[ usr_cert ]
basicConstraints=CA:TRUE
[ my_extensions ]
rootCA外部証明書を生成するコマンドは次のとおりです:
# rootCA certificate
openssl req -x509 -newkey rsa:4096 -keyout rootCA_extern.key -out rootCA_extern.cert -days 73000 -nodes -config rootCA_extern.cfg
親トピック: セキュア・デプロイメント用の様々なタイプの証明書の作成