PostgreSQL : SSL/TLS の設定2019/08/07 |
PostgreSQL で SSL/TLS による暗号化通信の設定を有効にします。
|
|
[1] |
こちらを参考に SSL 証明書を取得しておきます。
当例では、SSL 証明書はリンク先の例のように [/etc/letsencrypt/live/dlp.srv.world] 配下に取得しているとし、[Common Name] には [dlp.srv.world] を設定しているものとして進めます。 |
[2] | 作成した証明書をコピーして SSL/TLS の設定をします。 |
root@dlp:~# cp /etc/letsencrypt/live/dlp.srv.world/* /etc/postgresql/11/main/ root@dlp:~# chown postgres. /etc/postgresql/11/main/*.pem root@dlp:~# chmod 600 /etc/postgresql/11/main/*.pem
root@dlp:~#
vi /etc/postgresql/11/main/postgresql.conf # 98行目:変更 ssl = on
# 100行目:変更 ssl_ca_file = ' /etc/postgresql/11/main/chain.pem 'ssl_cert_file = ' /etc/postgresql/11/main/cert.pem 'ssl_key_file = ' /etc/postgresql/11/main/privkey.pem '
root@dlp:~#
vi /etc/postgresql/11/main/pg_hba.conf # 92行目:下記のように変更 # ローカルホストからの認証済みユーザー以外からの接続は全てSSL/TLS接続とする # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: #host all all 127.0.0.1/32 md5 hostssl all all 127.0.0.1/32 md5 hostssl all all 10.0.0.0/24 md5 hostssl all all ::1/128 md5
root@dlp:~#
systemctl restart postgresql
# 接続確認 # ローカルホストからの認証済み接続は通常通り debian@dlp:~$ psql testdb psql (11.4 (Debian 11.4-1)) Type "help" for help. testdb=> # 上記以外の場合は SSL/TLS 接続 debian@dlp:~$ psql "user=debian host=localhost dbname=testdb" Password: psql (11.4 (Debian 11.4-1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. testdb=> # 他ホストからの接続も SSL/TLS 接続 debian@node01:~$ psql "host=dlp.srv.world dbname=testdb" Password: psql (11.4 (Debian 11.4-1)) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. testdb=> |
Sponsored Link |