Konfiguracja ograniczeń dostępu w Postfix – Zabezpieczenie przed nadużyciami
Linux

Konfiguracja ograniczeń dostępu w Postfix – Zabezpieczenie przed nadużyciami

Konfiguracja ograniczeń dostępu w Postfix – Zabezpieczenie przed nadużyciami

Postfix to jeden z najpopularniejszych serwerów pocztowych dla systemów Linux. Aby zapewnić jego bezpieczeństwo i stabilność, należy ograniczyć dostęp do serwera, zapobiegać atakom oraz blokować podejrzane adresy IP i nieautoryzowane połączenia.

W tym artykule omówimy:
Ograniczenie dostępu do Postfix na podstawie adresów IP.
Blokowanie podejrzanych połączeń i zachowań.
Konfigurację limitów liczby połączeń i wiadomości.


1. Ograniczenie dostępu na podstawie adresów IP

Postfix pozwala na kontrolowanie dostępu za pomocą pliku /etc/postfix/main.cf oraz list kontroli dostępu w /etc/postfix/access.

1.1. Blokowanie niepożądanych adresów IP

Aby zablokować konkretne adresy IP lub zakresy, edytujemy plik /etc/postfix/access:

sudo nano /etc/postfix/access

Dodajemy adresy IP, które chcemy zablokować:

192.168.1.100   REJECT
203.0.113.0/24  REJECT
spammer.com     REJECT

Opis:

  • 192.168.1.100 → Blokuje pojedynczy adres IP.
  • 203.0.113.0/24 → Blokuje całą podsieć (wszystkie adresy od 203.0.113.1 do 203.0.113.254).
  • spammer.com → Blokuje połączenia z danej domeny.

Teraz należy wygenerować bazę danych Postfix:

sudo postmap /etc/postfix/access

Dodajemy do pliku /etc/postfix/main.cf opcję weryfikacji:

smtpd_client_restrictions = check_client_access hash:/etc/postfix/access

Restartujemy Postfix:

sudo systemctl restart postfix

2. Blokowanie podejrzanych połączeń i zachowań

2.1. Ochrona przed próbami ataków brute-force

Konfiguracja ograniczeń dostępu w Postfix – Zabezpieczenie przed nadużyciami
Konfiguracja ograniczeń dostępu w Postfix – Zabezpieczenie przed nadużyciami

Aby ograniczyć liczbę błędnych prób logowania, możemy dodać do pliku /etc/postfix/main.cf:

smtpd_error_sleep_time = 5s
smtpd_soft_error_limit = 10
smtpd_hard_error_limit = 20

Opis:

  • smtpd_error_sleep_time = 5s → Po każdym błędzie serwer odczeka 5 sekund przed odpowiedzią.
  • smtpd_soft_error_limit = 10 → Po 10 błędach Postfix tymczasowo blokuje nadawcę.
  • smtpd_hard_error_limit = 20 → Po 20 błędach serwer odrzuca dalsze połączenia.
Czytaj  Automatyzacja CI/CD za pomocą GitLab CI/CD na serwerach Linux: Pełny przewodnik ekspercki dla administratorów i deweloperów

2.2. Ochrona przed fałszywymi nadawcami

Dodajemy do main.cf:

smtpd_helo_required = yes
smtpd_helo_restrictions =
    reject_non_fqdn_helo_hostname,
    reject_unknown_helo_hostname

Opis:

  • reject_non_fqdn_helo_hostname → Odrzuca serwery, które nie podają pełnej nazwy domenowej.
  • reject_unknown_helo_hostname → Odrzuca serwery, których nazwa domenowa nie istnieje w DNS.

3. Konfiguracja limitów liczby połączeń i wiadomości

3.1. Ograniczenie liczby połączeń od jednego nadawcy

Dodajemy do /etc/postfix/main.cf:

smtpd_client_connection_count_limit = 10
smtpd_client_connection_rate_limit = 30
smtpd_client_message_rate_limit = 50

Opis:

  • smtpd_client_connection_count_limit = 10 → Maksymalnie 10 jednoczesnych połączeń od jednego nadawcy.
  • smtpd_client_connection_rate_limit = 30 → Maksymalnie 30 połączeń na minutę.
  • smtpd_client_message_rate_limit = 50 → Maksymalnie 50 wiadomości na minutę.

3.2. Ograniczenie rozmiaru wiadomości

W pliku /etc/postfix/main.cf:

message_size_limit = 10485760

📌 10 MB to limit wielkości wiadomości (10485760 bajtów). Można go dostosować według potrzeb.


4. Dodatkowe zabezpieczenia

4.1. Blokowanie serwerów bez poprawnej konfiguracji DNS

Dodajemy do /etc/postfix/main.cf:

smtpd_client_restrictions =
    reject_unknown_client_hostname

💡 To zabezpiecza serwer przed spamem z komputerów o niepoprawnej konfiguracji DNS.

4.2. Blokowanie spamujących nadawców z RBL (Realtime Blackhole List)

Postfix obsługuje listy RBL, które pomagają blokować spam z podejrzanych źródeł. W /etc/postfix/main.cf dodajemy:

smtpd_recipient_restrictions =
    reject_rbl_client zen.spamhaus.org,
    reject_rbl_client bl.spamcop.net

Opis:

  • zen.spamhaus.org → Popularna lista adresów IP rozsyłających spam.
  • bl.spamcop.net → Lista podejrzanych nadawców.

📌 Sprawdzaj dostępność RBL, ponieważ niektóre z nich mogą wymagać subskrypcji!


5. Testowanie konfiguracji

Po każdej zmianie restartujemy Postfix:

sudo systemctl restart postfix

Sprawdzamy logi w czasie rzeczywistym:

sudo tail -f /var/log/mail.log

Testujemy blokowanie podejrzanych połączeń:

telnet example.com 25

Podsumowanie

🔒 Ograniczenie dostępu do Postfix jest kluczowe dla bezpieczeństwa serwera pocztowego.
✔ Możemy blokować adresy IP i domeny, aby zabezpieczyć się przed spamem.
Filtry SMTP pozwalają odrzucać podejrzane wiadomości.
Limitowanie liczby połączeń i wiadomości zapobiega przeciążeniom.
Integracja z listami RBL skutecznie eliminuje spamerskie serwery.

Dzięki tym konfiguracjom zwiększysz bezpieczeństwo i wydajność swojego serwera Postfix!

Czytaj  Konfiguracja tuneli VPN z wykorzystaniem VRF (Virtual Routing and Forwarding)
Polecane wpisy
Jak programować w C/C++ na Linux?
Jak programować w C/C++ na Linux?

Jak programować w C/C++ na Linux? C i C++ to dwa popularne języki programowania niskiego poziomu, które są często używane Czytaj dalej

Tunelowanie SSH: Jak to zrobić?
Tunelowanie SSH: Jak to zrobić?

Tunelowanie SSH: Jak to zrobić? Tunelowanie SSH to potężna technika, która pozwala na bezpieczne przesyłanie danych przez niezabezpieczone sieci. Umożliwia Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.