Postscreen – Skuteczna Ochrona Postfix przed Spamem i Atakami
Postscreen to mechanizm wbudowany w Postfix, który pozwala na wczesne filtrowanie podejrzanych połączeń SMTP. Dzięki analizie zachowań serwerów wysyłających oraz zastosowaniu testów heurystycznych, Postscreen skutecznie redukuje ilość spamu i odciąża główny demon smtpd.
W tym artykule omówimy:
✅ Jak działa Postscreen i dlaczego warto go używać?
✅ Konfigurację Postscreen w pliku main.cf.
✅ Dostosowanie filtrów i testów do blokowania podejrzanych nadawców.
✅ Monitorowanie logów i optymalizację działania Postscreen.
1. Czym jest Postscreen i dlaczego warto go używać?
Postscreen to warstwa ochronna, która przejmuje połączenia SMTP przed standardowym demonem smtpd. Pozwala to na szybszą eliminację spamu i podejrzanych nadawców, zanim ich wiadomości zostaną poddane szczegółowej analizie.
🔹 Zalety Postscreen:
✅ Redukcja obciążenia serwera – Postscreen blokuje spam jeszcze przed przetwarzaniem wiadomości.
✅ Wykrywanie botów – Spamerzy często używają automatów, które nie przechodzą testów heurystycznych.
✅ Lepsza wydajność SMTP – Mniej zasobów zużywanych na analizę niechcianych wiadomości.

2. Włączenie Postscreen w Postfix
Aby uruchomić Postscreen, edytujemy główny plik konfiguracyjny Postfix:
sudo nano /etc/postfix/main.cf
Dodajemy lub modyfikujemy następujące ustawienia:
postscreen_enable = yes
postscreen_access_list = permit_mynetworks
postscreen_blacklist_action = enforce
postscreen_greet_action = enforce
postscreen_dnsbl_sites = zen.spamhaus.org b.barracudacentral.org bl.spamcop.net
postscreen_dnsbl_action = enforce
📌 Wyjaśnienie opcji:
postscreen_enable = yes→ Włącza Postscreen.postscreen_access_list = permit_mynetworks→ Zezwala na dostęp z zaufanych sieci (mynetworks).postscreen_blacklist_action = enforce→ Wymusza blokowanie adresów z czarnej listy.postscreen_greet_action = enforce→ Blokuje serwery, które nie przestrzegają standardowego powitania SMTP.postscreen_dnsbl_sites→ Lista RBL (Realtime Blackhole Lists) do sprawdzania podejrzanych nadawców.postscreen_dnsbl_action = enforce→ Automatyczne blokowanie serwerów z RBL.
📢 Po zapisaniu zmian restartujemy Postfix:
sudo systemctl restart postfix
3. Analiza i blokowanie podejrzanych nadawców
Postscreen pozwala na identyfikację spamerów poprzez testy heurystyczne. Oto kilka najważniejszych opcji:
3.1. Blokowanie błędnych powitań SMTP
Spamerzy często nie implementują poprawnie powitania SMTP (EHLO lub HELO). Możemy ich blokować:
postscreen_greet_action = enforce
postscreen_greet_banner = "550 5.7.1 Access denied"
📌 Co to oznacza?
- Serwery, które nie odpowiedzą poprawnie na powitanie SMTP, zostaną odrzucone.
3.2. Wykorzystanie list RBL do oceny nadawców
Możemy dodać wiele list RBL, które sprawdzają, czy dany serwer nie jest znanym źródłem spamu:
postscreen_dnsbl_sites = zen.spamhaus.org bl.spamcop.net b.barracudacentral.org
postscreen_dnsbl_threshold = 2
📌 Co to oznacza?
- Jeśli serwer figuruje na dwóch lub więcej listach RBL (
threshold = 2), zostanie zablokowany.
3.3. Ograniczenie liczby połączeń od jednego nadawcy
Spamerzy często nawiązują dużą liczbę połączeń w krótkim czasie. Możemy to ograniczyć:
postscreen_client_connection_count_limit = 10
postscreen_client_connection_rate_limit = 30
📌 Co to oznacza?
- Maksymalnie 10 jednoczesnych połączeń od jednego nadawcy.
- Maksymalnie 30 połączeń na minutę.
4. Monitorowanie logów Postscreen
Po wdrożeniu Postscreen warto sprawdzić jego działanie. Możemy przeanalizować logi:
sudo tail -f /var/log/mail.log | grep postscreen
Przykładowe wpisy:
postscreen[1234]: CONNECT from [203.0.113.5]:56789
postscreen[1234]: PASS NEW [203.0.113.5]:56789
postscreen[1234]: BLACKLISTED [192.168.1.200]:25
📌 Interpretacja:
PASS NEW→ Serwer przeszedł testy Postscreen.BLACKLISTED→ Nadawca został zablokowany.
5. Dodatkowe optymalizacje
Jeśli serwer ma duże obciążenie, można zmienić parametry Postscreen, aby przetwarzał więcej połączeń jednocześnie:
postscreen_threads = 3
postscreen_cache_retention_time = 30d
📌 Co to oznacza?
postscreen_threads = 3→ Postscreen będzie używał 3 wątków do analizy połączeń.postscreen_cache_retention_time = 30d→ Nadawcy będą przechowywani w pamięci cache przez 30 dni.
6. Podsumowanie
✔ Postscreen to skuteczne narzędzie do ochrony serwera Postfix przed spamem i nadużyciami.
✔ Blokuje podejrzane serwery SMTP przed przetwarzaniem ich wiadomości.
✔ Redukuje obciążenie serwera poprzez eliminację spamu na wczesnym etapie połączenia.
✔ Korzysta z list RBL i analizuje zachowanie nadawców, aby wykrywać boty.
✔ Dzięki logowaniu możemy monitorować efektywność jego działania.
💡 Jeśli prowadzisz serwer pocztowy z dużym ruchem, Postscreen jest obowiązkową warstwą ochrony!






