Postfix/Restrictions: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „'''topic''' kurze Beschreibung“ durch „'''topic''' - Kurzbeschreibung“
 
(66 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=== Reihenfolge ===
'''topic''' - Kurzbeschreibung
Postfix verarbeitet die restrictions (Beschränkungsphasen) in folgender Reihenfolge:
== Beschreibung ==
* '''smtpd_client_restrictions'''
; Restrictions werden in folgender Reihenfolge bearbeitet
* '''smtpd_helo_restrictions'''
# smtpd_client_restrictions
* '''smtpd_sender_restrictions'''
# smtpd_helo_restrictions
* '''smtpd_recipient_restrictions'''
# smtpd_sender_restrictions
* '''smtpd_data_restrictions'''
# smtpd_recipient_restrictions
# smtpd_data_restrictions


=== Regel smtpd_client_restrictions ===
== Restrictions ==
Die MTAs »sprechen« miteinander im 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.
{| class="wikitable sortable"
|-
! Restriction !! Beschreibung
|-
| permit_sasl_authenticated || Authentifizierte User erlauben
|}


# Überprüft den SMTP-Client nach diesen Kriterien
=== smtpd_client_restrictions ===
smtpd_client_restrictions =
MTAs kommunizieren über das SMTP-Protokoll.
        permit_sasl_authenticated,
* Deshalb muss sowohl der Client als auch der Server SMTP verstehen.
        permit_mynetworks,
* Diese Restriktion steht für die Beschränkung der Adresse oder des Hostnamen des SMTP-Clients.
        reject_unknown_client
* Der Client bedeutet hier der zum Server verbundene TCP/IP-Client.


=== Regel smtpd_client_restrictions ===
# Ü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_sasl_authenticated,
        permit_mynetworks,
  permit_mynetworks,
        reject_unknown_client
  reject_unknown_client


=== Regel smtpd_helo_restrictions ===
{| class="wikitable sortable"
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-Software filtern. 
|-
! 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
|}


Dies kann man so machen:
=== 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


smtpd_helo_required=yes
;Beispiel
 
Überprueft den SMTP-Client nach dem er "Hallo" gesagt hat
# Ueberprueft 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


=== Regel smtpd_sender_restrictions ===
{| 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.
|}


# Ueberprueft den "MAIL FROM:"-Befehl
=== 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


=== Regel smtpd_recipient_restrictions ===
=== smtpd_recipient_restrictions ===
Diese Restriktion setzt fest, was als Wert für den Befehl „RCPT TO:“ zugelassen ist. Die Spammer können auch hier ungültige Adressen angeben, welche wir mit verschiedenen Optionen filtern können.  
* 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


=== Regel smtpd_data_restrictions ===
{| class="wikitable sortable"
Bevor ihr es falsch versteht… nein, 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.  
|-
 
! Restriction !! Beschreibung
smtpd_data_restrictions=
|-
=== Erläuterungen ===
| 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.
* '''permit_sasl_authenticated''': Authentifizierte User erlauben
|-
 
| reject_non_fqdn_recipient || Verwirft die Anfrage, wenn im RCPT TO die Domain des Empfängers nicht in FQDN-Form ist.
==== Erläuterungen smtpd_client_restrictions ====
|-
* '''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_rhsbl_recipient domain.tld || Verwirft die Anfrage, wenn der Empfänger einen DNS-Record vom Typ A unter domain.tld hat.
* '''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.
| reject_unauth_pipelining || Verwirft die Anfrage, wenn man nicht korrekte Pipelines macht.
* '''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.
| reject_unauth_destination || Verwirft das Absenden von Emails:
* '''permit_mynetworks''': Gewährt Zugriff, wenn der Client in $mynetworks zu finden ist.
* 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).
==== Erläuterungen smtpd_helo_restrictions ====
|-
* '''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, dann ist es sinnvoll, diese Beschränkung erst nach permit_mynetworks anzugeben (wie ich schon gesagt habe, die Reihenfolge ist sehr wichtig), sonst wird er vom MTA verworfen oder zurückgewiesen.
| warn_if_reject || Schreibt ein WARN ins Logfile und stellt die Nachricht zu, anstatt die Nachricht zu verwerfen.
* '''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.
| check_recipient_access maptype:mapname || Löst die Empfänger-Adresse, Parent-Domain oder localpart@ auf.
* '''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.
| check_recipient_access hash:/etc/postfix/spam_lovers || Diese Regeln auslesen um keine Spam Prüfung zu machen
* '''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.
| check_recipient_mx_access maptype:mapname || Löst den DNS-Record vom Typ MX des Empfängers auf.
* '''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.
| permit_auth_destination || Erlaubt das Absenden von Emails:
* '''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.
* zu Zielmaschinen, die unter $inet_interfaces, $mydestination, $virtual_alias_domains der $virtual_mailbox_domains zu finden sind.
* '''warn_if_reject''': Schreibt ein WARN ins Logfile und stellt die Nachricht zu, anstatt die Nachricht zu verwerfen.
* zu Zielmaschinen, die unter $relay_domains oder in deren Subdomains zu finden sind (außer Sender-spezifisches Routing).
* '''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.
| 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
|}


==== Erläuterungen smtpd_recipient_restrictions ====
=== smtpd_data_restrictions ===
* '''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.
* Hier wird nicht der Inhalt des DATA-Befehls gefiltert, sondern der Befehl selber.  
* '''reject_non_fqdn_recipient''': Verwirft die Anfrage, wenn im RCPT TO die Domain des Empfängers nicht in FQDN-Form ist.
* Dies filtert den SMTP-Client, der nicht die Regeln des SMTP-Protokolls einhält.  
* '''reject_rhsbl_recipient domain.tld''': Verwirft die Anfrage, wenn der Empfänger einen DNS-Record vom Typ A unter domain.tld hat.
smtpd_data_restrictions=
* '''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.


==== Erläuterungen smtpd_data_restrictions ====
* '''reject_unauth_pipelining''': Verwirft die Anfrage, wenn man nicht korrekte Pipelines macht.


Quelle: https://www.secretisland.de/postfix-restrictions/
[[Kategorie:Postfix/Konfiguration]]

Aktuelle Version vom 14. September 2024, 20:06 Uhr

topic - Kurzbeschreibung

Beschreibung

Restrictions werden in folgender Reihenfolge bearbeitet
  1. smtpd_client_restrictions
  2. smtpd_helo_restrictions
  3. smtpd_sender_restrictions
  4. smtpd_recipient_restrictions
  5. 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.
  1. Ü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.
  • 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 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.  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:
  • 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=