検索

付録A SSL/TLS 証明書の設定

download PDF
「director の設定」または「オーバークラウドの SSL/TLS の有効化」で説明したプロセスのオプションとして、アンダークラウドまたはオーバークラウドのいずれかでの通信に SSL/TLS を設定できます。ただし、独自の認証局で発行した SSL/TLS 証明書を使用する場合には、その証明書には特定の設定をして使用する必要があります。

認証局の作成

通常、SSL/TLS 証明書の署名には、外部の認証局を使用します。場合によっては、独自の認証局を使用する場合もあります。たとえば、内部のみの認証局を使用するように設定する場合などです。
たとえば、キーと証明書のペアを生成して、認証局として機能するようにします。
$ openssl genrsa -out ca.key.pem 4096
$ openssl req  -key ca.key.pem -new -x509 -days 7300 -extensions v3_ca -out ca.crt.pem
openssl req コマンドは、認証局に関する特定の情報を要求します。それらの情報を指定してください。
これにより、ca.crt.pem という名前の証明書ファイルが作成されます。Red Hat Openstack Platform 環境にアクセスする予定の各クライアントにこのファイルをコピーしてから、以下のコマンドを実行して、認証局のトラストバンドルに追加します。
$ sudo cp ca.crt.pem /etc/pki/ca-trust/source/anchors/
$ sudo update-ca-trust extract

SSL/TLS 証明書の作成

次の手順では、アンダークラウドおよびオーバークラウドのいずれか用の署名済み証明書を作成します。
カスタマイズするデフォルトの OpenSSL 設定ファイルをコピーします。
$ cp /etc/pki/tls/openssl.cnf .
カスタムの openssl.cnf ファイルを編集して、director に使用する SSL パラメーターを設定します。変更するパラメーターの種別には以下のような例が含まれます。
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = AU
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Queensland
localityName = Locality Name (eg, city)
localityName_default = Brisbane
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = Red Hat
commonName = Common Name
commonName_default = 192.168.0.1
commonName_max = 64

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
IP.1 = 192.168.0.1
DNS.1 = 192.168.0.1
DNS.2 = instack.localdomain
DNS.3 = vip.localdomain

重要

commonName_default をパブリック API の IP アドレスに設定するか、完全修飾ドメイン名を使用している場合は完全修飾ドメイン名に設定します。
  • アンダークラウドでは、undercloud.confundercloud_public_vip パラメーターを使用します。この IP アドレスの完全修飾ドメイン名を使用する場合は、そのドメイン名を使用してください。
  • オーバークラウドでは、パブリック API の IP アドレスを使用します。これは、ネットワーク分離環境ファイルにある ExternalAllocationPools パラメーターの最初のアドレスです。この IP アドレスに完全修飾ドメイン名を使用する場合には、そのドメイン名を使用します。
alt_names セクションの IP エントリーおよび DNS エントリーとして、同じパブリック API の IP アドレスを追加します。DNS も使用する場合は、同じセクションに DNS エントリーとしてそのサーバーのホスト名を追加します。openssl.cnf の詳しい情報は man openssl.cnf を実行してください。
以下のコマンドを実行して、キー (server.key.pem)、証明書の署名要求 (server.csr.pem)、および署名済みの証明書 (server.crt.pem) を生成します。
$ openssl genrsa -out server.key.pem 2048
$ openssl req -config openssl.cnf -key server.key.pem -new -out server.csr.pem
$ sudo openssl ca -config openssl.cnf -extensions v3_req -days 3650 -in server.csr.pem -out server.crt.pem -cert ca.cert.pem

重要

openssl req コマンドは、Common Name を含む、証明書に関するいくつかの情報を尋ねます。Common Name は、(作成する証明書セットに応じて) アンダークラウドまたはオーバークラウドのパブリック API の IP アドレスに設定するようにしてください。openssl.cnf ファイルは、この IP アドレスをデフォルト値として使用する必要があります。
このキーペアを使用して、アンダークラウドまたはオーバークラウドのいずれかの SSL/TTL 証明書を作成します。

アンダークラウドで証明書を使用する場合

以下のコマンドを実行して証明書を作成します。
$ cat server.crt.pem server.key.pem > undercloud.pem
これにより、undercloud.conf ファイルの undercloud_service_certificate オプションに使用するための undercloud.pem が作成されます。このファイルは、HAProxy ツールが読み取ることができるように、特別な SELinux コンテキストが必要です。以下の例をガイドとして利用してください。
$ sudo mkdir /etc/pki/instack-certs
$ sudo cp ~/undercloud.pem /etc/pki/instack-certs/.
$ sudo semanage fcontext -a -t etc_t "/etc/pki/instack-certs(/.*)?"
$ sudo restorecon -R /etc/pki/instack-certs
アンダークラウドの信頼済みの認証局 (CA) 一覧に証明書を追加します。
$ sudo cp ca.crt.pem /etc/pki/ca-trust/source/anchors/
$ sudo update-ca-trust extract
undercloud.conf ファイルの undercloud_service_certificate オプションに undercloud.pem の場所を追記します。以下に例を示します。
undercloud_service_certificate = /etc/pki/instack-certs/undercloud.pem
「director の設定」に記載の手順に従ってアンダークラウドのインストールを続行します。

オーバークラウドで証明書を使用する場合

「オーバークラウドの SSL/TLS の有効化」enable-tls.yaml ファイルと合わせてこの証明書を使用します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.