Postfix/Restrictions: Unterschied zwischen den Versionen
K Textersetzung - „'''topic''' kurze Beschreibung“ durch „'''topic''' - Kurzbeschreibung“ |
|||
(59 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' | '''topic''' - Kurzbeschreibung | ||
== Beschreibung == | == Beschreibung == | ||
; Restrictions werden in folgender Reihenfolge bearbeitet | |||
# smtpd_client_restrictions | # smtpd_client_restrictions | ||
# smtpd_helo_restrictions | # smtpd_helo_restrictions | ||
Zeile 9: | Zeile 8: | ||
# smtpd_data_restrictions | # smtpd_data_restrictions | ||
== | == Restrictions == | ||
{| class="wikitable sortable" | |||
|- | |||
! Restriction !! Beschreibung | |||
|- | |||
| permit_sasl_authenticated || Authentifizierte User erlauben | |||
|} | |||
=== smtpd_client_restrictions === | === 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 === | === 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 | 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 | 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 85: | Zeile 64: | ||
reject_non_fqdn_sender | reject_non_fqdn_sender | ||
=== | {| class="wikitable sortable" | ||
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. | |- | ||
! 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 96: | 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 104: | 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 124: | 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=