[3] PostgreSQL 13 – SSL/TLS
26 stycznia 2022Włączymy teraz połączenie z PostgreSQL poprzez SSL/TLS
[1] Pobierz i zainstaluj certyfikaty od Let’s Encrypt lub wygeneruj swoje własne certyfikaty. My wykorzystamy nasze własne wygenerowane certyfikaty.
[2] Skopiuj certyfikaty oraz skonfiguruj PostreSQL.
[root@vlsr01 ~]# cp /etc/pki/tls/certs/server.{crt,key} /var/lib/pgsql/data/ [root@vlsr01 ~]# chown postgres. /var/lib/pgsql/data/server.{crt,key} [root@vlsr01 ~]# chmod 600 /var/lib/pgsql/data/server.{crt,key} [root@vlsr01 ~]# mcedit /var/lib/pgsql/data/postgresql.conf #linia 102: odkomentuj i zmień ssl = on #linie 104, 106: odkomentuj i zmień na Twoje własne certyfikaty ssl_cert_file = 'server.crt' ssl_key_file = 'server.key' [root@vlsr01 ~]# mcedit /var/lib/pgsql/data/pg_hba.conf #linie od 81 i dalej: ustawienia metod autentykacji # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 ident host replication all ::1/128 ident #dodaj na końcu #[hostssl] -> użyj połączenia TCP/IP tylko kiedy włączone jest SSL/TLS #[192.168.0.0/16] -> sieć, która może uzyskać połączenie #[md5] -> metoda do szyfrowania haseł host all all 192.168.0.0/16 md5 hostssl all all 192.168.0.0/16 md5 [root@vlsr01 ~]# systemctl restart postgresql
[3] Sprawdź ustawienia, aby połączyć się z bazą danych PostgreSQL z hostów w sieci, do której zezwolono na połączenie.
#brak połączenia SSL/TLS [user01@vlsr01 ~]$ psql testdb psql (13.5) Type "help" for help. testdb=> \q #połączenie SSL/TLS [user01@vlsr01 ~]$ psql -h vlsr01.zicher.lab testdb Password for user user01: wpisz hasło psql (13.5) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. testdb=> \q #połączenie SSL/TLS z innego hosta [root@vlsr02 ~]# psql -h vlsr01.zicher.lab -d testdb -U user01 Password for user user01: # wpisz hasło psql (13.5) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help. testdb=> \q