5.13. Secure Sockect Layer (SSL)

5.13.1. SSLの設定

ssl (boolean)

onに設定すると,Pgpool-IIはフロントエンドとバックエンドの両方の通信でのSSLが可能になります。 デフォルトはoffです。

注意: フロントエンド接続にSSLするには、ssl_keyssl_certが設定されてなければなりません。

注意: SSLサポートを有効にするためには、Pgpool-IIをOpenSSLサポート付きでビルドする必要があります。 Pgpool-IIのビルドについて詳細は項2.4をご覧ください。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_key (string)

フロントエンドとの接続に使用するプライベートキーファイルのパスを指定します。 相対パスで指定した場合、Pgpool-IIの実行ディレクトリが基準となります。 このオプションのデフォルト値はありません。 設定がない場合は、フロントエンドとの接続でSSLが使用されなくなります。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_cert (string)

フロントエンドとの接続に使用する公開x509証明書のフルパスを指定します。 相対パスで指定した場合、Pgpool-IIの実行ディレクトリが基準となります。 このオプションのデフォルト値はありません。 設定がない場合は、フロントエンドとの接続でSSLが使用されなくなります。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_ca_cert (string)

PEM形式のCAルート証明書のパスを指定します。 これはバックエンドサーバ証明書の検証に用いられます。 このオプションはOpenSSL verify(1)コマンドにおける-CAfileオプションと同様の機能を提供します。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_ca_cert_dir (string)

PEM形式のCAルート証明書ファイルが格納されているディレクトリへのパスを指定します。 これはバックエンドサーバ証明書の検証に用いられます。 このオプションはOpenSSL verify(1)コマンドにおける-CAfileオプションと同様の機能を提供します。

デフォルトでは値が設定されておらず検証は行われません。 このオプションが設定されていない場合においても、ssl_ca_certオプションが設定されている場合には検証が行われます。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_ciphers (string)

セキュアな接続で使用できるSSL暗号スイートのリストを指定します。 設定構文と使用可能な値のリストについてはOpenSSLパッケージの ciphersマニュアルをご覧ください。 デフォルト値はHIGH:MEDIUM:+3DES:!aNULLで、PostgreSQLと同じです。 この値が選ばれた理由については、PostgreSQLのマニュアルをご覧ください。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_prefer_server_ciphers (boolean)

クライアントではなく、サーバ指定のSSL暗号を選択します。 デフォルト値はoffです。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_ecdh_curve (string)

ECDHキー交換で使われる曲線の名前を指定します。 接続する全てのクライアントがこの設定をサポートしている必要があります。 サーバの楕円曲線キーで使用されるのと同じ曲線である必要はありません。 クライアントではなく、サーバ指定のSSL暗号を選択します。 デフォルト値はprime256v1です。

OpenSSLはよく使われる曲線に名前を付けています。 prime256v1 (NIST P-256), secp384r1 (NIST P-384), secp521r1 (NIST P-521)。 利用できる曲線の完全なリストはopenssl ecparam -list_curvesで得られます。 ただし、TLSではこのすべてが利用できるわけではありません。

このパラメータはサーバ起動時にのみ設定可能です。

ssl_dh_params_file (string)

いわゆる短命DH系SSL暗号で使用するディフィー・ヘルマンパラメータを格納するファイル名を指定します。 デフォルトは空で、この場合はコンパイル時に決められたデフォルトのDHパラメータが使用されます。 攻撃者が、よく知られたコンパイル時設定のDHパラメータを解読しようとしている場合には、カスタムDHパラメータを使うことでその危険性を低減できます。 openssl dhparam -out dhparams.pem 2048を使って、独自のDHパラメータファイルを作ることができます。

このパラメータはサーバ起動時にのみ設定可能です。

5.13.2. SSL証明書の生成

証明書の扱いについてはこのマニュアルの範囲外です。 PostgreSQLドキュメントSSLによる安全なTCP/IP接続の章に自分で認証する証明書を作成するコマンドの例があります。