Serwer SMTP Postfix pozwala w prosty sposób tworzyć własną "czarną listę" użytkowników / domen rozsyłających spam itp.
Tworzenie takiej listy jest bardzo proste, pokazują to poniższe kroki. W tym przykładzie blokujemy konkretny adres e-mail (user@example.com), ale nic nie stoi na przeszkodzie, abyś zablokował całą domenę (zamiast całego adresu wpisz samą nazwę domeny, w naszym przypadku example.com).
1) W pliku /etc/postfix/main.cf dopisz:
smtpd_sender_restrictions = hash:/etc/postfix/my_black_white_list,reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unknown_address, permit
2) następnie stwórz ten plik: touch /etc/postfix/my_black_white_list
3) Otwórz plik dowolnym edytorem tekstu (np.: vi /etc/postfix/my_black_white_list) i dodaj wpis/y wg poniższego schematu:
user@example.com REJECT spam..
friend@example.com OK
Ten wpis spowoduje, że Postfix zakwalifikuje pocztę od użytkownika user@example.com do "odrzucenia", dodatkowo w odpowiedzi wyśle mu wiadomość o treści "spam.."
Natomiast maile od użytkownika friend@example.com zawsze przyjmuj.
Kolejne wpisy (innych użytkowników, domen) dodaj w nowych linijkach tego pliku.
4) Tak stworzony plik tekstowy zamieniamy na bazę (binarną) dla Postfixa. Służy do tego polecenie postmap:
postmap /etc/postfix/my_black_list
5) Restart Postfixa: /etc/init.d/postfix restart
Zobaczmy teraz jak zachowuje się serwer Postfix po otrzymaniu wiadomości e-mail od blokowanego użytkownika. W ramach testów zablokowałem całą domenę wp.pl (wyciąg z loga /var/log/mail):
Jun 26 13:12:56 mail postfix/smtpd[3538]: connect from mx1.wp.pl[212.77.101.5]
Jun 26 13:12:56 mail postfix/smtpd[3538]: setting up TLS connection from mx1.wp.pl[212.77.101.5]
Jun 26 13:12:56 mail postfix/smtpd[3538]: Anonymous TLS connection established from mx1.wp.pl[212.77.101.5]: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)
Jun 26 13:12:56 mail postfix/smtpd[3538]: NOQUEUE: reject: RCPT from mx1.wp.pl[212.77.101.5]: 554 5.7.1 <…..@wp.pl>: Sender address rejected: spam..; from=<…..@wp.pl> to= proto=ESMTP helo=
Jun 26 13:12:56 mail postfix/smtpd[3538]: disconnect from mx1.wp.pl[212.77.101.5]