ISPConfig spoofed-Mails abweisen


Spoofed Mails sind eingehende Nachrichten, die im Absender eine der Domains auf dem Server nutzen, ohne das Versand autorisiert ist (d.h. kein Client, der sich am Server angemeldet hat).

Um solche Mails mit ISPConfig abzulehnen, wird die Datei /etc/postfix/mysql-virtual_domains_inverted.cf angelegt und der Gruppe Postfix zugeordnet:

user = ispconfig
password = xvvcvxcvvxvxvx
dbname = dbispconfig
hosts = 127.0.0.1
query = SELECT 'REJECT' FROM mail_domain WHERE domain = '%d' AND active = 'y'
require_result_set = no

Testen kann man das so:

postmap -q info@eigene.domain mysql:/etc/postfix/mysql-virtual_domains_inverted.cf

Im Ergebnis gibt es REJECT.


postmap -q info@example.com mysql:/etc/postfix/mysql-virtual_domains_inverted.cf

Gibt im Gegenzug nichts aus, da es sich um keine Domain handelt, für die der Server zuständig ist.

Die Wert für user und password können aus einer der anderen mysql-virtual_ Dateien übernommen werden.

Danach wird der Check in die smtpd_sender_restrictions eingebunden. Den aktuellen Wert gibt es mit postconf -n smtpd_sender_restrictions.

Das sieht dann so aus:
smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , 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

Der neue Check wird nach permit_sasl_authenticated eingebunden.

Dann wird Postfix einmal neu gestartet und das war es schon.

Mit folgendem Aufruf als root passiert alles mit einem Schlag:

cd /etc/postfix && cp mysql-virtual_domains.cf mysql-virtual_domains_inverted.cf && sed -i "s/^table.*//g" mysql-virtual_domains_inverted.cf && sed -i "s/^select_field.*//g" mysql-virtual_domains_inverted.cf && sed -i "s/^where_field.*//g" mysql-virtual_domains_inverted.cf && sed -i "s/^additional_conditions.*//g" mysql-virtual_domains_inverted.cf && echo >> mysql-virtual_domains_inverted.cf && echo "query = SELECT 'REJECT' FROM mail_domain WHERE domain = '%d' AND active = 'y'" >> mysql-virtual_domains_inverted.cf && echo "require_result_set = no" >> mysql-virtual_domains_inverted.cf && sed -i '/^\s*$/d' mysql-virtual_domains_inverted.cf && chgrp postfix mysql-virtual_domains_inverted.cf && postconf -e "smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re , permit_mynetworks, permit_sasl_authenticated, check_sender_access mysql:/etc/postfix/mysql-virtual_domains_inverted.cf, check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf, check_sender_access regexp:/etc/postfix/tag_as_foreign.re" && service postfix restart

Kommentar erstellen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich stimme zu.