SSL認証を行うには、認証局(CA)に証明書を発行してもらう手続きが必要です。また、以下のようなSSL証明書の配置が必要です。
クライアント証明書と、それに対する秘密鍵はSSL接続するユーザー分、用意する必要があります。
ユーザーごとに異なる証明書を利用可能とするために、クライアントSSL証明書とその秘密鍵に対するデフォルトのファイル名は、(接続ユーザー名).crt、(接続ユーザー名).keyとしています。このデフォルト値は、ユーザーマッピングの自動作成時にそのオプションに記録しています。もし、任意のファイル名を利用したい場合は、その値を変更してください。 詳細は、“5.5.1 ユーザーマッピングの自動作成”を参照してください。
FUJITSU Enterprise Postgresでサポートしている証明書の規格は、“運用ガイド”の“証明書発行の手続き”を参照してください。
以下にセットアップ手順を示します。
“図3.1 スケールアウト環境におけるSSL接続構成例(全ノード同じユーザーで接続する場合)”を参考に、以下の手順で作成および配置します。
a) 中央管理ノードでサーバ秘密鍵を作成
b) サーバ秘密鍵のパスフレーズを解除
c) サーバ秘密鍵からCSR(サーバ証明書を取得するための署名要求)を作成
d) 認証局(CA)に証明書を申請
e) CAからサーバ証明書およびCA証明書を取得
f) サーバ証明書、秘密鍵を、ノードそれぞれのpostgresql.confのssl_cert_file,ssl_key_fileに指定した場所に配布
参照
作成方法の詳細は、“PostgresSQL Documentation”の“Creating Certificates”を参照してください。
“図3.1 スケールアウト環境におけるSSL接続構成例(全ノード同じユーザーで接続する場合)”を参考に、以下の手順で作成および配置します。
CNには、接続するユーザー名を指定します。
作成したクライアント証明書、それに対する秘密鍵、CA証明書はアクセスする全ノードに配置してください。
g) 中央管理ノードでクライアント秘密鍵を作成
h) クライアント秘密鍵のパスフレーズを解除
i) クライアント秘密鍵からCSR(クライアント証明書を取得するための署名要求)を作成
j) 認証局(CA)に証明書を申請
k) CAからクライアント証明書およびCA証明書を取得
l) 対象のクライアントに、作成したクライアント証明書、それに対する秘密鍵、CA証明書を配布
m) スタンバイサーバにクライアント証明書、それに対する秘密鍵、CA証明書をコピー
参照
作成方法の詳細は、“PostgresSQL Documentation”の“Creating Certificates”を参照してください。
ノード間での接続時に利用するクライアント証明書とクライアント証明書に対する鍵のパスは、接続時に利用するユーザーマッピングのsslcertとsslkeyオプションに設定します。そのため、それらのオプションに指定したパスに、それぞれのファイルを配置してください。(“図3.2 SSL証明書の配置”を参照)
また、特定のロールについては、ユーザーマッピングが自動生成され、sslcertとsslkeyオプションも自動で設定されています。それらのオプションの値に従って、ファイルを配置してください。詳細は、“5.5.1 ユーザーマッピングの自動作成”を参照してください。
注意
アプリケーションサーバの場合は接続するユーザー分のクライアント証明書と対応する秘密鍵が必要です。
postgresql.conf, pg_hba.confファイルを設定します。
参照
詳細については、“PostgreSQL Documentation”の“Server Administration”の“Secure TCP/IP Connections with SSL”を参照してください。