robotto86
Goto Top

Postfix Prüfungen für SPAM Abwehr

Hallo Leute,

ich habe mir gerade einen zweiten Postfix als Relay in der DMZ aufgebaut. Dieser mit wie der jetzige Mails aus dem Internet an und leitet diese mit der Transport Map (Relay-Database.db) zu dem Exchange im Lokalen Netz weiter. Andersherum ist beim Exchange dieser Postfix als Smarthost eingetragen. Clients verbinden sich entweder direkt mit dem Exchange (VPN oder Local NET) oder per Blackberry Server. Nun ist der laufenden Postfix ziemlich alt bzw. verwirrt konfiguriert. Der neue funktionert soweit das er Mail annimmt und auch weitergibt. Amavis, Spamassasin und ClamAV funtionieren auch super.

Mir geht es hier um die Restrictions! Wir haben aktuell den Fall das die Spammer unsere Domain nutzen und deshalb die Restriction nicht wirklich greift. Denn es gibt ja die Domain, es gibt einen A Record und einen PTR. Gibt es eine Möglichkeit zu Checken oder der zu sendende Server/IP (auch wenn er einen A-Record und einen PTR hat) sagen wir max. mustermann@muster.de auch von dem MX "muster.de" sendet?

Hier habe ich mich veruscht einzulesen aber teilweise verstehe ich es nicht:
https://blog.secretisland.de/postfix-restrictions/

Hier mal meine Postconf:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

  1. appending .domain is the MUA's job.
append_dot_mydomain = no

readme_directory = no

  1. TLS Verschlüsselung
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

myhostname = hidden
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = hidden, localhost.hidden, , localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.1 (Beipsiel IP für den Exchange im Local NET)
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

  1. Weiterleitung an Amavis
#ContentFilter:
content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

#Mail Routing zum MS Exchange
transport_maps = btree:/etc/postfix/relay-database

  1. SMTP HELO wird verlangt
smtpd_helo_required = yes

  1. Prüfung: Der Fandango und Authentifizierte User (Feature wird nicht genutzt) können über den Post in die weite Welt senden
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination

  1. An welche Domains darf weitergeleitet werden (ist nur eine Beispiel Domain)
relay_domains = test.de

  1. Prüfung: Gibt es die Domain von der gesendet wird?
smtpd_sender_restrictions = reject_unknown_sender_domain
unknown_address_reject_code = 554

  1. Prüfung: Gibt es einen A-Record & einen PTR für die Domain von der gesendet wird?
smtpd_client_restrictions = reject_unknown_client
unknown_client_reject_code = 554

  1. Prüfung: Empfängerprüfung
smtpd_recipient_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain

Ende Postconf


Es gibt mir wie gesagt darum Spammer abzuwehren die von außen mit unserer Domain senden. Eigentlich logischerweise Sender IP nicht gleich MX IP = FORBIDD

Ich freue mich auch über Kritik meiner Kommentare in der Config. Wie gesagt ich weiß nicht ob ich 100% alles richtig verstanden habe.


Vielen Dank im Vorraus face-smile

Content-Key: 295276

Url: https://administrator.de/contentid/295276

Ausgedruckt am: 19.03.2024 um 02:03 Uhr

Mitglied: Lochkartenstanzer
Lochkartenstanzer 05.02.2016 um 15:43:06 Uhr
Goto Top
Zitat von @robotto86:

Gibt es eine Möglichkeit zu Checken oder der zu sendende Server/IP (auch wenn er einen A-Record und einen PTR hat) sagen wir max. mustermann@muster.de auch von dem MX "muster.de" sendet?

Es ist ein Irrtum zu glauben, daß der MX immer auch für das Versenden zuständig wäre. In größeren Umgebungen sind Posteingangs- und -ausgangsserver durchaus verschiedene Maschinen, wobei der Sender nicht unbedingt einen MX-Eintrag haben muß, damit er nicht mit eingehender mail "belästigt" wird.

lks
Mitglied: robotto86
robotto86 05.02.2016 um 15:49:31 Uhr
Goto Top
Ja das das hatte ich auch im Hinterkopf. Aber welche Möglichkeit gibt es dann um genau dieses "Identitätsklau-Problem" zu verhindern?
Mitglied: Lochkartenstanzer
Lochkartenstanzer 05.02.2016 um 15:59:52 Uhr
Goto Top
Zitat von @robotto86:

Ja das das hatte ich auch im Hinterkopf. Aber welche Möglichkeit gibt es dann um genau dieses "Identitätsklau-Problem" zu verhindern?


