FreeBSD 14
Sponsored Link

PostgreSQL 15 : PostgreSQL over SSL/TLS2024/02/09

 
PostgreSQL で SSL/TLS による暗号化通信の設定を有効にします。
[1]
事前に SSL/TLS を取得 または 自己署名の証明書を作成しておきます。
当例では自己署名の証明書で進めます。
[2] 作成した証明書をコピーして SSL/TLS の設定をします。
root@www:~ #
cp /usr/local/etc/ssl/server.* /var/db/postgres/data15/

root@www:~ #
chown postgres:postgres /var/db/postgres/data15/server.*

root@www:~ #
chmod 600 /var/db/postgres/data15/server.*

root@www:~ #
vi /var/db/postgres/data15/postgresql.conf
# 105行目 : コメント解除して変更

ssl =
on
# 107, 110行目 : コメント解除して作成した証明書に変更

ssl_cert_file = '
server.crt
'
ssl_key_file = '
server.key
'
root@www:~ #
vi /var/db/postgres/data15/pg_hba.conf
local   all             all                                     peer
host    all             all             127.0.0.1/32            ident
host    all             all             ::1/128                 ident
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident
host    all             all             10.0.0.0/24             scram-sha-256
# 最終行に追記
# [hostssl] ⇒ SSL/TLS 使用時のみ TCP/IP ネットワークを使用する
# [10.0.0.0/24] ⇒ アクセス許可するネットワーク
# [scram-sha-256] ⇒ SCRAM-SHA-256 パスワード認証を使用する
hostssl all             all             10.0.0.0/24             scram-sha-256

root@www:~ #
service postgresql restart

[3] 設定が完了したら、PostgreSQL でアクセス許可を設定したネットワーク内の任意のホストから接続確認をしておきます。
# Unix ドメインソケット接続は通常通り

freebsd@www:~ $
psql testdb

psql (16.1)
Type "help" for help.

testdb=> \q

# 宛先ホストを指定した TCP/IP 接続は設定通り SSL/TLS 接続
# SSL/TLS 接続時は以下のように [SSL connection ***] と表示される

freebsd@www:~ $
psql -h www.srv.world testdb

Password for user freebsd:
psql (16.1)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.

testdb=> \q


# 他ホストからの TCP/IP 接続も SSL/TLS 接続

root@node01:~ #
psql -h www.srv.world -d testdb -U freebsd

Password for user freebsd:
psql (16.1)
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.

testdb=>
関連コンテンツ