Postfix Prüfungen für SPAM Abwehr

Mitglied: robotto86

robotto86 (Level 1) - Jetzt verbinden

05.02.2016, aktualisiert 16:18 Uhr, 1544 Aufrufe, 10 Kommentare

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
Mitglied: Lochkartenstanzer
05.02.2016 um 15:43 Uhr
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
Bitte warten ..
Mitglied: robotto86
05.02.2016 um 15:49 Uhr
Ja das das hatte ich auch im Hinterkopf. Aber welche Möglichkeit gibt es dann um genau dieses "Identitätsklau-Problem" zu verhindern?
Bitte warten ..
Mitglied: Lochkartenstanzer
05.02.2016 um 15:59 Uhr
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
Bitte warten ..
Mitglied: robotto86
05.02.2016, aktualisiert um 16:12 Uhr
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.
Bitte warten ..
Mitglied: Lochkartenstanzer
05.02.2016, aktualisiert um 16:14 Uhr
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
Bitte warten ..
Mitglied: robotto86
05.02.2016 um 16:13 Uhr
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.
Bitte warten ..
Mitglied: Lochkartenstanzer
LÖSUNG 05.02.2016, aktualisiert um 16:18 Uhr
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
Bitte warten ..
Mitglied: robotto86
05.02.2016 um 16:17 Uhr
An welchen Punkt bzw. welcher Befehl ist der richtige?
Bitte warten ..
Mitglied: robotto86
05.02.2016 um 16:21 Uhr
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.
Bitte warten ..
Mitglied: LordGurke
06.02.2016 um 15:09 Uhr
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).
Bitte warten ..
Heiß diskutierte Inhalte
LAN, WAN, Wireless
Starlink im Unternehmen?
0xFFFFVor 1 TagFrageLAN, WAN, Wireless42 Kommentare

Guten Morgen Admins, leider leiden wir darunter, dass wir uns hier in DE noch in einem Entwicklungsland was die Internetanbindung angeht, sehr. Nun kam ...

Off Topic
Klimaanlage im Serverraum
gelöst imebroVor 1 TagFrageOff Topic20 Kommentare

Hallo, wir haben einen kleinen Serverraum (viell. 5 - 6 m²), in dem ein Serverschrank steht. Der Raum hat kein Fenster!!! Darin befinden sich ...

Windows 10
Windows 10 hängt bei Neustart immer bei "Bitte warten" über Stunden
gelöst Odde23Vor 1 TagFrageWindows 1023 Kommentare

Ich habe seit längerem, um genau zu sein seit gut einem Jahr, da wurde der Rechner gekauft, das Problem, dass der Rechner bei einem ...

Microsoft
Meine Gruppenrichtlinie wird nicht angewendet oder ich bin zu dumm
gelöst RandonDudeVor 1 TagFrageMicrosoft16 Kommentare

Hallo zusammen, ich bin Hobby-Admin für einen Versicherungsmakler. Wir haben ein Active Directory im Einsatz. Ich möchte verhindern, dass sich Benutzer an PCs anmelden, ...

Weiterbildung
Das Impostersyndrom oder: "Was kann ich eigentlich?"
AnduinVor 1 TagFrageWeiterbildung7 Kommentare

Werte Mitadmins, ich würde mich heute gerne mit einem mir wichtigen Thema an euch wenden. Ich bin 40 Jahre alt und seit 21 Jahren ...

Windows 10
Dokumentenanzeige auf 2.Bildschirm
gelöst Rico.lehmann93Vor 1 TagFrageWindows 107 Kommentare

Hey Leute, ein Kunde von uns sucht eine Möglichkeit Mietverträge dem Kunden auf einem Bildschirm anzeigen zu lassen. Auf dem Bildschirm soll aber wirklich ...

Windows Server
Igel + Terminalserver + VoIP + Softphone
Asgard-LokiVor 1 TagFrageWindows Server13 Kommentare

Gude Kolleginnen und Kollegen, ich habe da mal eine Frage zu einem Thema was für mich relativ neu ist. Wir wollen unsere Telefonie gerne ...

Windows Server
Zwei Netzwerkkarten im Server
gelöst Big.TurboladerVor 1 TagFrageWindows Server4 Kommentare

Hallo allerseits, ich habe ein Windows Server 2016 in einer VM erstellt um mein Wissen zu erweitern. Doch jetzt hänge ich an einem Problem ...