+ Konfiguration - Postfix
Jetzt geht es endlich an unser Herzstück :-)
Als erstes nehmen wir Änderungen in master.cf vor (zu finden unter /etc/postfix/.) Dort ändern wir folgende Zeile:
in folgende um
Weiter geht es mit der main.cf (Auch unter /etc/postfix/ zu finden.)
Als erstes ändern wir den Hostnamen.
Postfix muss natürlich noch wissen, welche Domains zu ihm gehöhren.
Bitte beachten, dass die Domains mit "," zu trennen sind.
Der Mailboxtransport erfolgt über Procmail
Da wir später mit Procmail arbeiten, wird Cyrus nur als "fallback" konfiguriert, das heisst: sollte Procmail aus irgendeinem Grund nicht funktionieren, bekommen die Benutzer trotzdem ihre Post.
Fallback
Nun legen wir die virtual alias Map fest. Damit sagen wir Postfix, welcher virtuelle Benutzer zu welcher Domain gehöhrt.
virtual alias
Noch schnell die canonical Map zum Ändern der E-Mails anlegen. Beispiel: Selbst wenn eine Mail an: autor@postix-howto.de- adressiert ist, erhält sie der Benutzer david@postfix-howto.de. Dabei sieht die E-Mail für den Benutzer so aus, als sei sie direkt an david@postfix-howto.de geschickt worden.
canonical maps
SMTP Authentifizierung
Weiter geht es mit unserer SMTP Authentifizierung, damit NUR unsere Benutzer Mails verschicken können. Ansonsten wären wir ein "Open Relay" und das wird oft von Spammern benutzt, um ihren Müll loszuwerden.
Dazu hängen wir folgende Zeilen an die /etc/postfix/main.cf.
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
Jetzt legen wir noch einige Regeln fest, die bestimmen, wann wir eine Mail annehmen und wann nicht. Mit einer geschickten Auswahl sperren wir schon eine Menge Spam von vornherein.
Zur Hilfe benutzen wir sogenannte RBL(Realtime Blackhole List). In solchen Listen sind Server aufgelistet, die unerwünschten Spam verschicken.
Los geht's mit einigen Konfigurationsschritten:
smtpd_helo_required = yes
smtpd_delay_reject = yes
default_rbl_reply = $rbl_code RBLTRAP:, sollte ein Server in einer
der RBL Listen stehen, bekommt er die eingegebene Nachricht.
smtpd_helo_required, bedeutet, dass der sendende Mailserver uns
erst "Hallo" sagen muss. Viren machen das oft nicht und somit können Sie sich schlecht
bei uns verteilen.
Jetzt kommen wir zu unseren Regeln. Bitte drauf achten, dass die Zeilen hinter dem "=" mit einem TAB eingerückt sind, da Postfix sie sonst als neue Befehle erkennt.
Regel: smtpd_recipient_restrictions
permit_sasl_authenticated,
permit_mynetworks,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_unauth_destination,
reject_rbl_client zombie.dnsbl.sorbs.net,
reject_rbl_client relays.ordb.org,
reject_rbl_client opm.blitzed.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client blackholes.easynet.nl,
reject_rbl_client unconfirmed.dsbl.org,
reject_rbl_client dynablock.njabl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client cbl.abuseat.org,
permit
smtpd_recipient_restrictions, überpüft den zu sendenden Server nach bestimmten Kriterien, sollte z.B. der hostname nicht stimmen, ist die Wahrscheinlichkeit, dass es ein Spammer ist sehr hoch und wir blocken ihn.
Regel: smtpd_helo_restrictions
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_non_fqdn_hostname,
reject_invalid_hostname,
reject_rhsbl_client rhsbl.sorbs.net,
reject_rhsbl_sender rhsbl.sorbs.net,
reject_rbl_client opm.blitzed.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client relays.ordb.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client unconfirmed.dsbl.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client dynablock.njabl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client opm.blitzed.org,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client multihop.dsbl.org,
reject_rbl_client dialup.rbl.kropka.net,
reject_unauth_pipelining
smtpd_helo_restrictions, überpüft den sendenden Server, nachdem er "Hallo" gesagt hat.
Regel: smtpd_sender_restrictions
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_rhsbl_client rhsbl.sorbs.net,
reject_rhsbl_sender rhsbl.sorbs.net,
reject_rbl_client relays.ordb.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl.spamhaus.org,
reject_rbl_client unconfirmed.dsbl.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client dynablock.njabl.org,
reject_rbl_client dialup.blacklist.jippg.org,
reject_rbl_client multihop.dsbl.org,
reject_rbl_client dialup.rbl.kropka.net,
reject_rbl_client opm.blitzed.org,
reject_rbl_client cbl.abuseat.org,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_pipelining
Nun fahren wir mit der TLS Konfiguration fort.
TLS
smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/certs/key.pem
smtpd_tls_cert_file = /etc/certs/cert.pem
smtpd_tls_CAfile = /etc/certs/cert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtp_use_tls = yes
smtp_tls_key_file = /etc/certs/key.pem
smtp_tls_cert_file = /etc/certs/cert.pem
smtp_tls_CAfile = /etc/certs/cert.pem
Das war es schon! Postifx ist nun TLS fähig.
Damit später SpamAssassin nicht heiss läuft, kann Postifx schon bevor es Mails annimmt, auf bestimmte Kriterien prüfen, um unerwünschte Mails von vorneherein zu blocken. Dazu legen wir die Datei: /etc/postfix/body_checks an und füllen sie mit folgendem Inhalt.
/etc/postfix/body_check
(file)?name\ *=\ *"?.*\.(lnk|asd|hlp|ocx|reg|bat|c[ho]m|cmd|exe
|dll|vxd|pif|scr|hta|jse?|sh[mbs]|vb[esx]|ws[fh]|wmf)"?\ *$/
REJECT attachment type not allowed
ACHTUNG: Ich musste aus Platzgründen Zeilenumbrüche erzwingen. Bitte achtet drauf, dass ihr die Zeilenumbrüche entfernt.
Wer bestimmte Dateien dennoch erlauben will, löscht die Endung einfach heraus.
Nun fügen wir noch folgenden Eintrag in die /etc/postfix/main.cf
Damit hätten wir auch Postfix geschafft.