Konfiguracja oparta na hosta, powszechnie znana jako pH_HBA.Conf, to specjalny plik używany do uwierzytelniania klienta PostgreSQL. Możesz myśleć o tym jako o pliku konfiguracyjnym do zarządzania zasadami dostępu do klastra bazy danych PostgreSQL.
Zanim zagłębimy się w sposób pracy z plikiem konfiguracyjnym PostgreSQL, zainstalujmy PostgreSQL. Jeśli już go zainstalował, możesz pominąć sekcję.
Instalowanie PostgreSQL
Aby przestrzegać tego przewodnika, musisz upewnić się, że masz zainstalowany PostgreSQL. Zilustruję, jak go zainstalować w systemie Debian.
Na systemie łuku - https: // linuxhint.COM/install-PostgreSQL-10-arch-linux/
Na Centos/Rehl - https: // Linuxhint.com/install_postgreSQL_CENTOS8/
Zacznij od aktualizacji systemu za pomocą polecenia:
Aktualizacja instalacji sudo apt-getPo zaktualizowaniu utwórz konfigurację repozytorium plików.
sudo sh -c 'echo "Deb http: // apt.PostgreSQL.org/pub/repos/apt $ (lsb_release -cs) -pgdg main ">/etc/apt/źródła.lista.D/PGDG.lista'Następnie zaimportuj klucz podpisujący i zaktualizuj system jako:
wget --quiet -o -https: // www.PostgreSQL.org/media/klawisze/ACCC4CF8.ASC | sudo apt-key add-&& sudo apt-get aktualizacjaNa koniec zainstaluj PostgreSQL Server i klient z poleceniem:
sudo apt-get instaluj postgresql-13 PostgreSQL-client-13Możesz określić inne wersje PostgreSQL, takie jak PostgreSQL 9, 10, 11, 12, 14 itd.
Możesz teraz zainicjować klaster PostgreSQL za pomocą polecenia:
PG_CTLCLUSTER 13 Główny startZrozumienie pliku ph_hba
Domyślnie plik konfiguracyjny pH_HBA znajduje się w katalogu klastra głównego.
W naszym przykładzie jest w:
/etc/postgresql/13/main/ph_hba.confPG_HBA jest zgodny z prostym formatem konfiguracji. Zawiera zestaw reguł konfiguracji, jedną regułę na wiersz.
Plik konfiguracyjny nie jest wrażliwy na białe listy, a wszystkie pliki poprzedzone # są traktowane jako komentarze i ignorowane.
Reguły PG_HBA nie mogą obejmować wielu linii, ponieważ każda linia jest interpretowana jako osobna reguła.
Plik konfiguracyjny zawiera 5 rekordów odpowiednio w następującym formacie:
PostgreSQL akceptuje różne metody uwierzytelniania. Obejmują one:
Powyższe jest listą niektórych obsługiwanych metod uwierzytelniania. Możesz sprawdzić inne metody w oficjalnej dokumentacji.
Przykładowe konfiguracje
Konfiguracja PG_HBA to surowy plik tekstowy, który można edytować z dowolnym obsługiwanym edytorem tekstu.
Poniżej znajdują się kilka konfiguracji, które możesz wykonać w celu rozwiązywania problemów lub bezpieczeństwa.
Pozwól każdemu użytkownikowi połączyć się z dowolną bazą danych (lokalny).
Wpisz metodę adresu użytkownika bazy danychPozwól każdemu użytkownikowi z określonego adresu IP, aby połączyć się z określoną bazą danych, jeśli hasło jest poprawne.
Wpisz metodę adresu użytkownika bazy danychOdrzuć wszystkie połączenia z określonej podsieci IP
Wpodaj metoda IP-MASK użytkownika Baza danychZezwalaj lub odrzuć określony segment sieci IP
Wpisz metodę adresu użytkownika bazy danychOkreślanie adresów w protokole IPv4.
Pozwól każdemu użytkownikowi połączyć się z dowolną bazą danych na IPv6
Wpisz metodę adresu użytkownika bazy danychAby pokryć zarówno IPv6, jak i IPv4, możesz określić nazwę hosta.
Wpisz metodę adresu użytkownika bazy danychZapisywanie i stosowanie konfiguracji
Przed zapisaniem konfiguracji upewnij się, że jest ona we właściwym formacie. Aby ponownie załadować i zastosować zmiany, możesz użyć narzędzia PG_CTL.
Polecenie to:
PG_CTL RELOOD -S -D/ETC/PostgreSQL/13-D określa katalog zawierający plik konfiguracyjny. Jeśli nie jest określone, używane jest domyślne.
W podsumowaniu
PG_HBA.Plik konfiguracyjny Conf pomaga określić uwierzytelnianie klienta na serwerze PostgreSQL. Wprowadzanie zmian może pozwolić na zabezpieczenie systemu i umożliwić tylko określonym użytkownikom i hostom.