Pgpool-II 4.4.2 文書 | |||
---|---|---|---|
前のページ | 上に戻る | 第 6章クライアント認証 | 次のページ |
SCRAM認証は中間者攻撃から保護します。 そのため、Pgpool-IIはPostgreSQLバックエンドの認証のためにユーザパスワードを要求します。
しかしながら、"pool_passwd"ファイルにクリアテキストパスワードを保存するのは良い案ではありません。
代わりにAES256で暗号化されたパスワードを保存し認証に使用することができます。 パスワードは、最初にユーザが提供した鍵を使ってAES暗号で暗号化され、暗号化されたパスワードをbase64でエンコードし、エンコードされた文字列の接頭にAESを追加します。
注意: 適切にフォーマットされたAES256暗号化パスワードを作成するために pg_encコマンドを使用できます。
pg_enc はpool_passwdファイル上にAES暗号化パスワードエントリを作成するために使用できます。 pg_encはパスワードエントリ暗号化のための鍵を要求します。 その後、認証に使うパスワードを復号化するため、Pgpool-IIで同じ鍵が必要になります。
注意: 暗号化パスワード機能を使うためにSSL(--with-openssl)サポート付でPgpool-IIをビルドする必要があります。
もし、pool_passwd ファイルにAES暗号化パスワードが保存されていた場合、Pgpool-IIはそれらのパスワードを復号化するために復号鍵が必要となり、Pgpool-IIは起動時に.pgpoolkeyファイルから復号鍵を読み込もうとします。 .pgpoolkeyは復号鍵の文字列を格納した単純なテキストファイルです。
デフォルトでは、Pgpool-IIはユーザのホームディレクトリの.pgpoolkeyもしくはPGPOOLKEYFILE環境変数により設定されるファイルを探します。 pgpoolコマンドの(-k, --key-file=KEY_FILE)オプションを使用し、鍵ファイルを指定をすることもできます。 .pgpoolkeyの権限はグループ、他者へのアクセスをすべて拒否しなければなりませんので、chmod 0600 ~/.pgpoolkeyコマンドによって設定します。