Domyślenie Postfix odbiera wiadomości od dowolnego nadawcy. W przypadku spamu często stosowaną praktyka jest podstawianie za adres nadawcy, adresu z domeny która jest spamowana. Sieje to czasami niemały zamęt wśród użytkowników i powoduje wzajemne podejrzenia o infekcje komputerów przez oprogramowanie rozsyłające spam. Jeżeli mamy rozdzielone serwery MX od serwera SMTP dla własnych użytkowników, bardzo prosto i szybko możemy ograniczyć takie sytuacje. Wystarczy nie akceptować tych wiadomości przychodzących ze świata, które w nagłówku w polu From: mają adres z domeny własnej.
A więc …
Postfix posiada wbudowaną kalsę 'header_checks’ do inspekcji nagłówków wiadomości (szczegóły można poczytać w 'man header_checks’). Na początek tworzymy plik z regułami header_checks w katalogu z konfiguracją Postfixa. Chcemy odrzucać adresy z domeny własnej i jej wszystkich subdomen.
# cat /etc/postfix/header_checks
/^From: .+@.*mojadomena\.pl/ REJECT
Jeżeli jesteśmy bardziej złośliwi i jednocześnie pewni swojej konfioguracji zamiast REJECT możemy użyć DISCARD.
Sprawdzamy czego używa nasz Postfix, regexp czy pcre
# postconf -m
...
regexp
...
Następnie dodajemy do konfiguracji (/etc/postfix/main.cf) adekwatny do uzyskanego wyniku wpis:
header_checks = regexp:/etc/postfix/header_checks
Wczytujemy nową konfigurację
# /etc/init.d/postfix reload
Reloading Postfix configuration... done.
I robimy szybki test:
telnet mx.mojadomena.pl 25
Trying mx.mojadomena.pl...
Connected to mx.mojadomena.pl.
Escape character is '^]'.
220 ESMTP Server
HELO hostname
250 mx.mojadomena.pl
mail from: bogus@mojadomena.pl
250 2.1.0 Ok
rcpt to: bogus@mojadomena.pl
250 2.1.5 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Date: 11 Jan 11 11:11:11
From: bogus@mojadomena.pl
To: bogus@mojadomena.pl
Subject: od bogus@mojadomena.pl
.
550 5.7.1 message content rejected
Well done 🙂