Postfix/Restrictions
topic - Kurzbeschreibung
Beschreibung
- Restrictions werden in folgender Reihenfolge bearbeitet
- smtpd_client_restrictions
- smtpd_helo_restrictions
- smtpd_sender_restrictions
- smtpd_recipient_restrictions
- smtpd_data_restrictions
Restrictions
Restriction | Beschreibung |
---|---|
permit_sasl_authenticated | Authentifizierte User erlauben |
smtpd_client_restrictions
MTAs kommunizieren über das SMTP-Protokoll.
- Deshalb muss sowohl der Client als auch der Server SMTP verstehen.
- Diese Restriktion steht für die Beschränkung der Adresse oder des Hostnamen des SMTP-Clients.
- Der Client bedeutet hier der zum Server verbundene TCP/IP-Client.
- Überprüft den SMTP-Client nach diesen Kriterien
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unknown_client
Restriction | Beschreibung |
---|---|
reject_unknown_client | Verwirft die Anfrage, wenn der Hostname des SMTP-Clients unbekannt ist (die IP-Adresse oder der Hostname des TCP/IP-Clients) |
reject_rbl_client domain.tld | Verwirft die Anfrage, wenn der SMTP-Client einen DNS-Record vom Typ A unter domain.tld hat |
reject_rhsbl_client domain.tld | Verwirft die Anfrage, wenn der SMTP-Client einen DNS-Record vom Typ A unter domain.tld hat |
warn_if_reject | Schreibt ein WARN ins Logfile und stellt die Nachricht zu, anstatt die Nachricht zu verwerfen |
check_client_access maptype:mapname | Löst die Client-Namen, Client-Adressen und Parent-Domains auf anhand der in maptype:mapname angegebenen Map |
permit_mynetworks | Gewährt Zugriff, wenn der Client in $mynetworks zu finden ist |
smtpd_helo_restrictions
In der Regel schicken die SMTP-Clients zum Server ein HELO/EHLO zur Begrüßung, in welchem sie ihren eigenen Hostnamen bekanntgeben.
- In dieser Restriktion können wir bestimmen, welche Hostnamen der Client schicken kann.
- Es wäre sicher nicht sinnvoll, wenn ein externer Client unseren eigenen Hostnamen schicken würde (Spammer-Methode).
- Es ist sinnvoll, zu konfigurieren, dass ein SMTP-Client ein HELO/EHLO schicken muss.
- Mit diesem Verfahren kann man viele Spam filtern.
smtpd_helo_required=yes
- Beispiel
Überprueft den SMTP-Client nach dem er "Hallo" gesagt hat
smtpd_helo_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_invalid_hostname, reject_unknown_hostname, reject_non_fqdn_hostname, reject_unknown_sender_domain, reject_non_fqdn_sender
Restriction | Beschreibung |
---|---|
reject_invalid_hostname | Verwirft den im HELO/EHLO angegebenen Hostnamen, falls dieser eine falsche Syntax hat.
|
reject_unknown_hostname | Verwirft den im HELO/EHLO angegebenen Hostnamen, welcher keinen DNS Rekord vom Typ A oder MX hat.
|
reject_non_fqdn_hostname | Verwirft den im HELO/EHLO angegebenen Hostnamen, wenn dieser nicht in FQDN-Form ist.
|
warn_if_reject | Schreibt ein WARN ins Logfile und stellt die Nachricht zu, anstatt die Nachricht zu verwerfen. |
check_helo_access | Löst den im HELO/EHLO angegebenen Hostnamen oder die Parent-Domain auf. |
permit_mynetworks | Gewährt Zugriff, wenn der Client in $mynetworks zu finden ist. |
reject_unknown_sender_domain | Verwirft die Sender-Domain, wenn diese keinen DNS-Record vom Typ A oder MX hat. |
reject_non_fqdn_sender | Verwirft die Sender-Domain, wenn diese nicht in FQDN-Form ist. |
reject_rhsbl_sender domain.tld | Verwirft die Anfrage, wenn der Sender einen DNS-Record vom Typ A unter domain.tld hat. |
reject_sender_login_mismatch |
|
check_sender_access maptype:mapname | Löst die Sender-Adresse, Parent-Domain oder localpart@ auf. |
check_sender_mx_access maptype:mapname | Löst den DNS-Record vom Typ MX des Senders auf. |
smtpd_sender_restrictions
In dieser Restriktion können wir einstellen, welchen Sender unser Postfix MTA im „MAIL FROM:“-Befehl empfangen soll, da viele Spammer ins „MAIL FROM:“ nicht existierende oder ungültige Email-Adressen schreiben (z. B. peter@foobar.de oder peter@foo@bar.de).
- In diesem Fall gehen wir davon aus, dass die Domain foobar.de nicht existiert.
Überprueft den "MAIL FROM:"-Befehl
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain
smtpd_recipient_restrictions
- Diese Restriktion legt fest, was als Wert für den Befehl „RCPT TO:“ zugelassen ist.
- Spammer können hier ungültige Adressen angeben, welche mit verschiedenen Optionen gefiltert werden können.
- Beispiel
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, # Wer Spam liebt muss hier eingetragen werden check_recipient_access hash:/etc/postfix/spam_lovers, reject_invalid_hostname, reject_non_fqdn_hostname, reject_unknown_hostname, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination, # Sqlgrey check_policy_service inet:[127.0.0.1]:2501, # Poliyd Weight check_policy_service inet:[127.0.0.1]:12525, permit
Restriction | Beschreibung |
---|---|
reject_unknown_recipient_domain | Verwirft die Anfrage, wenn im RCPT TO die Domain des Empfängers keinen DNS-Record vom Typ A oder MX hat. |
reject_non_fqdn_recipient | Verwirft die Anfrage, wenn im RCPT TO die Domain des Empfängers nicht in FQDN-Form ist. |
reject_rhsbl_recipient domain.tld | Verwirft die Anfrage, wenn der Empfänger einen DNS-Record vom Typ A unter domain.tld hat. |
reject_unauth_pipelining | Verwirft die Anfrage, wenn man nicht korrekte Pipelines macht. |
reject_unauth_destination | Verwirft das Absenden von Emails:
|
warn_if_reject | Schreibt ein WARN ins Logfile und stellt die Nachricht zu, anstatt die Nachricht zu verwerfen. |
check_recipient_access maptype:mapname | Löst die Empfänger-Adresse, Parent-Domain oder localpart@ auf. |
check_recipient_access hash:/etc/postfix/spam_lovers | Diese Regeln auslesen um keine Spam Prüfung zu machen |
check_recipient_mx_access maptype:mapname | Löst den DNS-Record vom Typ MX des Empfängers auf. |
permit_auth_destination | Erlaubt das Absenden von Emails:
|
permit_mx_backup | Erlaubt das Empfangen von Emails für Seiten, die mich als MX Host auflisten. |
permit_mynetworks | Gewährt Zugriff, wenn der Client in der Liste von $mynetworks ist. |
reject_unauth_pipelining | Verwirft die Anfrage, wenn man nicht korrekte Pipelines macht |
smtpd_data_restrictions
- Hier wird nicht der Inhalt des DATA-Befehls gefiltert, sondern der Befehl selber.
- Dies filtert den SMTP-Client, der nicht die Regeln des SMTP-Protokolls einhält.
smtpd_data_restrictions=