Wenn Du Glück hast, benutzt der Sender RMX (https://tools.ietf.org/html/draft-danisch-dns-rr-smtp-04) oder SPF (https://tools.ietf.org/html/rfc7208) und das kann man verifizieren.

Anonsten kanns Du das nicht verifizieren, wenn Du diejenigen, die andere Sender als Ihren MX benutzen aussperren willst.

Ist wie bei normaler Briefpost: Wie willst Du feststellen, ob derjenige, der etwas in deinen Briefkasten (oder schlimmer, in den Briefkasten des Postunternehmens) wirft, derjenige ist, der als Absender auf dem brief steht?

lks


lks
Mitglied: robotto86
robotto86 05.02.2016 aktualisiert um 16:12:00 Uhr
Goto Top
Grundsätzlich richtig aber hier verbindet sich ja jemand mit meinem Postfix Server und ich sehe die IP. Ich weiß ja auch das die Domain abc.de & cba.de mir gehören und nur von diesem Postfix mit dieser IP gesendet werden. Vielleicht gibt es da ja ein Script. Wenn diese Domains als Sender IP nicht folgende IP hat bitte abweisen!!! Korrigiere mich wenn ich einen falschen Gedankengang habe. Trotzdem erstmal danke.
Mitglied: Lochkartenstanzer
Lochkartenstanzer 05.02.2016 aktualisiert um 16:14:15 Uhr
Goto Top
Zitat von @robotto86:

Grundsätzlich richtig aber hier verbindet sich ja jemand mit meinem Postfix Server und ich sehe die IP. Ich weiß ja auch das die Domain abc.de & cba.de mir gehören und nur von diesem Postfix mit dieser IP gesendet werden.. Vielleicht gibt es da ja ein Script. Wenn dieses Domains als Sender IP nicht folgende IP haben abweisen!!! Korrigiere mich wenn ich einen falschen Gedankengang habe. Trotzdem erstmal danke.

Geht es nur um Deine eigenen domains, die Dir selbst mails zuschicken?

Dann stellst Du einfach in postfix ein, von welchenIP-Adressen Absender mit Deinen domainnamen erlaubt sind.

lks
Mitglied: robotto86
robotto86 05.02.2016 um 16:13:20 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @robotto86:

Grundsätzlich richtig aber hier verbindet sich ja jemand mit meinem Postfix Server und ich sehe die IP. Ich weiß ja auch das die Domain abc.de & cba.de mir gehören und nur von diesem Postfix mit dieser IP gesendet werden.. Vielleicht gibt es da ja ein Script. Wenn dieses Domains als Sender IP nicht folgende IP haben abweisen!!! Korrigiere mich wenn ich einen falschen Gedankengang habe. Trotzdem erstmal danke.

Geht es nur um Deine eigenen domains, die Dir selbst mails zuschicken?

lks

Genau. Diese kommen von außen. habe es gerade selber mit einem VPS per Console getestet. Habe mir eine Mail zugesendet und sie ist durchgekommen. face-confused Fremde Domains sind mir egal. Da muss Razor/Pyzor & Co ran.
Mitglied: Lochkartenstanzer
Lösung Lochkartenstanzer 05.02.2016 aktualisiert um 16:18:37 Uhr
Goto Top
Zitat von @robotto86:

Genau. Diese kommen von außen. habe es gerade selber mit einem VPS per Console getestet. Habe mir eine Mail zugesendet und sie ist durchgekommen. face-confused Fremde Domains sind mir egal. Da muss Razor/Pyzor & Co ran.


In /etc/postfix/main.cf mit mynetworks und mydestinations zu konfigurieren.

lks
Mitglied: robotto86
robotto86 05.02.2016 um 16:17:33 Uhr
Goto Top
An welchen Punkt bzw. welcher Befehl ist der richtige?
Mitglied: robotto86
robotto86 05.02.2016 um 16:21:01 Uhr
Goto Top
Zitat von @Lochkartenstanzer:

Zitat von @robotto86:

Genau. Diese kommen von außen. habe es gerade selber mit einem VPS per Console getestet. Habe mir eine Mail zugesendet und sie ist durchgekommen. face-confused Fremde Domains sind mir egal. Da muss Razor/Pyzor & Co ran.


In /etc/postfix/main.cf mit mynetworks und mydestinations zu konfigurieren.

lks

Das ist mal ein Beispiel mit der Domain abc.de:

mydestination = abc.de, localhost.abc.de, , localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.1.1 (Beipsiel IP für den Exchange im Local NET)

Wenn ich jetzt abc.de fake mit einem VPS kommt es durch.
Mitglied: LordGurke
LordGurke 06.02.2016 um 15:09:35 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
Wenn Du Glück hast, benutzt der Sender RMX (https://tools.ietf.org/html/draft-danisch-dns-rr-smtp-04) oder SPF (https://tools.ietf.org/html/rfc7208) und das kann man verifizieren.

Viel, viel besser und zuverlässiger ist DKIM + DMARC. Dabei wird eine kurze kryptographische Signatur in den Mailheader geschrieben, die per DNS verifiziert werden kann. Der Vorteil ist, dass du bei weitergeleiteten E-Mails nicht wie bei SPF das Problem hast, dass der einliefernde (weiterleitende) Mailserver nicht authorisiert ist.
Mit DMARC kann man dann noch bestimmen was mit E-Mails passieren soll die keine oder eine ungültige DKIM-Signatur haben.

Bei eurem Setup könntet ihr also recht einfach alle E-Mails die ihr sendet mit DKIM signieren lassen und einen DMARC-Eintrag anlegen, welcher verfügt dass unsignierte E-Mails nicht akzeptiert werden sollen. Das beendet nicht nur das Problem bei euch sondern verhindert sogar weltweit dass eure Domain für Spamversand missbraucht wird face-wink
Zudem benutzen praktisch alle E-Mail-Anbieter da draußen dieses System, so dass du auch dort sehr leicht gefälschte Absender herausfiltern kannst.

Auf Postfix lässt sich DKIM + DMARC mit verschiedenen Tools umsetzen - welches das für euch wird müsstest du am besten selbst mal herausfinden...
Wenn ihr bereits Amavis nutzt könnt ihr den dafür nehmen, sonst gibt es noch zig andere Tools wie z.B. OpenDKIM.
Die DKIM-Verifizierung eingehender und ausgehender E-Mails kann Spamassassin machen.

Wichtig ist nur, dass ihr dringend unterscheidet, über welches Interface eine E-Mail von eurem Exchange eingeliefert wird - denn nur die dürfen signiert werden! Sonst kann es euch passieren, dass auch die aus dem Internet eintrudelnden E-Mails mit eurer Domain als Absender von eurem Postfix eine gültige Signatur erhalten...
Am Besten machst du dir dafür in der master.cf zwei SMTPD-Prozesse, die entweder an die externe und die interne IP gebunden sind und nur auf der internen IP setzt du die Optionen zur DKIM-Signierung (und schaltest die Verifikation dort aus).