Generating SSL files for HA PEM backend hosts

Generating SSL files for HA PEM backend hosts#

このページでは、 HA PEMバックエンドのSSLファイルを生成する方法について説明します。

外部CAを使用する場合#

!!!注

SSL対応のPostgresクラスターをプロビジョニングする既存のプロセスがある場合、これらの条件は既に満たされている可能性があります。 この場合、それ以上のアクションは必要ありません。

オプションで、証明書失効リストCRLが利用可能な場合は、それを含めることができます。

これらのファイルがpostgres またはenterprisedb ユーザーとグループが所有していること、および権限が0600 に設定されていることを確認します。

sslutilsを使用する場合#

HA展開では、PEMは、クラスターマネージャーとの衝突を回避するためにクラスターを構成または再起動しません。したがって、sslutilsは手動で構成する必要があります。

!!!注 これらの手順はpostgres またはenterprisedb ユーザーとして実行して、ファイルの所有権が正しいことを確認します。

  1. 認証局として機能するときにsslutilsが使用する単一の証明書とキーペアを生成します。これらを各バックエンドホストのPGDATAに配置します。

openssl genrsa -out ca_key.key 2048

openssl req -x509 -new -nodes -key ca_key.key -sha256 -days 3650 \
-out ca_certificate.crt \
-subj "/C=.../ST=.../L=.../O=.../CN=PEM CA"
  1. 各バックエンドホストで、ca_certificate.crt のコピーを作成し、root.crt という名前を付けます。これもPGDATAに保存する必要があります。

  2. 各バックエンドホストで、サーバーキーを生成し、CAによって署名されたサーバー証明書を生成します。クライアント接続にverify-full SSLモードを使用する予定がある場合、共通名がサーバーのDNS名と一致することが重要です。

openssl genrsa -out server.key 2048

openssl req -new -key server.key -out server.csr \
    -subj "/C=.../ST=.../L=.../O=.../CN=..."

openssl x509 -req -in server.csr -CA ca_certificate.crt -CAkey ca_key.key \
    -CAcreateserial -out server.crt -days 3650 -sha256
  1. キーファイルと証明書ファイルのアクセス許可を設定し、CSRを削除します。

chmod 0600 ca_certificate.crt
chmod 0600 ca_key.key
chmod 0600 root.crt
chmod 0600 server.crt
chmod 0600 server.key
rm server.csr