Blog JSystems - uwalniamy wiedzę!

Szukaj

Zmiana portu, w skrócie

W postgresql.conf, potem restart:

# postgresql.conf
port = 5433

# po zmianie: restart klastra
Z tego artykułu dowiesz się:
  • jak zmienić port nasłuchu PostgreSQL tak by uniknąć ataków botów próbujących się łączyć na domyślny port usługi (masowe zjawisko).

Zmiana portu nasłuchu sprowadza się do zmiany wartości parametru “port” i restartu klastra. W pierwszej kolejności z poziomu użytkownika systemowego postgres wchodzimy do psql i wydajemy komendę: “ALTER SYSTEM” do zmiany wartości parametru “port”:

psql
alter system set port=5433;

Następnie musimy zrestartować usługę. Użytkownik postgres nie ma uprawnień do restartu usługi, więc wychodzimy do użytkownika systemowego z prawami do sudo i restartujemy usługę.

sudo systemctl restart postgresql-15

Sprawdzamy, czy się udało. Wracamy do użytkownika systemowego postgres i próbujemy się połączyć za pomocą psql (który jeśli nie podano inaczej parametrem -p, to łączy się na domyślny port 5432). Nie powinno się to udać:

Zmiana portu nasłuchu PostgreSQL: ilustracja poglądowa

Spróbujemy więc połączyć się na port 5433:

psql -p 5433

Udało nam się podłączyć na zmieniony przez nas port:

Zmiana portu nasłuchu PostgreSQL: ilustracja poglądowa (2)
Baner szkolenia Administracja, replikacja i tuning baz danych PostgreSQL w JSystems, terminy gwarantowane

Szkolenie Administracja, replikacja i tuning baz danych PostgreSQL →

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Jak zmienić port nasłuchu PostgreSQL?
Trzeba zmienić wartość parametru port i zrestartować klaster. Najprościej z poziomu użytkownika systemowego postgres wejść do psql i wydać polecenie ALTER SYSTEM ustawiające nowy port, na przykład 5433, a następnie zrestartować usługę.
Dlaczego warto zmienić domyślny port PostgreSQL?
Żeby uniknąć ataków botów, które masowo próbują łączyć się na domyślny port usługi. Zmiana portu na niestandardowy sprawia, że automatyczne skanery próbujące domyślnego portu nie trafiają na działającą usługę.
Czy sam użytkownik postgres może zrestartować usługę?
Nie. Użytkownik postgres nie ma uprawnień do restartu usługi. Zmianę parametru wykonuje się jako postgres w psql, ale do restartu trzeba przejść na użytkownika systemowego z prawami do sudo i zrestartować usługę PostgreSQL.
Jak sprawdzić, czy zmiana portu się powiodła?
Po restarcie spróbuj połączyć się przez psql bez podawania portu - domyślnie łączy się na 5432, więc połączenie nie powinno się udać. Następnie połącz się na nowy port, podając go parametrem -p, na przykład 5433. Udane połączenie na nowy port potwierdza zmianę.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...