Postfix/Restrictions: Unterschied zwischen den Versionen
K Textersetzung - „'''topic''' kurze Beschreibung“ durch „'''topic''' - Kurzbeschreibung“ |
|||
(66 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== | '''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 == | ||
{| class="wikitable sortable" | |||
|- | |||
! 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 | # Überprüft den SMTP-Client nach diesen Kriterien | ||
smtpd_client_restrictions = | smtpd_client_restrictions = | ||
permit_sasl_authenticated, | |||
permit_mynetworks, | |||
reject_unknown_client | |||
= | {| class="wikitable sortable" | ||
|- | |||
! 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 = | smtpd_helo_restrictions = | ||
permit_sasl_authenticated, | permit_sasl_authenticated, | ||
Zeile 40: | Zeile 64: | ||
reject_non_fqdn_sender | reject_non_fqdn_sender | ||
= | {| class="wikitable sortable" | ||
|- | |||
! Restriction !! Beschreibung | |||
|- | |||
| reject_invalid_hostname || Verwirft den im HELO/EHLO angegebenen Hostnamen, falls dieser eine falsche Syntax hat. | |||
* Wenn man in einem Netzwerk ist und man will, dass die Maschinen, die auch im Netzwerk sind, Emails über unseren MTA verschicken wollen | |||
* Diese Beschränkung sollte erst nach permit_mynetworks anzugeben (die Reihenfolge ist wichtig), sonst wird er vom MTA verworfen oder zurückgewiesen. | |||
|- | |||
| reject_unknown_hostname || Verwirft den im HELO/EHLO angegebenen Hostnamen, welcher keinen DNS Rekord vom Typ A oder MX hat. | |||
* Hier ist es auch sinnvoll permit_mynetworks zuerst anzugeben, wenn man ein Relay-MTA für das innere Netzwerk ist. | |||
|- | |||
| reject_non_fqdn_hostname || Verwirft den im HELO/EHLO angegebenen Hostnamen, wenn dieser nicht in FQDN-Form ist. | |||
* Was bedeutet FQDN? Full Qualified Domain Name. | |||
* Dafür ein Beispiel: [http://www.chains.ch/ http://www.chains.ch] ist ein FQDN. | |||
|- | |||
| 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 || | |||
* Verwirft, wenn $smtpd_sender_login_maps für eine MAIL FROM- Adresse einen Besitzer spezifiziert, aber der sich nicht mit SASL authentifiziert hat | |||
* verwirft, wenn der Sender sich authentifiziert hat, aber die MAIL FROM-Adresse nicht mit dem Sender übereinstimmt. | |||
|- | |||
| 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. [mailto:peter@foobar.de 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 = | smtpd_sender_restrictions = | ||
permit_sasl_authenticated, | permit_sasl_authenticated, | ||
Zeile 51: | Zeile 112: | ||
reject_unknown_recipient_domain | reject_unknown_recipient_domain | ||
=== | === smtpd_recipient_restrictions === | ||
Diese Restriktion | * 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 = | smtpd_recipient_restrictions = | ||
permit_sasl_authenticated, | permit_sasl_authenticated, | ||
Zeile 59: | Zeile 122: | ||
# Wer Spam liebt muss hier eingetragen werden | # Wer Spam liebt muss hier eingetragen werden | ||
check_recipient_access hash:/etc/postfix/spam_lovers, | check_recipient_access hash:/etc/postfix/spam_lovers, | ||
reject_invalid_hostname, | reject_invalid_hostname, | ||
reject_non_fqdn_hostname, | reject_non_fqdn_hostname, | ||
reject_unknown_hostname, | reject_unknown_hostname, | ||
reject_non_fqdn_sender, | reject_non_fqdn_sender, | ||
reject_non_fqdn_recipient, | reject_non_fqdn_recipient, | ||
reject_unknown_sender_domain, | reject_unknown_sender_domain, | ||
reject_unknown_recipient_domain, | reject_unknown_recipient_domain, | ||
reject_unauth_pipelining, | reject_unauth_pipelining, | ||
reject_unauth_destination, | reject_unauth_destination, | ||
# Sqlgrey | # Sqlgrey | ||
check_policy_service inet:[127.0.0.1]:2501, | check_policy_service inet:[127.0.0.1]:2501, | ||
Zeile 79: | Zeile 142: | ||
permit | permit | ||
= | {| class="wikitable sortable" | ||
|- | |||
! 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: | |||
* zu Zielmaschinen, die nicht unter $inet_interfaces, $mydestination, $virtual_alias_domains der $virtual_mailbox_domains zu finden sind. | |||
* zu Zielmaschinen, die nicht unter $relay_domains oder in deren Subdomains zu finden sind (außer Sender-spezifisches Routing). | |||
|- | |||
* | | 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: | |||
* | * zu Zielmaschinen, die unter $inet_interfaces, $mydestination, $virtual_alias_domains der $virtual_mailbox_domains zu finden sind. | ||
* | * zu Zielmaschinen, die unter $relay_domains oder in deren Subdomains zu finden sind (außer Sender-spezifisches Routing). | ||
|- | |||
| 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= | ||
[[Kategorie:Postfix/Konfiguration]] |
Aktuelle Version vom 14. September 2024, 20:06 Uhr
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=