3.5. PostgreSQL サーバーにおける TLS 暗号化の設定


デフォルトでは、PostgreSQL は暗号化されていない接続を使用します。よりセキュアな接続のために、PostgreSQL サーバーで Transport Layer Security (TLS) サポートを有効にし、暗号化された接続を確立するようにクライアントを設定できます。

前提条件

  • TLS 秘密鍵を作成し、認証局 (CA) が PostgreSQL サーバーのサーバー証明書を発行している。
  • PostgreSQL サーバーがインストールされている。
  • データベースクラスターが初期化されている。
  • FIPS モードが有効になっている場合、クライアントは Extended Master Secret (EMS) 拡張機能をサポートするか、TLS 1.3 を使用する必要があります。EMS を使用しない TLS 1.2 接続は失敗します。詳細は、Red Hat ナレッジベースソリューション TLS extension "Extended Master Secret" enforced on RHEL 9.2 and later を参照してください。

手順

  1. 秘密鍵とサーバー証明書を /var/lib/pgsql/data/ ディレクトリーに保存します。

    # cp server.{key,crt} /var/lib/pgsql/data/
    Copy to Clipboard Toggle word wrap
  2. 秘密鍵と証明書の所有権を設定します。

    # chown postgres:postgres /var/lib/pgsql/data/server.{key,crt}
    Copy to Clipboard Toggle word wrap
  3. PostgreSQL サーバーのみがファイルを読み取れるように、サーバー証明書のパーミッションを設定します。

    # chmod 0400 /var/lib/pgsql/data/server.key
    Copy to Clipboard Toggle word wrap

    証明書は、セキュアな接続が確立される前は通信の一部であるため、任意のクライアントは認証なしで証明書を取得できます。したがって、サーバー証明書ファイルに厳密なパーミッションを設定する必要はありません。

  4. /var/lib/pgsql/data/postgresql.conf ファイルを編集し、次の変更を加えます。

    1. scram-sha-256 ハッシュアルゴリズムを設定します。

      password_encryption = scram-sha-256
      Copy to Clipboard Toggle word wrap
    2. TLS 暗号化を有効にします。

      ssl = on
      Copy to Clipboard Toggle word wrap
  5. /var/lib/pgsql/data/pg_hba.conf ファイルを編集し、TLS 暗号化と scram-sha-256 ハッシュアルゴリズムを使用するように認証エントリーを更新します。たとえば、TLS 暗号化を有効にするには、host エントリーを hostssl に変更し、最後の列に scram-sha-256 ハッシュアルゴリズムを設定します。

    hostssl    all    all    192.0.2.0/24    scram-sha-256
    Copy to Clipboard Toggle word wrap
  6. postgresql サービスを再起動します。

    # systemctl restart postgresql.service
    Copy to Clipboard Toggle word wrap

検証

  • postgres スーパーユーザーを使用して PostgreSQL サーバーに接続し、\conninfo メタコマンドを実行します。

    # psql "postgresql://postgres@localhost:5432" -c '\conninfo'
    Password for user postgres:
    You are connected to database "postgres" as user "postgres" on host "192.0.2.1" at port "5432".
    SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat