第1章 Red Hat Quay の SSL と TLS の設定
Secure Sockets Layer (SSL) プロトコルは、元々はインターネットを介した安全な通信メカニズムを提供するために、Netscape Corporation により開発されました。その後、このプロトコルは、Internet Engineering Task Force (IETF) により採用され、Transport Layer Security (TLS) に名前が変更になりました。
TLS (トランスポート層セキュリティー) は、ネットワーク通信のセキュリティー保護に使用する暗号化プロトコルです。優先する鍵交換プロトコル、認証方法、および暗号化アルゴリズムを設定してシステムのセキュリティー設定を強化する際には、対応するクライアントの範囲が広ければ広いほど、セキュリティーのレベルが低くなることを認識しておく必要があります。反対に、セキュリティー設定を厳密にすると、クライアントとの互換性が制限され、システムからロックアウトされるユーザーが出てくる可能性もあります。可能な限り厳密な設定を目指し、互換性に必要な場合に限り、設定を緩めるようにしてください。
Red Hat Quay は、クライアントと Red Hat Quay サーバー間の安全な通信を確保するために SSL/TLS 証明書を使用するように設定できます。この設定には、有効な SSL/TLS 証明書を使用する必要があります。これは、信頼できる認証局 (CA) から取得するか、内部で使用するための自己署名証明書として生成できます。
1.1. 認証局の作成 リンクのコピーリンクがクリップボードにコピーされました!
独自の CA を設定し、それを使用してドメインのサーバー証明書を発行するには、次の手順に従います。これにより、独自の証明書を使用して SSL/TLS による通信を保護できます。
手順
次のコマンドを入力して、ルート CA キーを生成します。
openssl genrsa -out rootCA.key 2048
$ openssl genrsa -out rootCA.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、ルート CA 証明書を生成します。
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
$ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーのホスト名など、証明書の要求に組み込まれる情報を入力します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力してサーバーキーを生成します。
openssl genrsa -out ssl.key 2048
$ openssl genrsa -out ssl.key 2048
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、署名リクエストを生成します。
openssl req -new -key ssl.key -out ssl.csr
$ openssl req -new -key ssl.key -out ssl.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーのホスト名など、証明書の要求に組み込まれる情報を入力します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のようにサーバーのホスト名を指定して、設定ファイルの
openssl.cnf
を作成します。openssl.cnf
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定ファイルを使用して、証明書
ssl.cert
を生成します。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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、作成した証明書とファイルを確認します。
ls /path/to/certificates
$ ls /path/to/certificates
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
rootCA.key ssl-bundle.cert ssl.key custom-ssl-config-bundle-secret.yaml rootCA.pem ssl.cert openssl.cnf rootCA.srl ssl.csr
rootCA.key ssl-bundle.cert ssl.key custom-ssl-config-bundle-secret.yaml rootCA.pem ssl.cert openssl.cnf rootCA.srl ssl.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow