第2章 SSL を使用した Red Hat Quay への接続の保護
本書では、単一ノード、または 高可用性 デプロイメントに Red Hat Quay をデプロイしていることを前提としています。
自己署名証明書 で Red Hat Quay を設定するには、認証局 (CA) を作成し、必要なキーおよび証明書ファイルを生成する必要があります。次に、Red Hat Quay Config Tool またはコマンドラインを使用してこれらのファイルを入力します。
2.1. CA を作成して証明書に署名する リンクのコピーリンクがクリップボードにコピーされました!
ルート CA を作成します。
openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
$ openssl genrsa -out rootCA.key 2048 $ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow その結果、カレントディレクトリーに rootCA.key と rootCA.pem のファイルが作成されます。
証明書およびプライベートキーの作成: Red Hat Quay が TLS を処理する場合は、設定時に指定する証明書およびプライベートキーを作成する必要があります。これらのファイルは署名認証局 (certificate signing authority) から取得できます。ここでは、作成した自己署名認証局を使用してこれらのファイルを作成する方法を説明します。
この例では、device.crt ファイルおよび device.key ファイルを作成します。これらのファイルは Red Hat Quay にアップロードされ、名前 (ssl.cert と ssl.key) の変更が行われます。
OpenShift は長い完全修飾ドメイン名を作成するため、Red Hat Quay アプリケーションへの特定のルートを使用する代わりに、ワイルドカードを使用して大規模なドメインを特定できるようにすることを検討してください。例えば、サーバーのホスト名を聞かれたら、*.apps.openshift.example.com のように入力します。
Common Name (eg, your name or your server's hostname) []:*apps.openshift.example.com
Common Name (eg, your name or your server's hostname) []:*apps.openshift.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openssl genrsa -out device.key 2048 openssl req -new -key device.key -out device.csr
$ openssl genrsa -out device.key 2048 $ openssl req -new -key device.key -out device.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow そして、先ほど作成したルート CA で証明書に署名します。
openssl x509 -req -in device.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
$ openssl x509 -req -in device.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out device.crt -days 500 -sha256
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
先ほどの*.key と*.crt ファイルを生成する代わりに、openssl.cnf
ファイルを作成することができます。これにより、証明書要求を生成するコマンドのプロンプトに応答するだけで取得できる情報よりも多くの情報を生成される証明書に追加できます。以下の例の openssl.cnf
ファイルでは、DNS.1
と IP.1
を、Red Hat Quay サーバーのホスト名および IP アドレスに置き換えます。
openssl.cnf
そして、次のようにして鍵を生成することができます。
openssl x509 -req -in ssl.csr -CA rootCA.pem \ -CAkey rootCA.key -CAcreateserial -out ssl.cert \ -days 356 -extensions v3_req -extfile openssl.cnf
$ openssl x509 -req -in ssl.csr -CA rootCA.pem \
-CAkey rootCA.key -CAcreateserial -out ssl.cert \
-days 356 -extensions v3_req -extfile openssl.cnf