Postfix/Restrictions: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „'''topic''' kurze Beschreibung“ durch „'''topic''' - Kurzbeschreibung“
 
(68 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


== 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.


=== Regel smtpd_client_restrictions ===
# Überprüft den SMTP-Client nach diesen Kriterien
smtpd_client_restrictions =
  permit_sasl_authenticated,
  permit_mynetworks,
  reject_unknown_client


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
|-
| 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
|}


<nowiki># Überprüft den SMTP-Client nach diesen Kriterien</nowiki>
=== smtpd_helo_restrictions ===
smtpd_client_restrictions =
In der Regel schicken die SMTP-Clients zum Server ein HELO/EHLO zur Begrüßung, in welchem sie ihren eigenen Hostnamen bekanntgeben.
        permit_sasl_authenticated,
* In dieser Restriktion können wir bestimmen, welche Hostnamen der Client schicken kann.
        permit_mynetworks,
* Es wäre sicher nicht sinnvoll, wenn ein externer Client unseren eigenen Hostnamen schicken würde (Spammer-Methode).
        reject_unknown_client
* 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


=== Regel smtpd_client_restrictions ===
;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


<nowiki># Überprüft den SMTP-Client nach diesen Kriterien</nowiki>
{| class="wikitable sortable"
smtpd_client_restrictions =
|-
        permit_sasl_authenticated,
! Restriction !! Beschreibung
        permit_mynetworks,
|-
        reject_unknown_client
| 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:&nbsp;[http://www.chains.ch/ http://www.chains.ch]&nbsp;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.
|}


=== Regel smtpd_helo_restrictions ===
=== 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.&nbsp;B.&nbsp;&nbsp;[mailto:peter@foobar.de peter@foobar.de]&nbsp;oder peter@foo@bar.de).
* In diesem Fall gehen wir davon aus, dass die Domain foobar.de nicht existiert.


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.&nbsp;
Überprueft den "MAIL FROM:"-Befehl
smtpd_sender_restrictions =
  permit_sasl_authenticated,
  permit_mynetworks,
  reject_unauth_destination,
  reject_non_fqdn_recipient,
  reject_unknown_recipient_domain


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


smtpd_helo_required=yes
;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


<nowiki># Ueberprueft den SMTP-Client nach dem er "Hallo" gesagt hat</nowiki>
{| class="wikitable sortable"
smtpd_helo_restrictions =
|-
        permit_sasl_authenticated,
! Restriction !! Beschreibung
        permit_mynetworks,
|-
        reject_invalid_hostname,
| 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_unknown_hostname,
|-
        reject_non_fqdn_hostname,
| reject_non_fqdn_recipient || Verwirft die Anfrage, wenn im RCPT TO die Domain des Empfängers nicht in FQDN-Form ist.
        reject_unknown_sender_domain,
|-
        reject_non_fqdn_sender
| 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
|}


=== Regel smtpd_sender_restrictions ===
=== 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=


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.&nbsp;[mailto:peter@foobar.de peter@foobar.de]&nbsp;oder peter@foo@bar.de). In diesem Fall gehen wir davon aus, dass die Domain foobar.de nicht existiert.


<nowiki># Ueberprueft den "MAIL FROM:"-Befehl</nowiki>
[[Kategorie:Postfix/Konfiguration]]
smtpd_sender_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_unauth_destination,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain
 
=== Regel 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.
 
smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        <nowiki># Wer Spam liebt muss hier eingetragen werden</nowiki>
        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,
 
        <nowiki># Sqlgrey</nowiki>
        check_policy_service inet:[127.0.0.1]:2501,
        <nowiki># Poliyd Weight</nowiki>
        check_policy_service inet:[127.0.0.1]:12525,
        permit
 
=== Regel smtpd_data_restrictions ===
 
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.
 
smtpd_data_restrictions=
 
=== Erläuterungen: ===
 
* '''permit_sasl_authenticated''': Authentifizierte User erlauben
 
 
 
==== 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_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.
 
 
 
==== 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.
* '''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:&nbsp;[http://www.chains.ch/ http://www.chains.ch]&nbsp;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.
* '''warn_if_reject''': Schreibt ein WARN ins Logfile und stellt die Nachricht zu, anstatt die Nachricht zu verwerfen.
* '''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.
 
 
 
==== Erläuterungen smtpd_recipient_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.
* '''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.
 
 
 
==== Erläuterungen smtpd_data_restrictions ====
 
* '''reject_unauth_pipelining''': Verwirft die Anfrage, wenn man nicht korrekte Pipelines macht.
 
 
 
 
 
Quelle: https://www.secretisland.de/postfix-restrictions/

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=