Startseite > Amavisd, exchange 2003, main.cf, Postfix, Spam > Spamgateway mit Postfix, Amavisd-new und Spamassassin

Spamgateway mit Postfix, Amavisd-new und Spamassassin


Hi Gemeinde,

wer noch immer (was mich bei der Anzahl der Spam- und Phishingmails wundern würde) auf der Suche nach einer guten und noch dazu kostenlosen Antispam Lösung ist, der sollte sich mal folgendes Konstrukt aufbauen:

Postfix agiert dabei als normaler Mailer, Amavisd-new als Zwischenmodul um Spamassassin und einen oder mehrere Virenscanner anzusprechen.
Mit ein paar Zusatzoptionen kann man sogar schon mit dem Postfix allein einiges an Spam Mails abwehren – die da wären:

### main.cf ###

#Zusatzoption, falls amavisd-new verwendet wird
content_filter = smtp-amavis:[127.0.0.1]:10024

#restrictions

smtpd_helo_required = yes

smtpd_recipient_restrictions =
permit_mynetworks
reject_unauth_destination
check_sender_access hash:/etc/postfix/recipient_access
reject_non_fqdn_recipient
reject_unknown_recipient_domain
reject_unverified_recipient
permit

smtpd_sender_restrictions =
permit_mynetworks
check_sender_access hash:/etc/postfix/sender_access
reject_non_fqdn_recipient
reject_unknown_sender_domain
permit

smtp_helo_resctictions =
permit_mynetworks
reject_invalid_hostname
check_helo_access hash:/etc/postfix/helo_access
permit
mail_size_limit = 10240000000

###################################################################

### transport Einstellungen für Amavisd-new ###

#
# The amavis interface
#

smtp-amavis unix – – n – 3 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8

###################################################################
Wer einen Exchange 2003 Server hat, der kann auch ganz konfortable auf gültige Empfängeradressen prüfen.
Aber Vorsicht! Diese Einstellungen könnten zu einer Überlastung des Email Server führen, falls zu viele Anfrage anstehen.
Dazu werden noch folgende Zeilen in der Datei main.cf benötigt:

address_verify_map = btree:/etc/postfix/verify
address_verify_relayhost = exchange_server_name
relay_domains = domain.tld

smtpd_recipient_restrictions =
....

reject_unknown_recipient_domain

reject_unverified_recipient

....

###################################################################

Erklärung der einzelnen Parameter:

  • 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.
  • 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.
  • 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.


Postfix und Amavisd sollten in einer chroot Umgebung betrieben werden.
Zu guter letzt macht es Sinn einen chaching Nameserver und einen Virenscanner (antivir von Avira) zu installieren.
Der Nameserver sollte natürlich auch in einer chroot Umgebung laufen „bind-chroot“.
Der Virenscanner wird noch in die Datei „/etc/amavisd.conf“ eingetragen.
Hab gerade die Parameter nicht greifbar. Die werde ich noch nachliefern 😉
Bleibt nur noch das Anpassen der Datei „/etc/spamassassin/user_prefs“, welche die Regeln für den Spamfilter beinhaltet.

Jetzt ist das Spam Gateway fertig!

Weblinks:
Postfix Konfiguration (akadia.com)
Postfix und Amavisd (Akadia)
Postfix in einer chroot Umgebung

Advertisements
  1. Es gibt noch keine Kommentare.
  1. No trackbacks yet.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: