Postfix gegen Spam absichern

Postfix main.cf – optimierte Version 1.1

smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_authenticated_sender_login_mismatch, permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re

smtpd_helo_required = yes

smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, check_helo_access regexp:/etc/postfix/helo_access, reject_invalid_hostname, reject_non_fqdn_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, check_helo_access regexp:/etc/postfix/blacklist_helo

strict_rfc821_envelopes = yes

smtpd_data_restrictions = reject_unauth_pipelining

smtpd_delay_reject = yes

disable_vrfy_command = yes

smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unknown_recipient_domain

 

VERSION 1

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination,  reject_unlisted_sender, reject_unlisted_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain,  reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf

VERSION 2

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_hostname, #reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unauth_destination, reject_non_fqdn_sender, reject_unknown_sender_domain, #reject_unknown_recipient_domain, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination

VERSION 3

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unauth_destination, check_client_access hash:/etc/postfix/policyd_weight_client_whitelist #policyd-weight, check_policy_service inet:127.0.0.1:60001 reject_unknown_reverse_client_hostname, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cfpermit

 

Don’t forget reload postfix

/etc/init.d/postfix reload

watch ‚tail -n 20 /var/log/mail.log‘

 

Konfigurationsparameter im Einzelnen

  • smtpd_helo_required = yes
    Der Client muss ein HELO/EHLO zum Beginn der Session senden. Ist zwar mittlerweile auch fast von jedem Spammer implementiert, aber könnte vielleicht doch die eine oder andere Spamsession verhindern. Zusätzlich gibt es so mehr Informationen für policyd-weight zur Auswertung.
  • strict_rfc821_envelopes = yes
    Einhaltung von des RFC821 in Bezug auf Mailadressen erzwingen. Das lehnt schlecht generierte Mailadressen ab, aber auch evtl. Mails von fehlerhaften Scripten.
  • disable_vrfy_command = yes
    Schaltet das VRFY-Command aus, mit dem Spammer die Gültigkeit von Mailadressen überprüfen könnte.
  • smtpd_delay_reject = yes
    Schaltet einen Modus ein, in dem die REJECTS verzögert werden, damit auch die Clients von Microsoft es verstehen… (ohne Worte).
  • reject_unlisted_sender
    Lehnt die Mail ab, wenn die Domain der Absenderadresse zum Mailserver gehört, der aber User nicht existiert. Sorgt dafür, dass nur existente Adressen als Absender akzeptiert werden (prüfbar natürlich nur für die eigenen Domains).
  • reject_unlisted_recipient
    Lehnt die Mail ab, wenn die Domain der Empfängeradresse zum Mailserver gehört, der aber User nicht existiert. Sorgt dafür, dass nur existente Adressen als Empfänger akzeptiert werden (prüfbar natürlich nur für die eigenen Domains).
  • reject_unknown_sender_domain
    Lehnt die Mail ab, wenn die Domain der Absenderadresse nicht existiert.
  • reject_unknown_recipient_domain
    Lehnt die Mail ab, wenn die Domain der Empfängeradresse nicht existiert.
  • permit_sasl_authenticated
    Erlaube die Mail, wenn der User sich gegenüber dem Mailserver authentifiziert hat (SASL muss eingerichtet sein).
  • permit_mynetworks
    Erlaube die Mail, wenn der Absender aus $mynetworks kommt.
  • reject_invalid_hostname
    Lehnt die Mail ab, wenn der Hostname (überliefert mit dem HELO-Command) eine falsche Syntax hat.
  • reject_non_fqdn_sender
    Lehnt die Mail ab, wenn die Domain der Absenderadresse nicht ein FQDN (fully qualified domain name) ist.
  • reject_non_fqdn_recipient
    Lehnt die Mail ab, wenn die Domain der Empfängeradresse nicht ein FQDN (fully qualified domain name) ist.
  • reject_unauth_destination
    Lehnt die Mail ab, wenn die Zieladresse nicht unter $inet_interfaces, $mydestination, $virtual_alias_domains, $virtual_mailbox_domains oder $relay_domains gelistet ist.
  • check_policy_service inet:127.0.0.1:60001
    Lässt einen policy-Server (hier policyd-weight) über das Verfahren mit der Mail entscheiden.
  • check_policy_service inet:127.0.0.1:60000
    Lässt einen policy-Server (hier sqlgrey) über das Verfahren mit der Mail entscheiden.
  • reject_unknown_client
    Lehnt die Mail ab, wenn die IP-Adresse keinen PTR im DNS-Eintrag hat. Sorgt für das Ablehnen von manchen Spam-Maschinen, die von dynamischen IPs senden.
  • reject_unknown_hostname
    Lehnt die Mail ab, wenn der Hostname, der im HELO-Command übergeben wurde, keinen DNS-Eintrag hat.
  • permit
    Nimmt die Mail zur Zustellung an.

 

 

Schreibe einen Kommentar