PostgreSQL|Ubuntu - konfiguracja połączenia ssl.

Dodano: 2010-12-24

PostgreSQL to jeden z lepszych darmowych serwerów bazodanowych. Instalacja w systemie Linux przebiega bez większych kłopotów i jest bardzo prosta. Poszczególne kroki instalacji można znaleźć na stronie instalacja serwera PostgreSQL.

Poniżej przedstawię w jaki sposób umożliwić tylko szyfrowane połączenie z serwerem ;) Po instalacji serwera i próbie połączenie przy użyciu bezpiecznego połączenia SSL (np.: programem pgAdmin) użytkownik może zobaczyć następujący komunikat: FATAL: no pg_hba.conf entry for host "x.x.x.x", user "userName", database "nameBase"...

Należy na serwerze edytować następujący plik /etc/postgresql/8.4/main/pg_hba.conf, w zależności od wersji zainstalowanego serwera wpisz odpowiedni jego numer jako nazwę katalogu np.: dla serwera PostgreSQL wersji 8.3, ścieżka będzie wyglądać następująco /etc/postgresql/8.3/main/pg_hba.conf

Odnajdź linię: host all all ::1/128 md5 zaremuj ją, by po ponownym uruchomieniu serwera nie był możliwe połączenie bez użycia bezpiecznego łącza. Po edycji linia powinna wyglądać tak:
#host all all ::1/128 md5

Jeżeli istnieje więcej wpisów umożliwiających dostęp do serwera poprzedzonych przedrostkiem host zaremuj je także - oprócz wpisu host all all 127.0.0.1/32 md5

Następnie dodaj linię: hostssl all userName 192.168.1.0/24 md5
Krótkie wyjaśnienie:
  1. hostssl – połączenie szyfrowane z serwerem
  2. all - dostęp do wszystkich baz
  3. userName - nazwa użytkownika, który może łączyć się z serwerem
  4. 192.168.1.0/24 - użytkownicy sieci 192.168.1.0 mogą się tylko łączyć z serwerem bazodanowym
  5. md5 – sposób szyfrowania hasła (?)

Po wykonanych zmianach należy zrestartować serwer PostgreSQL:
sudo /etc/init.d/postgresql-8.4 restart