diff --git a/host_vars/g.mx.oopen.de/g.mx-common.yml b/host_vars/g.mx.oopen.de/g.mx-common.yml index 6beca15..c44a37b 100644 --- a/host_vars/g.mx.oopen.de/g.mx-common.yml +++ b/host_vars/g.mx.oopen.de/g.mx-common.yml @@ -31,7 +31,7 @@ install_compiler_pkgs: true # vars used by roles/common/tasks/systemd-resolved.yml # --- -systemd_resolved: true +systemd_resolved: false # CyberGhost - Schnelle Verbindung mit Keine-Logs-Datenschutzrichtlinie # Primäre DNS-Adresse: 38.132.106.139 @@ -101,7 +101,7 @@ resolved_fallback_nameserver: # vars used by roles/common/tasks/users.yml # --- -# insert_root_ssh_keypair: true +insert_root_ssh_keypair: true # # root_ssh_keypair: # - name: id-rsa-dehydrated diff --git a/hosts b/hosts index 52a48cc..9b49778 100644 --- a/hosts +++ b/hosts @@ -488,10 +488,10 @@ web-09.oopen.de o40.oopen.de cl-flr.oopen.de cp-flr.oopen.de +g.mx.oopen.de # Kotti-Coop e.V. o41.oopen.de -g.mx.oopen.de # RAV o42.oopen.de diff --git a/roles/common/files/a.mx.oopen.de/etc/postfix/postfwd.wl-user b/roles/common/files/a.mx.oopen.de/etc/postfix/postfwd.wl-user index 66a76a8..1d2b37a 100644 --- a/roles/common/files/a.mx.oopen.de/etc/postfix/postfwd.wl-user +++ b/roles/common/files/a.mx.oopen.de/etc/postfix/postfwd.wl-user @@ -1,15 +1,17 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users whitelisted by postfwd # -# example: +# Vollstaendige Freistellung fuer SASL-Benutzernamen. +# +# Exakter Name pro Zeile, keine Regex; wie von Postfix als sasl_username geliefert. +# +# Umgeht auch Blacklists und alle Limits. Fuer nur hoehere Limits stattdessen +# postfwd.high-rate-number-messages bzw. -recipients verwenden. +# +# Example: # # # give trusted sasl usernames here # ckubu@oopen.de # vertrieb@akweb.de -# -# --- # give trusted sasl usernames here abo@akweb.de diff --git a/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-nets b/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-nets index 7ed94f9..5b7f8b2 100644 --- a/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-nets +++ b/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-nets @@ -1,19 +1,24 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted networks whitelisted by postfwd # -# Example: +# Vollstaendige Freistellung fuer Client-IP-Adressen/IPv4-Netze. +# Umgeht auch die nachfolgenden Blacklists und alle Limits; nur bewusst nutzen. +# IPv4: einzelne Adresse oder CIDR-Netz. postfwd2 1.35 verarbeitet IPv6 hier +# nur als exakten Adresstext OHNE /128, nicht als IPv6-CIDR-Netz. +# +# Exakte IPv6-Schreibweise wie client_address von Postfix verwenden. +# Eine Adresse/ein Netz pro Zeile. +# +# Beispiele: +# +# 192.0.2.10 +# 192.0.2.0/24 +# +# # b.mx.oopen.de +# 2a01:4f8:271:1266::73 +# 2a01:4f8:271:1266::/64 # -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee # -# --- - -# give truested networrk adresses here - # d.mx.oopen.de (listen server) 95.217.204.227 2a01:4f9:4a:47e5::227 + diff --git a/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-sender b/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-sender index 39cf74c..d13f1b9 100644 --- a/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-sender +++ b/roles/common/files/b.mx.oopen.de/etc/postfix/postfwd.wl-sender @@ -1,25 +1,20 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted senders whitelisted by postfwd # -# This file is called with '=~'. This means perl regexp is possible +# Vollstaendige Freistellung anhand des Envelope-Absenders, NICHT From:-Header. # -# -# To increase performance use ^ and/or $ in regular expressions +# Perl-Regex pro Zeile # # Example: # -# # all senders of maildomaindomain 'oopen.de' -# @oopen\.de$ +# ^noreply@example\.org$ # -# # sender address ckubu@oopen.de -# ^ckubu@oopen\.de$ +# ACHTUNG: +# Absender ist nachahmbar; diese Liste prueft weder SPF noch DKIM noch +# SASL-Identitaet. Treffer umgehen nachfolgende postfwd-Sperren und Limits. +# Der vorhandene Eintrag wurde als bisherige Ausnahme beibehalten. # -# --- # give trusted sender addresses here ^noreply@login\.ubuntu\.com$ ^check_local_es_service@oolm-shop\.oopen\.de$ ^root@oolm-shop\.oopen\.de$ - diff --git a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb index 507514c..ecf9fa2 100644 --- a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb +++ b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb @@ -1,34 +1,44 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Block messages exeeds 20 MB for listed recipients # -# This file is called with '=~'. This means perl regexp is possible +# Empfaenger mit zusaetzlichem 20-MiB-Limit, NUR bei Einzelempfaengern. +# Perl-Regex pro Zeile; z.B. +# ^user@example\.org$ +# @example\.org$ +# Die Regel greift nur bei recipient_count=1 am END-OF-MESSAGE und bei +# size > 20971520 Bytes. Genau 20 MiB bleiben erlaubt. +# Bei mehreren Empfaengern fehlt recipient dort; dafuer bietet diese Datei +# KEIN verlaessliches Limit. Fuer verbindliche Limits ist eine andere +# Loesung erforderlich. Die bisher leere Liste bleibt leer. +# Historischer Dateiname mit Schreibfehler bleibt aus Kompatibilitaet erhalten. # +# +------------------+----------------------+----------------+----------------------+ +# | SMTP-Empfaenger | Empfaenger gelistet? | Nachricht | Wirkung dieser Regel | +# +------------------+----------------------+----------------+----------------------+ +# | Genau einer | Ja | Bis 20 MiB | Keine Ablehnung | +# | Genau einer | Ja | Ueber 20 MiB | REJECT | +# | Genau einer | Nein | Beliebig | Keine Ablehnung | +# | Mehrere | Einer oder mehrere | Beliebig | Keine Ablehnung | +# | | gelistet | | | +# +------------------+----------------------+----------------+----------------------+ +# +# 20 MiB = 20.971.520 Bytes, einschliesslich Header und MIME-Kodierung. +# +# Bei mehreren SMTP-Empfaengern liefert Postfix am Nachrichtenende +# keine einzelne Empfaengeradresse fuer den Listenvergleich. +# +# Das globale Postfix-Limit message_size_limit gilt weiterhin. # -# To increase performance use ^ and/or $ in regular expressions -# -# @acieu\.co\.uk$ -# ^error@mailfrom\.com$ -# -# instedt of -# -# @acieu.co.uk -# error@mailfrom.com -# -# -# Example: +# +# # Example: # # # # annoying spammer domains # # block all senders of maildomaindomain 'oopen.de' # @acieu\.co\.uk$ # # # annoying spammer addresses -# # block sender address +# # block sender address # error@mailfrom.com # sqek@eike\.se$ -# -# --- # MBR / VDK -info@mbr-berlin.de +^info@mbr-berlin\.de$ diff --git a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high-rate-number-messages b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high-rate-number-messages index df6cc67..b52c481 100644 --- a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high-rate-number-messages +++ b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high-rate-number-messages @@ -1,19 +1,20 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users are allowed to send up to 500 messages per hour # -# This file is called with '=='. This means perl regexp is NOT possible +# SASL-Benutzer mit bis zu 500 Nachrichten UND 1000 Empfaengern pro Stunde. # +# Exakter sasl_username pro Zeile, keine Regex. Leere Datei = keine Ausnahme. +# =========================================================================== # -# example: +# interne Bemerkung +# Die Standardlimits 50 Nachrichten und 250 Empfaenger werden gezielt +# uebersprungen. IP-Minutenlimit und maximal 89 Empfaenger/Nachricht bleiben. +# Eine Nachricht mit 10 Empfaengern zaehlt als 1 Nachricht und 10 Empfaenger. +# Dies ist keine vollstaendige Freistellung; Blacklists gelten weiterhin. # -# # give sasl usernames here -# # -# ckubu@oopen.de +# Example: # -# --- +# buchsys@sprachenatelier-berlin.de +# todo@warenform.de # give sasl usernames here buchsys@sprachenatelier-berlin.de - diff --git a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high_rate_hostname b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high_rate_hostname deleted file mode 100644 index d124692..0000000 --- a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high_rate_hostname +++ /dev/null @@ -1,40 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# ============================================================ -# Whitelist fuer erhoehtes Rate-Limit (100 Nachrichten/Minute) -# auf Basis des Client-Hostnamens (Reverse-DNS/PTR-Eintrag), -# statt der Standard-Grenze von 50/Minute aus RATE_CLIENT_ADDR -# -# Format: PCRE-regulaerer Ausdruck pro Zeile (kein Wildcard/Glob!), -# postfwd2 vergleicht jede Zeile gegen den von Postfix aufgeloesten -# 'client_name'-Wert (PTR-Eintrag der Client-IP). -# Leerzeilen und Zeilen, die mit '#' beginnen, werden ignoriert. -# -# Beispiele: -# /^buchsys3\.buchsys\.de$/ -> nur dieser eine Hostname -# /\.buchsys\.de$/ -> alle Subdomains von buchsys.de -# (z.B. buchsys3.buchsys.de, -# mail.buchsys.de, etc.) -# -# WICHTIG: -# - Diese Regel greift NUR, wenn Reverse-DNS fuer die jeweilige -# IP sauber konfiguriert ist und der PTR-Eintrag auf das Muster -# passt. Pruefe den tatsaechlichen 'client_name'-Wert vorher in -# den postfwd2-Logs. -# - Ein zu breites Muster (z.B. /buchsys\.de/ ohne Anker) kann auch -# unerwuenschte Hosts matchen (z.B. "evil-buchsys.de.attacker.com"). -# Deshalb immer mit '^' und '$' bzw. '\.' vor der Domain arbeiten. -# - Jeder hier gematchte Hostname umgeht das strengere 50er-Limit -# und erlaubt bis zu 100 Nachrichten/Minute. Bitte nur Muster -# eintragen, denen du tatsaechlich vertraust. -# - Nach Aenderungen an dieser Datei postfwd2 neu laden/starten: -# systemctl restart postfwd2 -# - Diese Datei wird per 'pcre:' Lookup direkt in postfwd.cf -# referenziert, siehe Regel 'HIGH_RATE_CLIENT_NAME'. -# - Die IP-basierte Regel (HIGH_RATE_CLIENT_ADDR) ist zuverlaessiger -# und sollte die primaere Loesung sein; diese Hostname-Regel -# eignet sich vor allem als Ergaenzung bei wechselnden IPs. -# ============================================================ - -/^buchsys3\.buchsys\.de$/ -/^www\.buchsys\.de$/ diff --git a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high_rate_ip b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high_rate_ip deleted file mode 100644 index ca4ae87..0000000 --- a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.high_rate_ip +++ /dev/null @@ -1,35 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# ============================================================ -# Whitelist fuer erhoehtes Rate-Limit (100 Nachrichten/Minute) -# statt der Standard-Grenze von 50/Minute aus RATE_CLIENT_ADDR -# -# Hier werden IP-Adressen bzw. CIDR-Netze von vertrauenswuerdigen -# Absende-Systemen eingetragen, die routinemaessig hoehere -# Mailmengen ueber eine feste Absender-IP verschicken, z. B. -# Kunden-Mailserver, angebundene Fachanwendungen/Buchungssysteme, -# Newsletter- oder Transaktionsmail-Versender. -# -# Format: eine IP-Adresse oder ein CIDR-Netz pro Zeile. -# Leerzeilen und Zeilen, die mit '#' beginnen, werden ignoriert. -# IPv4 und IPv6 werden unterstuetzt. -# -# Beispiele: -# 116.202.85.120 -# 203.0.113.0/24 -# -# WICHTIG: -# - Jede hier eingetragene IP umgeht das strengere 50er-Limit -# und darf bis zu 100 Nachrichten/Minute senden. Bitte nur -# IPs eintragen, denen du tatsaechlich vertraust (kompromittierte -# oder falsch eingetragene Systeme koennten sonst zum offenen -# Spam-Verteiler werden). -# - Nach Aenderungen an dieser Datei postfwd2 neu laden/starten, -# damit die Aenderung sicher greift: -# systemctl restart postfwd2 -# - Diese Datei wird per 'cidr:' Lookup direkt in postfwd.cf -# referenziert, siehe Regel 'HIGH_RATE_CLIENT_ADDR'. -# ============================================================ - -# www.buchsys.de -116.202.85.120 diff --git a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.wl-user b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.wl-user index 66a76a8..bfcb1a7 100644 --- a/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.wl-user +++ b/roles/common/files/e.mx.oopen.de/etc/postfix/postfwd.wl-user @@ -1,19 +1,20 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users whitelisted by postfwd # -# example: +# Vollstaendige Freistellung fuer SASL-Benutzernamen. +# +# Exakter Name pro Zeile, keine Regex; wie von Postfix als sasl_username geliefert. +# +# Umgeht auch Blacklists und alle Limits. Fuer nur hoehere Limits stattdessen +# postfwd.high-rate-number-messages bzw. -recipients verwenden. +# +# Example: # # # give trusted sasl usernames here # ckubu@oopen.de # vertrieb@akweb.de -# -# --- # give trusted sasl usernames here abo@akweb.de vertrieb@akweb.de prokla@akweb.de presse@mbr-berlin.de - diff --git a/roles/common/files/g.mx.oopen.de/etc/postfix/postfwd.wl-nets b/roles/common/files/g.mx.oopen.de/etc/postfix/postfwd.wl-nets index 7ed94f9..353349d 100644 --- a/roles/common/files/g.mx.oopen.de/etc/postfix/postfwd.wl-nets +++ b/roles/common/files/g.mx.oopen.de/etc/postfix/postfwd.wl-nets @@ -1,19 +1,27 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted networks whitelisted by postfwd # -# Example: +# Vollstaendige Freistellung fuer Client-IP-Adressen/IPv4-Netze. +# Umgeht auch die nachfolgenden Blacklists und alle Limits; nur bewusst nutzen. +# IPv4: einzelne Adresse oder CIDR-Netz. postfwd2 1.35 verarbeitet IPv6 hier +# nur als exakten Adresstext OHNE /128, nicht als IPv6-CIDR-Netz. +# +# Exakte IPv6-Schreibweise wie client_address von Postfix verwenden. +# Eine Adresse/ein Netz pro Zeile. +# +# Beispiele: +# +# 192.0.2.10 +# 192.0.2.0/24 +# +# # b.mx.oopen.de +# 2a01:4f8:271:1266::73 +# 2a01:4f8:271:1266::/64 # -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee # -# --- - -# give truested networrk adresses here - # d.mx.oopen.de (listen server) 95.217.204.227 2a01:4f9:4a:47e5::227 + +# b.mx.oopen.de +162.55.82.73/32 +2a01:4f8:271:1266::73 diff --git a/roles/common/files/h.mx.oopen.de/etc/postfix/postfwd.wl-nets b/roles/common/files/h.mx.oopen.de/etc/postfix/postfwd.wl-nets index 7ed94f9..353349d 100644 --- a/roles/common/files/h.mx.oopen.de/etc/postfix/postfwd.wl-nets +++ b/roles/common/files/h.mx.oopen.de/etc/postfix/postfwd.wl-nets @@ -1,19 +1,27 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted networks whitelisted by postfwd # -# Example: +# Vollstaendige Freistellung fuer Client-IP-Adressen/IPv4-Netze. +# Umgeht auch die nachfolgenden Blacklists und alle Limits; nur bewusst nutzen. +# IPv4: einzelne Adresse oder CIDR-Netz. postfwd2 1.35 verarbeitet IPv6 hier +# nur als exakten Adresstext OHNE /128, nicht als IPv6-CIDR-Netz. +# +# Exakte IPv6-Schreibweise wie client_address von Postfix verwenden. +# Eine Adresse/ein Netz pro Zeile. +# +# Beispiele: +# +# 192.0.2.10 +# 192.0.2.0/24 +# +# # b.mx.oopen.de +# 2a01:4f8:271:1266::73 +# 2a01:4f8:271:1266::/64 # -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee # -# --- - -# give truested networrk adresses here - # d.mx.oopen.de (listen server) 95.217.204.227 2a01:4f9:4a:47e5::227 + +# b.mx.oopen.de +162.55.82.73/32 +2a01:4f8:271:1266::73 diff --git a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.high-rate-number-messages b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.high-rate-number-messages index 0a8aec8..18cf900 100644 --- a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.high-rate-number-messages +++ b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.high-rate-number-messages @@ -1,19 +1,20 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users are allowed to send up to 500 messages per hour # -# This file is called with '=='. This means perl regexp is NOT possible +# SASL-Benutzer mit bis zu 500 Nachrichten UND 1000 Empfaengern pro Stunde. # +# Exakter sasl_username pro Zeile, keine Regex. Leere Datei = keine Ausnahme. +# =========================================================================== # -# example: +# interne Bemerkung +# Die Standardlimits 50 Nachrichten und 250 Empfaenger werden gezielt +# uebersprungen. IP-Minutenlimit und maximal 89 Empfaenger/Nachricht bleiben. +# Eine Nachricht mit 10 Empfaengern zaehlt als 1 Nachricht und 10 Empfaenger. +# Dies ist keine vollstaendige Freistellung; Blacklists gelten weiterhin. # -# # give sasl usernames here -# # -# ckubu@oopen.de +# Example: # -# --- +# buchsys@sprachenatelier-berlin.de +# todo@warenform.de # give sasl usernames here application@cadus.org - diff --git a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-nets b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-nets index 3afdf0f..353349d 100644 --- a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-nets +++ b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-nets @@ -1,18 +1,23 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted networks whitelisted by postfwd # -# Example: +# Vollstaendige Freistellung fuer Client-IP-Adressen/IPv4-Netze. +# Umgeht auch die nachfolgenden Blacklists und alle Limits; nur bewusst nutzen. +# IPv4: einzelne Adresse oder CIDR-Netz. postfwd2 1.35 verarbeitet IPv6 hier +# nur als exakten Adresstext OHNE /128, nicht als IPv6-CIDR-Netz. +# +# Exakte IPv6-Schreibweise wie client_address von Postfix verwenden. +# Eine Adresse/ein Netz pro Zeile. +# +# Beispiele: +# +# 192.0.2.10 +# 192.0.2.0/24 +# +# # b.mx.oopen.de +# 2a01:4f8:271:1266::73 +# 2a01:4f8:271:1266::/64 # -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee # -# --- - -# give truested networrk adresses here # d.mx.oopen.de (listen server) 95.217.204.227 2a01:4f9:4a:47e5::227 diff --git a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-sender b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-sender index ac6320d..57e1b25 100644 --- a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-sender +++ b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-sender @@ -1,24 +1,19 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted senders whitelisted by postfwd # -# This file is called with '=~'. This means perl regexp is possible +# Vollstaendige Freistellung anhand des Envelope-Absenders, NICHT From:-Header. # -# -# To increase performance use ^ and/or $ in regular expressions +# Perl-Regex pro Zeile # # Example: # -# # all senders of maildomaindomain 'oopen.de' -# @oopen\.de$ +# ^noreply@example\.org$ # -# # sender address ckubu@oopen.de -# ^ckubu@oopen\.de$ +# ACHTUNG: +# Absender ist nachahmbar; diese Liste prueft weder SPF noch DKIM noch +# SASL-Identitaet. Treffer umgehen nachfolgende postfwd-Sperren und Limits. +# Der vorhandene Eintrag wurde als bisherige Ausnahme beibehalten. # -# --- # give trusted sender addresses here -spenden\@cadus.org$ -ebru.altintop\@cadus\.org$ - +^spenden@cadus.org$ +^ebru.altintop@cadus\.org$ diff --git a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-user b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-user index 4179545..e87ec57 100644 --- a/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-user +++ b/roles/common/files/mail.cadus.org/etc/postfix/postfwd.wl-user @@ -1,15 +1,17 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users whitelisted by postfwd # -# example: +# Vollstaendige Freistellung fuer SASL-Benutzernamen. +# +# Exakter Name pro Zeile, keine Regex; wie von Postfix als sasl_username geliefert. +# +# Umgeht auch Blacklists und alle Limits. Fuer nur hoehere Limits stattdessen +# postfwd.high-rate-number-messages bzw. -recipients verwenden. +# +# Example: # # # give trusted sasl usernames here # ckubu@oopen.de # vertrieb@akweb.de -# -# --- # give trusted sasl usernames here spenden@cadus.org diff --git a/roles/common/files/mailserver/etc/postfix/header_checks.pcre.00 b/roles/common/files/mailserver/etc/postfix/header_checks.pcre.00 deleted file mode 100644 index 2865d28..0000000 --- a/roles/common/files/mailserver/etc/postfix/header_checks.pcre.00 +++ /dev/null @@ -1,37 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# - Replace headers - -# - Replace recieved from IPv4 -#/^Received: from (.* \([-._[:alnum:]]+ \[[.[:digit:]]{7,15}\]\))(.*)\(Authenticated sender: ([^)]+)\)(.*)/ REPLACE Received: from anonymized.ipv4 (localhost [127.0.0.1])$2(Authenticated sender: hidden)$4 - -# - Replace recieved from IPv6 -#/^Received: from (.*IP[vV]6:(([0-9a-f]{0,4}:){1,7}[0-9a-f]{1,4})\]\){0,1})(.*)\(Authenticated sender: ([^)]+)\)(.*)/ REPLACE Received: from anonymized.ipv6 (localhost [::1])$4(Authenticated sender: hidden)$6 - -# --- -# - Ignore Headers -# --- - -#/^\s*User-Agent/ IGNORE -#/^\s*X-Enigmail/ IGNORE -#/^\s*X-Mailer/ IGNORE -#/^\s*X-Originating-IP/ IGNORE - - -# --- -# - Reject / Discard headers -# --- - -/^To:.*<>/ REJECT Possible SPAM Blank email address To: header - Header-Spamschutzregel T0-1001 - -/\(envelope-from <>\)/ REJECT Possible SPAM - Header-Spamschutzregel RECIEV-1001 - -/^Reply-To: .+\@inx1and1\..+/ REJECT Possible SPAM - Header-Spamschutzregel REPLY-1001 - -/^From:.*<>/ REJECT Possible SPAM - Header-Spamschutzregel FROM-1001 - -/^Date: .* 19[0-9][0-9]/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1001 -/^Date: .* 200[0-9]/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1002 -/^Date: .* 201[0-9]/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1003 -/^Date: .* 2020/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1004 diff --git a/roles/common/files/mailserver/etc/postfix/header_checks.pcre.01 b/roles/common/files/mailserver/etc/postfix/header_checks.pcre.01 deleted file mode 100644 index be59481..0000000 --- a/roles/common/files/mailserver/etc/postfix/header_checks.pcre.01 +++ /dev/null @@ -1,43 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# - Replace headers - -# - Replace recieved from IPv4 / IPv6 header - hide senders IP address and also 'Authenticated sender' -# -#/^Received: from (.* \([-._[:alnum:]]+ \[[.[:digit:]]{7,15}\]\))(.*)\(Authenticated sender: ([^)]+)\)(.*)/ REPLACE Received: from anonymized.ipv4 (localhost [127.0.0.1])$2(Authenticated sender: hidden)$4 -# -#/^Received: from (.*IP[vV]6:(([0-9a-f]{0,4}:){1,7}[0-9a-f]{1,4})\]\){0,1})(.*)\(Authenticated sender: ([^)]+)\)(.*)/ REPLACE Received: from anonymized.ipv6 (localhost [::1])$4(Authenticated sender: hidden)$6 - -# - Replace recieved from IPv4 / IPv6 header - hide only sender IP address -# -#/^Received: from (.* \([-._[:alnum:]]+ \[[.[:digit:]]{7,15}\]\))(.*)\(Authenticated sender: (.*) / REPLACE Received: from anonymized.ipv4 (localhost [127.0.0.1])$2(Authenticated sender: $3 - -#/^Received: from (.*IP[vV]6:(([0-9a-f]{0,4}:){1,7}[0-9a-f]{1,4})\]\){0,1})(.*)\(Authenticated sender: (.*) / REPLACE Received: from anonymized.ipv6 (localhost [::1])$4(Authenticated sender: $5 - -# --- -# - Ignore Headers -# --- - -#/^\s*User-Agent/ IGNORE -#/^\s*X-Enigmail/ IGNORE -#/^\s*X-Mailer/ IGNORE -#/^\s*X-Originating-IP/ IGNORE - - -# --- -# - Reject / Discard headers -# --- - -/^To:.*<>/ REJECT Possible SPAM Blank email address To: header - Header-Spamschutzregel T0-1001 - -/\(envelope-from <>\)/ REJECT Possible SPAM - Header-Spamschutzregel RECIEV-1001 - -/^Reply-To: .+\@inx1and1\..+/ REJECT Possible SPAM - Header-Spamschutzregel REPLY-1001 - -/^From:.*<>/ REJECT Possible SPAM - Header-Spamschutzregel FROM-1001 - -/^Date: .* 19[0-9][0-9]/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1001 -/^Date: .* 200[0-9]/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1002 -/^Date: .* 201[0-9]/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1003 -/^Date: .* 2020/ REJECT Date from the past. Fix your system clock. - Header-Spamschutzregel DATE-1004 diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts b/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts index 998138f..1256873 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts +++ b/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts @@ -1,105 +1,96 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# hosts blocked by postfwd # -# This file is called with '=~'. This means perl regexp is possible +# Sperrliste fuer den von Postfix gelieferten client_name, nicht fuer HELO. +# Perl-Regex pro Zeile; Punkte maskieren und Grenzen verankern. +# Beispiel exakter Host: ^mail\.example\.org$ +# Domaene einschliesslich Subdomains: (^|\.)example\.org$ +# Es handelt sich nicht um Postfix-pcre:-Tabellen (keine Ergebnis-Spalte). # -# -# To increase performance use ^ and/or $ in regular expressions -# -# Example: -# -# # block all hosts of domain 'oopen.de' -# \.oopen\.de$ -# -# # block host a.mx.oopen.de -# ^a\.mx\.oopen\.de$ -# -# --- - -# give hostnames to blocke here +# Nach Aenderungen: postfwd -f /etc/postfix/postfwd.cf -C +# Danach systemctl reload postfwd (setzt mit den gelieferten Optionen Zaehler zurueck). +# Der Dienst heisst postfwd, nicht postfwd2. file:-Listen werden beim Laden gelesen. +# Leerzeilen und Kommentare werden ignoriert. Dateien muessen lesbar sein. # Werkzeug -katherina-remberg\.de$ +(^|\.)katherina-remberg\.de$ # Mehr Energie für Ihre Schritte -elcoino\.de$ +(^|\.)elcoino\.de$ # Wiederherstellung des Sehvermogens ohne Operation -toonaca\.or\.mg$ +(^|\.)toonaca\.or\.mg$ # info re_zeptfrei ordern -radiotrabajandoparacristoirmp\.com$ +(^|\.)radiotrabajandoparacristoirmp\.com$ # HL Group -group-hire\.com$ +(^|\.)group-hire\.com$ # Erinnerung: Überzahlung entdeckt – Ihre Rückerstattung wartet! #mtasv\.net$ # edge.toprains.shop:w -edge\.toprains\.shop$ +(^|\.)edge\.toprains\.shop$ # Ideal für Apple- und Samsung-Fans -sdeals\.shop$ +(^|\.)sdeals\.shop$ # Spiegel.de -delpieroacademy\.com$ +(^|\.)delpieroacademy\.com$ # Kundensupport - photoTAN #mailjet\.com$ # LOTTO-Rabatt -gdwr\.de$ +(^|\.)gdwr\.de$ # info mit ETFs die Millionen knacken? -movingcompanywheaton\.com$ +(^|\.)movingcompanywheaton\.com$ # Specht Office -mta3\.dev\.60cr\.com$ +(^|\.)mta3\.dev\.60cr\.com$ # lichtbringer.sho -lichtbringer\.shop$ +(^|\.)lichtbringer\.shop$ # insights.sternenpfad.shop -insights\.sternenpfad\.shop$ +(^|\.)insights\.sternenpfad\.shop$ # info rezeptfre-i Bestellung -ugms\.org$ +(^|\.)ugms\.org$ # info Herrenmeds anfordern -fullendoscopy\.mx$ +(^|\.)fullendoscopy\.mx$ # Premium-Werkzeugwagen: -minillq\.com$ +(^|\.)minillq\.com$ # zaubermoment.shop -zaubermoment\.shop$ +(^|\.)zaubermoment\.shop$ # Lustexperte -jetztpower\.shop$ +(^|\.)jetztpower\.shop$ # herzenstone.shop -herzenstone\.shop$ +(^|\.)herzenstone\.shop$ # Versand - Wichtige Neiuheit (a2hosted.com) -a2hosted\.com$ +(^|\.)a2hosted\.com$ # Eleganz trifft Funktion: Metall-Kugelschreiber mit Logo -game\.cn$ +(^|\.)game\.cn$ # Ein Sprühstoß für die sofortige Erektion! -perfektepower\.shop$ +(^|\.)perfektepower\.shop$ # Home Security / preview.glanzpunkt.shop -glanzpunkt.shop$ +(^|\.)glanzpunkt\.shop$ # Phishing IHK -rightappearance\.com$ +(^|\.)rightappearance\.com$ # info rezeptf-rei Bestellung -sectiontrading\.com$ +(^|\.)sectiontrading\.com$ # Sofortiger zweisprachiger Sprachübersetzer # - kein Eintrag - diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts.00 b/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts.00 deleted file mode 100644 index 6b4bf21..0000000 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-hosts.00 +++ /dev/null @@ -1,84 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# hosts blocked by postfwd -# -# This file is called with '=~'. This means perl regexp is possible -# -# -# To increase performance use ^ and/or $ in regular expressions -# -# Example: -# -# # block all hosts of domain 'oopen.de' -# \.oopen\.de$ -# -# # block host a.mx.oopen.de -# ^a\.mx\.oopen\.de$ -# -# --- - -# give hostnames to blocke here -illuminatus\.lionheart\.lovejoy$ -dancortez\.500$ -geplosser\.pl$ -zukunftbeitragen\.quest$ -gulpagerts\.com$ -flodesyta\.shop$ -einfach-mail-express\.eu$ -feowatley\.shop$ -kssalon\.com$ -zeitarbeitsgruppe\.com$ -jobinscenter\.mom$ -bilingates\.gsm\.pl$ -^mail\.finsky-palace\.radio\.am$ -^mail\.newslinkes\.radio\.fm$ -thecaffeinatedquilter\.com$ -^mail\.hossted\.app$ -rea\.realflightshop\.com$ -tetontimberlinetrading\.com$ -walelaber\.shop$ -technedigitale\.com$ -dia-two-2\.de$ -surlumice\.store$ -mail\.notistall\.balashov\.su$ -mail\.batistase\.hz\.cz$ -mail\.lorinsales\.de\.fr$ -mail\.jostalles\.azerbaijan\.su$ -mail\.batistase\.hz\.cz$ -circuitlogix\.com$ -a27-10\.smtp-out.us-west-2\.amazonses\.com$ -relay01\.cne\.gob\.ve$ -mta01\.cne\.gob\.ve$ -news1\.worldnews\.hair$ -ritechager\.info$ -berligpot\.quest$ -chwestinstrumentalmusic\.com$ -nrgroekle\.site$ -classyak\.com$ -childswork\.com$ -ywgf\.net$ -alnweohct\.online$ -kitchenfantasy\.com$ -kitchenfaucetcenter\.com$ -fqmeta\.net$ -kitchenespial\.com$ -owboyhardware\.com$ -comicartcollective\.com$ -fesg56wesg\.xyz$ -convinceandconvert\.com$ -thelargest\.homes$ -eamyobai\.cfd$ -countryfields\.ca$ -urgencypasture\.shop$ -detectivecomics\.net$ -bell\.net$ -beheshtfoundation\.com$ -tohochina\.com$ -mailer-service\.de$ -hunshachang\.com$ -likelark\.com$ -mlmlh\.xyz$ -osdh\.net$ -trentbbs\.com$ -sharelikecrazy\.com$ diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets b/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets index d4ecf78..992a035 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets +++ b/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets @@ -1,16 +1,21 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Networks blocked by postfwd # -# Example: +# Gesperrte Client-IP-Adressen/IPv4-Netze; permanente REJECT-Antwort. +# Eine Adresse/ein Netz pro Zeile. IPv4-CIDR-Netze werden unterstuetzt. +# postfwd2 1.35: IPv6 nur als exakte Adresse OHNE /128, keine IPv6-Netze. +# Vorherige Vollfreistellungen haben Vorrang vor dieser Sperrliste. +# +# Nach Aenderungen: postfwd -f /etc/postfix/postfwd.cf -C +# Danach systemctl reload postfwd (setzt mit den gelieferten Optionen Zaehler zurueck). +# Der Dienst heisst postfwd, nicht postfwd2. file:-Listen werden beim Laden gelesen. +# Leerzeilen und Kommentare werden ignoriert. Dateien muessen lesbar sein. +# +# # Example: # # # web0.warenform.de # #83.223.86.76 # #2a01:30:0:505:286:96ff:fe4a:6ee # #2a01:30:0:13:286:96ff:fe4a:6eee -# -# --- # Werkzeug 5.135.22.148/30 diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets.00 b/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets.00 deleted file mode 100644 index 68bde18..0000000 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-nets.00 +++ /dev/null @@ -1,169 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Networks blocked by postfwd -# -# Example: -# -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee -# -# --- - -# give networks to block here -188.214.104.0/24 -91.219.236.254 -85.254.72.106 -103.136.40.0/23 -185.53.170.115 -# zukunftbeitragen.quest -86.107.103.211 -# RU (u.a. mail.geplosser.pl) -62.152.59.0/24 -# GB mx.bilingates.gsm.pl -95.168.184.156 -# RU (u.a. mx.jobinscenter.mom) -31.28.27.0/24 -# RU (u.a. mx.novatechs.gen.tr) -93.189.44.0/22 -# RU (u.a. vh126.timeweb.ru) -92.53.96.0/24 -# RU (u.a. mail.newslinkes.radio.am) -45.130.151.0/24 -# US - OLink Cloud LLC US Cloud ( u.a. pritionch.store) -104.160.19.0/24 -# TR (u.a. dosvufpro.store -185.219.135.0/24 -# RZ ( u.a. mx.jobinscenter.mom) -31.28.27.0/24 -# RU (mx.novatechs.gen.tr) -93.189.44.0/22 -# mx.bilingates.gsm.pl -95.168.184.156 -# mail.finsky-palace.radio.am -89.163.230.186 -# mail.newslinkes.radio.fm -62.3.58.20 -# SC ( u.a. undialogy.store) -149.3.170.0/24 -# tetontimberlinetrading.com -155.94.219.66 -185.43.108.101 -# US (u.a.walelaber.shop) -216.250.247.0/24 -# IN (u.a. couetsart.xyz) -103.174.86.0/23 -# DE ( u.a. smtp15.dia-two-2.de -193.168.252.0/23 -# US ( u.a. surlumice.store ) -# 192.161.160.0/19 -192.161.173.22 -# RU -194.87.236.0/22 -# SC (u.a. werkzeughandeldirekt.net) -146.19.253.0/24 -# Piscataway NJ (u.a. werkzeughandeldirekt.net) -209.182.224.0/22 -# LV (u.a. eur-versand.com ) -217.199.96.0/19 -# viastarco.xyz (eur-versand.com) -163.123.180.214 -# RU (u.a lorinsales.de.fr) -185.31.160.0/22 -# RU (batistase.hz.cz) -93.189.42.0/23 -# RU (notistall.balashov.su) -77.87.212.0/24 -# RU (jostalles.azerbaijan.su) -62.173.128.0/19 -# RU ( u.a. batistase.hz.cz ) -62.76.184.0/21 -# US (u.a. premiumofen.com) -172.93.96.0/20 -# US (u.a. premiumofen.com) -108.171.192.0/19 -# VE ( u.a. cne.gob.ve) -201.130.82.0/23 -# classic-british-motorcycles.com -172.67.189.127 -104.21.33.94 -# (u.a. direktpaket.com) -194.116.228.0/24 -# GB (u.a.versand-king.com) -78.129.191.68/28 -# US ( u.a.profiverkauf.com) -192.30.240.0/22 -# (u.a. profiverkauf.com) -185.221.200.0/22 -# US u.a.(liefer-experten.com) -69.12.79.32/27 -207.167.64.0/23 -# US (u.a. premiumversender.com) -192.161.172.0/23 -# LIR (u.a. premiumversender.com) -185.101.92.0/22 -# US (u.a. d-logistik.com) -216.144.236.224/28 -# GB - 146.59.88.240/29 -# UA (Ukraine) -193.3.23.0/24 -# DE (u.a. lagerexpress.com) -41.216.188.0/24 -# US (u.a. echtzeit-video.com>) -104.161.0.0/17 -158.51.124.0/22 -193.42.38.0/24 -# US (u.a. pro-versender.com) -173.254.192.0/18 -# US ( u.a. werksvertriebe.com) -104.218.236.0/23 -# US ( u.a. notstrom-generatoren.com) -68.69.187.0/24 -104.156.156.0/22 -# US (u.a direktversender.net) -103.83.37.0/24 -103.114.162.0/24 -# US (u.a.versender50.com) -204.152.197.0/24 -# US (u.a.vs-dienst.com) -45.134.11.0/24 -212.83.56.0/24 -# US ( u.a. urgencypasture.shop) -194.87.84.0/24 -# US ( u.a. dkdirekt.com) -64.188.1.176/28 -# CA (Canada) (u.a. bell.net) -209.71.192.0/18 -# HU (u.a. beheshtfoundation.com) -83.137.158.0/24 -# US (u.a. josephraffael.com / auftrag@v-markt-direkt.com) -64.188.4.0/22 -# IR (Iran) brute force on SASL Login -46.148.32.0/20 -# US -45.15.128.0/22 -# US -103.114.163.0/24 -# US -192.154.224.0/21 -# US -139.28.234.0/23 -# US -213.59.118.0/23 -# US cityboxing.com -103.114.160.0/24 -104.237.192.0/19 -# CZ -176.102.65.0/24 -46.36.39.0/24 -# US -91.193.19.0/24 -# US -103.125.147.0/24 -# US -79.141.173.0/24 -# LU Luxenburg -107.189.3.105 diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb b/roles/common/files/mailserver/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb index 3dec979..c953bdc 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb +++ b/roles/common/files/mailserver/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb @@ -1,32 +1,41 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Block messages exeeds 20 MB for listed recipients # -# This file is called with '=~'. This means perl regexp is possible +# Empfaenger mit zusaetzlichem 20-MiB-Limit, NUR bei Einzelempfaengern. +# Perl-Regex pro Zeile; z.B. +# ^user@example\.org$ +# @example\.org$ +# Die Regel greift nur bei recipient_count=1 am END-OF-MESSAGE und bei +# size > 20971520 Bytes. Genau 20 MiB bleiben erlaubt. +# Bei mehreren Empfaengern fehlt recipient dort; dafuer bietet diese Datei +# KEIN verlaessliches Limit. Fuer verbindliche Limits ist eine andere +# Loesung erforderlich. Die bisher leere Liste bleibt leer. +# Historischer Dateiname mit Schreibfehler bleibt aus Kompatibilitaet erhalten. # +# +------------------+----------------------+----------------+----------------------+ +# | SMTP-Empfaenger | Empfaenger gelistet? | Nachricht | Wirkung dieser Regel | +# +------------------+----------------------+----------------+----------------------+ +# | Genau einer | Ja | Bis 20 MiB | Keine Ablehnung | +# | Genau einer | Ja | Ueber 20 MiB | REJECT | +# | Genau einer | Nein | Beliebig | Keine Ablehnung | +# | Mehrere | Einer oder mehrere | Beliebig | Keine Ablehnung | +# | | gelistet | | | +# +------------------+----------------------+----------------+----------------------+ +# +# 20 MiB = 20.971.520 Bytes, einschliesslich Header und MIME-Kodierung. +# +# Bei mehreren SMTP-Empfaengern liefert Postfix am Nachrichtenende +# keine einzelne Empfaengeradresse fuer den Listenvergleich. +# +# Das globale Postfix-Limit message_size_limit gilt weiterhin. # -# To increase performance use ^ and/or $ in regular expressions -# -# @acieu\.co\.uk$ -# ^error@mailfrom\.com$ -# -# instedt of -# -# @acieu.co.uk -# error@mailfrom.com -# -# -# Example: +# +# # Example: # # # # annoying spammer domains # # block all senders of maildomaindomain 'oopen.de' # @acieu\.co\.uk$ # # # annoying spammer addresses -# # block sender address +# # block sender address # error@mailfrom.com # sqek@eike\.se$ -# -# --- - diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender b/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender index 2baf2a8..2e436f3 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender +++ b/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender @@ -1,134 +1,115 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Sender addresses blocked by postfwd # -# This file is called with '=~'. This means perl regexp is possible +# Sperrliste fuer Envelope-Absender (MAIL FROM), NICHT From:-Header. +# Perl-Regex pro Zeile; keine Postfix-pcre:-Tabellen mit Ergebnis-Spalte. # +# Exakte Adresse: ^user@example\.org$ # -# To increase performance use ^ and/or $ in regular expressions +# Domaene und Subdomains: @([^@]+\.)?example\.org$ # -# @acieu\.co\.uk$ -# ^error@mailfrom.com$ +# Ablehnung mit REJECT, kein stilles DISCARD. Domain-Grenzen und maskierte +# Punkte vermeiden unbeabsichtigte Treffer auf aehnliche Domainnamen. # -# instedt of -# -# @acieu.co.uk -# error@mailfrom.com -# -# -# Example: -# -# # # annoying spammer domains -# # block all senders of maildomaindomain 'oopen.de' -# @acieu\.co\.uk$ -# -# # annoying spammer addresses -# # block sender address -# error@mailfrom.com -# sqek@eike\.se$ -# -# --- # reported by MBR -paul.graber99@gmail.com -ludwigpestow@gmail.com +^paul\.graber99@gmail\.com$ +^ludwigpestow@gmail\.com$ # annoying spammer domains -@acieu\.co\.uk$ -@inbox\.ru$ +@([^@]+\.)?acieu\.co\.uk$ +@([^@]+\.)?inbox\.ru$ # ---- # Werkzeug -katherina-remberg\.de$ +@([^@]+\.)?katherina-remberg\.de$ # Mehr Energie für Ihre Schritte -elcoino\.de$ +@([^@]+\.)?elcoino\.de$ # Wiederherstellung des Sehvermogens ohne Operation -toonaca\.or\.mg$ +@([^@]+\.)?toonaca\.or\.mg$ # info re_zeptfrei ordern -radiotrabajandoparacristoirmp\.com$ +@([^@]+\.)?radiotrabajandoparacristoirmp\.com$ # HL Group -group-hire\.com$ +@([^@]+\.)?group-hire\.com$ # Erinnerung: Überzahlung entdeckt – Ihre Rückerstattung wartet! -toldfinancialcapital\.com$ +@([^@]+\.)?toldfinancialcapital\.com$ # edge.toprains.shop -toprains.shop$ +@([^@]+\.)?toprains\.shop$ # Ideal für Apple- und Samsung-Fans -sdeals\.shop$ +@([^@]+\.)?sdeals\.shop$ # Spiegel.de -delpieroacademy\.com$ +@([^@]+\.)?delpieroacademy\.com$ # Kundensupport - photoTAN #@laurash.net # LOTTO-Rabatt -gdwr\.de$ +@([^@]+\.)?gdwr\.de$ # info mit ETFs die Millionen knacken? -movingcompanywheaton\.com$ +@([^@]+\.)?movingcompanywheaton\.com$ # Specht Offic -officeuf@jxb669\.com$ -officeuf@ +^officeuf@jxb669\.com$ +^officeuf@ # edge.toprains.shop -@edge.toprains.shop$ +@([^@]+\.)?edge\.toprains\.shop$ # lichtbringer.shop -lichtbringer\.shop$ +@([^@]+\.)?lichtbringer\.shop$ # insights.sternenpfad.shop -insights\.sternenpfad\.shop$ +@([^@]+\.)?insights\.sternenpfad\.shop$ # info rezeptfre-i Bestellung -ugms\.org$ +@([^@]+\.)?ugms\.org$ # Premium-Werkzeugwagen: -ezhifeng.co$ +@([^@]+\.)?ezhifeng\.co$ # zaubermoment.shop -zaubermoment\.shop$ +@([^@]+\.)?zaubermoment\.shop$ # Lustexperte -jetztpower\.shop$ +@([^@]+\.)?jetztpower\.shop$ # herzenstone.shop -herzenstone\.shop$ +@([^@]+\.)?herzenstone\.shop$ # ?? 181.214.99.0/24 -imrx4k\.com$ +@([^@]+\.)?imrx4k\.com$ # Versand - Wichtige Neiuheit (a2hosted.com) -a2hosted\.com$ +@([^@]+\.)?a2hosted\.com$ # Eleganz trifft Funktion: Metall-Kugelschreiber mit Logo -izilian\.com$ +@([^@]+\.)?izilian\.com$ # Ein Sprühstoß für die sofortige Erektion! -perfektepower\.shop$ +@([^@]+\.)?perfektepower\.shop$ # Home Security / preview.glanzpunkt.shop -glanzpunkt\.shop$ +@([^@]+\.)?glanzpunkt\.shop$ # Phishing IHK -rightappearance\.com$ +@([^@]+\.)?rightappearance\.com$ # info rezeptf-rei Bestellung -sectiontrading\.com% +@([^@]+\.)?sectiontrading\.com$ # Sofortiger zweisprachiger Sprachübersetzer -delavers\.de$ +@([^@]+\.)?delavers\.de$ # --- # Google Mail Adresse -@laravel.digital +@([^@]+\.)?laravel\.digital$ diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender.00 b/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender.00 deleted file mode 100644 index 7d52e11..0000000 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-sender.00 +++ /dev/null @@ -1,118 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Sender addresses blocked by postfwd -# -# This file is called with '=~'. This means perl regexp is possible -# -# -# To increase performance use ^ and/or $ in regular expressions -# -# @acieu\.co\.uk$ -# ^error@mailfrom.com$ -# -# instedt of -# -# @acieu.co.uk -# error@mailfrom.com -# -# -# Example: -# -# # # annoying spammer domains -# # block all senders of maildomaindomain 'oopen.de' -# @acieu\.co\.uk$ -# -# # annoying spammer addresses -# # block sender address -# error@mailfrom.com -# sqek@eike\.se$ -# -# --- - -# reported by MBR -paul.graber99@gmail.com -ludwigpestow@gmail.com - -# annoying spammer domains -@acieu\.co\.uk$ -@sendelope\.eu$ -@growthrecords\.com$ -@videosicherheit.biz$ -@arbeitsschutzmasken.shop$ -@medprodukte.shop$ -@geplosser\.pl$ -@alfasells\.de$ -@news-des-tages\.de$ -@handel2022\.com$ -@zukunftbeitragen\.quest$ -@ip-51-83-242\.eu$ -@notreesnolife\.com$ -@ilsang\.biz$ -vorteilsemail\.de$ -@inbox\.ru$ -@poeloker\.com$ -@jobinscenter\.mom$ -@novatechs\.gen\.tr$ -@bilingates\.gsm\.pl$ -@newslinkes\.radio\.fm$ -@finsky-palace\.radio\.am$ -@deutsche-ecommerce\.net$ -@cpsarg\.com$ -@markenhandelonline\.com$ -firmen-infos\.com$ - -@inx1and1\..+$ -@ppe-healthcare-europe\.\S+$ -@testbedarf\.shop$ -@acievents\.\S+$ -@dokpotenz\.\S+$ -@doktorapo\.\S+$ -@team-de-luxe\.\S+$ -@klickensiejetzt\.\S+$ -@podiumskate\.\S+$ -@ppe-healthcare-europe\.\S+$ - -@direktpaket\.com$ -@revzilla\.com$ -@christopherhinz\.com$ -@versand-king\.com$ - -@profiverkauf\.com$ -@liefer-experten\.com$ -@premiumversender\.com$ -@longhornvapor\.com$ -@d-logistik\.com$ -@corvsport\.com$ -@echtzeit-video\.com$ -@cortlandparkcashmere\.com$ -@pro-versender\.com$ -@werksvertriebe\.com$ -@notstrom-generatoren\.com$ - -# annoying spammer addresses -^error@mailfrom\.com$ -^sqek@eike\.se$ -^info@webmeinung\.de$ -^info@handel-versand\.com$ -^order@direktversender\.net$ -versender.*\.com$ -vs-dienst\.com$ -urgencypasture\.shop$ -dkdirekt\.com$ -nb\.sympatico\.ca$ -beheshtfoundation\.com$ -josephraffael\.com$ -v-markt-direkt\.com$ -mailer-service\.de$ -swissad\.biz$ -@math-salamanders\.com$ -mazdas247\.com$ -johnnybugs\.com$ -livingoncookies\.com$ -joshua24\.com$ -cityboxing\.com$ -clotheswithoutlimits\.com$ -distrowatch\.com$ -designerwicker\.com$ -sharelikecrazy\.com$ diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.bl-user b/roles/common/files/mailserver/etc/postfix/postfwd.bl-user index 3ca2bb7..e903e7b 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.bl-user +++ b/roles/common/files/mailserver/etc/postfix/postfwd.bl-user @@ -1,13 +1,10 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users blocked by postfwd +# +# Gesperrte SASL-Benutzernamen; permanente REJECT-Antwort. +# Exakter Name pro Zeile, keine Regex. Vorherige Vollfreistellungen haben Vorrang. # # Example: # # # give SASL usernames to block here # ckubu@oopen.de -# -# --- -# give SASL usernames to block here diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.cf b/roles/common/files/mailserver/etc/postfix/postfwd.cf index 76b5026..10ad28a 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.cf +++ b/roles/common/files/mailserver/etc/postfix/postfwd.cf @@ -1,221 +1,229 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -#======= Definitions ============ - -# Match messages with an associated SASL username -&&SASL_AUTH { - sasl_username!~^$ -} - -# Trusted networks -&&TRUSTED_NETS { - client_address==file:/etc/postfix/postfwd.wl-nets -} - -# Trusted hostnames -# client_name~=.warenform.de$ -&&TRUSTED_HOSTS { - client_name=~file:/etc/postfix/postfwd.wl-hosts -} - -# Trusted users -&&TRUSTED_USERS { - sasl_username==file:/etc/postfix/postfwd.wl-user -} - -# Trusted senders -&&TRUSTED_SENDERS { - sender=~file:/etc/postfix/postfwd.wl-sender -} - -# Blacklist networks -&&BLOCK_NETS { - client_address==file:/etc/postfix/postfwd.bl-nets -} - -# Blacklist hostnames -&&BLOCK_HOSTS { - client_name=~file:/etc/postfix/postfwd.bl-hosts -} - -# Blacklist users -&&BLOCK_USERS { - sasl_username==file:/etc/postfix/postfwd.bl-user -} - -# Blacklist sender adresses -&&BLOCK_SENDER { - # =~ - # using '=~' allows also matching entries for domains (i.e. @acieu.co.uk) - sender=~file:/etc/postfix/postfwd.bl-sender -} - -# Block messages exceedds size of 20MB -&&BLOCK_CLIENT_NAME_MSG_SIZE_20MB { - protocol_state==END-OF-MESSAGE - recipient=~file:/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb - size=20971520 -} - -# Inbound emails only -&&INCOMING { - client_address!=127.0.0.1 -} - - -#======= Rule Sets ============ - -# --- # -# Processing of the Rule Sets +# Statische Vorlage fuer postfwd 1.35, ohne Jinja-Variablen. # -# The parser checks the elements of a policy delegation request against the postfwd set -# of rules and, if necessary, triggers the configured action (action=). Similar to a -# classic firewall, a rule is considered true if every element of the set of rules (or -# one from every element list) applies to the comparison. I.e. the following rule: +# POSTFIX-EINBINDUNG +# main.cf: smtpd_end_of_data_restrictions = +# check_policy_service inet:127.0.0.1:10040 +# Amavis-Rueckgabeport localhost:10025 in master.cf: +# -o smtpd_end_of_data_restrictions= +# Sonst kann die Wiedereinlieferung mit XFORWARD erneut gezaehlt werden. +# /etc/default/postfwd: ARGS="--summary=600 --cache=0" # -# client_address=1.1.1.1, 1.1.1.2; client_name==unknown; action=REJECT +# AUSWERTUNG +# Verschiedene Attribute einer Regel: UND. Gleiches Attribut mehrfach: ODER. +# DUNNO beendet diesen postfwd-Aufruf; Postfix setzt eigene Pruefungen fort. +# REJECT lehnt permanent, 450 temporaer ab. rate()/rcpt() laufen unterhalb +# des Limits weiter. jump(ID) springt zur bezeichneten Regel. +# final=yes ist keine Steueranweisung und wird NICHT verwendet. # -# triggers a REJECT if the +# LIMITS (fuer nicht vollstaendig freigestellte, nicht lokale SMTP-Clients) # -# Client address is equal (1.1.1.1 OR 1.1.1.2) AND the client name 'unknown' +# +--------------------------------+-----------+-----------+------------------+ +# | Limit | Standard | Benutzer | Benutzer nur in | +# | | | 500er- | Empfaenger- | +# | | | Liste | Ausnahmeliste | +# +--------------------------------+-----------+-----------+------------------+ +# | Nachrichten / Stunde / Benutzer| 50 | 500 | 50 | +# | Empfaenger / Stunde / Benutzer| 250 | 1000 | 1000 | +# | Empfaenger / Nachricht | 89 | 89 | 89 | +# +--------------------------------+-----------+-----------+------------------+ +# +# Zusaetzlich fuer alle oben genannten Benutzer: +# +# +------------------------------------------+----------------------------+ +# | Client-IP | Nachrichten / Minute / IP | +# +------------------------------------------+----------------------------+ +# | Weder IP noch Hostname in Ausnahmeliste | 50 | +# | IP ODER Hostname in Ausnahmeliste | 100 | +# +------------------------------------------+----------------------------+ +# +# Zusaetzlich fuer nicht authentifizierte Clients: +# +# +------------------------------------------+----------------------------+ +# | client_name = unknown | 5 Nachrichten / 5 Minuten | +# | | je Client-IP | +# +------------------------------------------+----------------------------+ # +# Unauthentifiziert + client_name=unknown: 5 Nachrichten / 300 Sekunden / IP. +# SASL: 50 Nachrichten / 3600 Sekunden / Benutzer; Ausnahme: 500. +# IP: 50 Nachrichten / 60 Sekunden; Ausnahme ueber IP ODER Hostname: 100. +# SASL: maximal 89 Empfaenger pro Nachricht (Ablehnung ab 90). +# SASL: 250 Empfaenger / 3600 Sekunden; Ausnahme: 1000. +# Jeder Benutzer der 500er-Nachrichtenliste bekommt auch die 1000er- +# Empfaengerausnahme. Die separate Empfaengerliste erlaubt nur 1000 statt +# 250 Empfaenger/Stunde, erhoeht aber nicht das Nachrichtenlimit. +# Benutzer der 500er-Nachrichtenliste sind vom IP-Minutenlimit (50 bzw. +# 100 Nachrichten / 60 Sekunden) ausgenommen: sie versenden meist +# automatisiert in Schueben und wuerden sonst trotz 500er-Ausnahme am +# Minutenlimit haengen bleiben. Fuer alle anderen bleibt das Minutenlimit +# aktiv. Die Empfaengerzahl pro Nachricht (max. 89) gilt fuer alle. # -# Note: -# If an element occurs more than once, an element list is formed: +# ZAEHLWEISE +# rate() zaehlt END-OF-MESSAGE-Anfragen, rcpt() addiert recipient_count. +# Es sind Versandversuche, keine bestaetigten Zustellungen. Wiederholungen +# und spaeter abgelehnte Versuche koennen mitgezaehlt werden. Empfaenger +# werden aufsummiert, nicht dedupliziert. Kein gleitendes Kalenderstunden- +# budget: postfwd verwaltet befristete Zaehler ab ihrer Anlage. +# Gemeinsame IPs teilen sich das Minutenlimit, auch bei mehreren Benutzern. # -# The following rule set is equivalent to the above: -# -# client_address=1.1.1.1; client_address=1.1.1.2; client_name==unknown; action=REJECT -# -# -# triggers a REJECT if (as above) the -# -# Client address (1.1.1.1 OR 1.1.1.2) AND the client name 'unknown' -# -# --- +# DATEIEN +# file: liest Listen beim Laden der Konfiguration. Danach neu laden/starten. +# Fuer IPs/Netze: client_address==file:... (CIDR-Vergleich). +# Fuer SASL: sasl_username==file:... (exakte Namen, keine Regex). +# Fuer Namen/Adressen: =~file:... (Perl-Regex, keine Postfix-pcre:-Tabelle). +# Alle referenzierten Dateien muessen fuer den Benutzer postfw lesbar sein. +# Keine Ausnahmeliste mit &&SASL_AUTH in derselben Regel kombinieren: +# das waere eine ODER-Verknuepfung auf sasl_username! -# Whitelists +# Nur diese Phase verwenden; keine Zaehleranlage in anderen SMTP-Phasen. +id=CHECK_PHASE + protocol_state!=END-OF-MESSAGE + action=DUNNO -# Whitelist trusted networks +# Lokaler SMTP-Verkehr wird ausgenommen, IPv4-Loopback und IPv6-Loopback. +# Dies ersetzt NICHT die Abschaltung am Amavis-Rueckgabeport: XFORWARD +# kann dort die urspruengliche externe Clientadresse wiederherstellen. +id=SKIP_LOOPBACK + client_address==127.0.0.0/8, ::1 + action=DUNNO + +# 1. VOLLSTAENDIGE AUSNAHMEN +# Bewusst vor den Sperrlisten wie in der bisherigen Konfiguration. +# Diese Listen umgehen ALLE folgenden postfwd-Regeln, auch Blacklists. +# Fuer nur hoehere Versandlimits ausschliesslich die high-rate-Listen nutzen. id=WHL_NETS - &&TRUSTED_NETS - action=DUNNO + client_address==file:/etc/postfix/postfwd.wl-nets + action=DUNNO -# Whitelist trusted hostnames id=WHL_HOSTS - &&TRUSTED_HOSTS - action=DUNNO + client_name=~file:/etc/postfix/postfwd.wl-hosts + action=DUNNO -# Whitelist sasl users id=WHL_USERS - &&TRUSTED_USERS - action=DUNNO + sasl_username==file:/etc/postfix/postfwd.wl-user + action=DUNNO -# Whitelist senders +# Achtung: Envelope-Absender ist keine authentifizierte Identitaet. +# Bestehende Freistellung bleibt erhalten; kein SPF-/DKIM-Nachweis hier. id=WHL_SENDERS - &&INCOMING - &&TRUSTED_SENDERS - action=DUNNO + sender=~file:/etc/postfix/postfwd.wl-sender + action=DUNNO - -# Blacklists - -# Block networks +# 2. SPERRLISTEN: permanente Ablehnung, kein stilles DISCARD. id=BL_NETS - &&BLOCK_NETS - action=REJECT Network Address $$client_address blocked by Mailserver admins. Error: BL_NETS + client_address==file:/etc/postfix/postfwd.bl-nets + action=REJECT Network $$client_address blocked by mailserver admins. Error:BL_NETS -# Block hostname id=BL_HOSTS - &&BLOCK_HOSTS - action=REJECT $$client_name blocked by Mailserver admins. Error: BL_HOSTS + client_name=~file:/etc/postfix/postfwd.bl-hosts + action=REJECT Client $$client_name blocked by mailserver admins. Error:BL_HOSTS -# Block users id=BL_USERS - &&BLOCK_USERS - action=REJECT User is blocked by Mailserver admins. Error: BL_USERS + sasl_username==file:/etc/postfix/postfwd.bl-user + action=REJECT User blocked by mailserver admins. Error:BL_USERS -# Blacklist sender -# -# Claim successful delivery and silently discard the message. -# id=BL_SENDER - &&BLOCK_SENDER - #action=DISCARD - action=REJECT Sender address is blocked by Mailserver admins. Error: BL_SENDER + sender=~file:/etc/postfix/postfwd.bl-sender + action=REJECT Sender blocked by mailserver admins. Error:BL_SENDER - -# Block messages for given recipients exceeds size of 20 MB +# 3. EMPFAENGERBEZOGENE GROESSE, NUR BEI GENAU EINEM EMPFAENGER +# 20 MiB = 20971520 Bytes; mit > bleibt genau dieser Wert erlaubt. +# Postfix liefert recipient am Nachrichtenende nur bei einem Empfaenger. +# Bei mehreren Empfaengern kann diese Regel KEIN Limit durchsetzen. +# Die bisher leere Empfaengerliste bleibt erhalten; solange sie leer ist, +# ist diese Zusatzpruefung inaktiv. Global gilt weiter message_size_limit. +# Fuer verbindliche empfaengerbezogene Limits auch bei Mehrfachadressierung +# ist eine andere Loesung, z.B. ein geeigneter Milter, erforderlich. id=BLOCK_MSG_SIZE_20MB - &&BLOCK_CLIENT_NAME_MSG_SIZE_20MB - action=REJECT message exceeds the size of 20 MB ($$size). Error: BLOCK_MSG_SIZE_20MB + recipient_count==1 + recipient=~file:/etc/postfix/postfwd.bl-recipient-exeeds-msg-size-20mb + size>20971520 + action=REJECT Message exceeds 20 MiB ($$size bytes). Error:BLOCK_MSG_SIZE_20MB - -# Rate Limits - -# Throttle unknown clients to 5 recipients per 5 minutes: -id=RATE_UNKNOWN_CLIENT_ADDR - sasl_username =~ /^$/ - client_name==unknown - action=rate(client_address/5/300/450 4.7.1 only 5 recipients per 5 minutes allowed) - -# Ausnahme vom 50/Minute-Limit: IPs aus der Whitelist-Datei -# duerfen bis zu 100 Nachrichten/Minute senden. 'final=yes' -# sorgt dafuer, dass fuer diese IPs die nachfolgende -# RATE_CLIENT_ADDR-Regel NICHT mehr zusaetzlich ausgewertet wird. -id=HIGH_RATE_CLIENT_ADDR - &&INCOMING - client_address=cidr:/etc/postfix/postfwd.high_rate_ip - action=rate($$client_address/100/60/421 421 4.7.0 Too many connections (150/m) from $$client_address) - final=yes - -# Ausnahme vom 50/Minute-Limit auf Basis des Client-Hostnamens -# (Reverse-DNS/PTR). 'final=yes' verhindert die zusaetzliche -# Auswertung der nachfolgenden RATE_CLIENT_ADDR-Regel. -id=HIGH_RATE_CLIENT_NAME - &&INCOMING - client_name=pcre:/etc/postfix/postfwd.high_rate_hostname - action=rate($$client_address/100/60/421 421 4.7.0 Too many connections (150/m) from $$client_address ($$client_name)) - final=yes - -# Block clients (ip-addresses) sending more than 50 messages per minute exceeded. Error:RATE_CLIENT) -id=RATE_CLIENT_ADDR - &&INCOMING - action=rate($$client_address/50/60/421 421 4.7.0 Too many connections (50/m) from $$client_address) - -# Block messages with more than 50 recipients +# Permanente Empfaengerzahl-Pruefung vor die Rate-Zaehler stellen. +# Das bisher wirksame Limit bleibt erhalten: 89 erlaubt, ab 90 ablehnen. id=BLOCK_MSG_RCPT - &&INCOMING - &&SASL_AUTH - recipient_count=90 - action=REJECT Too many recipients, please reduce to less than 90 or consider using a mailing list. Error: BLOCK_MSG_RCPT + sasl_username!~^$ + recipient_count=>90 + action=REJECT Too many recipients, maximum is 89 per message. Error:BLOCK_MSG_RCPT -# Higher rate limit for users in exception list (limit: 500 messages/hour) -id=RATE_MSG_EXCEPTION - &&INCOMING - &&SASL_AUTH +# 4. UNBEKANNTE, UNAUTHENTIFIZIERTE CLIENTS +# 5 Nachrichten, NICHT 5 Empfaenger oder 5 TCP-Verbindungen. +id=RATE_UNKNOWN_CLIENT_ADDR + sasl_username=~^$ + client_name==unknown + action=rate(client_address/5/300/450 4.7.1 Only 5 messages per 5 minutes allowed. Error:RATE_UNKNOWN_CLIENT_ADDR) + +# 5. NACHRICHTEN PRO STUNDE UND SASL-BENUTZER +# Auswahl VOR dem Zaehlen. Die Ausnahme springt an der 50er-Regel vorbei. +# Unterhalb 500 wird nach RATE_MSG_EXCEPTION direkt mit der Empfaenger- +# summe (Abschnitt 7) fortgesetzt; die IP-Minutenlimits entfallen bewusst. +id=SELECT_MSG_EXCEPTION sasl_username==file:/etc/postfix/postfwd.high-rate-number-messages - action=rate($$sasl_username/500/3600/450 4.7.1 Number messages per hour exceeded. Error:RATE_MSG_EXCEPTION) - final=yes + action=jump(RATE_MSG_EXCEPTION) -# Block users sending more than 50 messages/hour id=RATE_MSG - &&INCOMING - &&SASL_AUTH - action=rate($$sasl_username/50/3600/450 4.7.1 Number messages per hour exceeded. Error:RATE_MSG) + sasl_username!~^$ + action=rate(sasl_username/50/3600/450 4.7.1 Maximum 50 messages per hour exceeded. Error:RATE_MSG) -# Higher recipient rate limit for specific users from file (limit: 1000 recipients total/hour) -id=RATE_RCPT_HIGH - &&INCOMING - &&SASL_AUTH - sasl_username==file:/etc/postfix/postfwd.rate-msg-exceptions - action=rcpt($$sasl_username/1000/3600/450 4.7.1 Number recipients per hour exceeded. Error:RATE_RCPT_HIGH) - final=yes +# Standardpfad muss die nachfolgende 500er-Regel ueberspringen. +id=AFTER_RATE_MSG + action=jump(SELECT_HIGH_RATE_IP) + +id=RATE_MSG_EXCEPTION + sasl_username!~^$ + action=rate(sasl_username/500/3600/450 4.7.1 Maximum 500 messages per hour exceeded. Error:RATE_MSG_EXCEPTION) + +# Nach erfolgreicher 500er-Pruefung die IP-Minutenlimits (Abschnitt 6) +# bewusst ueberspringen: automatisierte Versender wuerden sonst am +# Minutenlimit scheitern. Empfaengerlimit pro Stunde weiterhin pruefen. +id=AFTER_RATE_MSG_EXCEPTION + action=jump(SELECT_RCPT_EXCEPTION_MSG) + +# 6. NACHRICHTEN PRO MINUTE UND IP +# IP oder Hostname waehlen denselben 100er-Zaehler. Auch bei zwei Treffern +# nur eine Zaehlung. Hostname ist der von Postfix gelieferte client_name; +# nicht identisch mit einem ungeprueften HELO oder bloss irgendeinem PTR. +id=SELECT_HIGH_RATE_IP + client_address==file:/etc/postfix/postfwd.high_rate_ip + action=jump(HIGH_RATE_CLIENT_ADDR) + +id=SELECT_HIGH_RATE_HOST + client_name=~file:/etc/postfix/postfwd.high_rate_hostname + action=jump(HIGH_RATE_CLIENT_ADDR) + +id=RATE_CLIENT_ADDR + action=rate(client_address/50/60/450 4.7.1 Maximum 50 messages per minute per IP exceeded. Error:RATE_CLIENT_ADDR) + +id=AFTER_RATE_CLIENT_ADDR + action=jump(SELECT_RCPT_EXCEPTION_MSG) + +id=HIGH_RATE_CLIENT_ADDR + action=rate(client_address/100/60/450 4.7.1 Maximum 100 messages per minute per IP exceeded. Error:HIGH_RATE_CLIENT_ADDR) + +# 7. EMPFAENGERSUMME PRO STUNDE UND SASL-BENUTZER +# 500er-Nachrichtenausnahme erhaelt automatisch auch 1000 Empfaenger/Stunde. +# So scheitert sie nicht nach spaetestens 250 Ein-Empfaenger-Nachrichten. +# Die zweite Liste kann weitere Benutzer NUR fuer die Empfaengersumme nennen. +id=SELECT_RCPT_EXCEPTION_MSG + sasl_username==file:/etc/postfix/postfwd.high-rate-number-messages + action=jump(RATE_RCPT_HIGH) + +id=SELECT_RCPT_EXCEPTION_LIST + sasl_username==file:/etc/postfix/postfwd.high-rate-number-recipients + action=jump(RATE_RCPT_HIGH) -# Block users sending more than 250 recipients total/hour id=RATE_RCPT - &&INCOMING - &&SASL_AUTH - action=rcpt($$sasl_username/250/3600/450 4.7.1 Number recipients per hour exceeded. Error:RATE_RCPT) + sasl_username!~^$ + action=rcpt(sasl_username/250/3600/450 4.7.1 Maximum 250 recipients per hour exceeded. Error:RATE_RCPT) +id=AFTER_RATE_RCPT + action=jump(END) + +id=RATE_RCPT_HIGH + sasl_username!~^$ + action=rcpt(sasl_username/1000/3600/450 4.7.1 Maximum 1000 recipients per hour exceeded. Error:RATE_RCPT_HIGH) + +id=END + action=DUNNO diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-messages b/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-messages index 73814fa..3a4ab7c 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-messages +++ b/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-messages @@ -1,18 +1,18 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users are allowed to send up to 500 messages per hour -# -# This file is called with '=='. This means perl regexp is NOT possible -# -# -# example: -# -# # give sasl usernames here -# # -# ckubu@oopen.de -# -# --- - -# give sasl usernames here +# +# SASL-Benutzer mit bis zu 500 Nachrichten UND 1000 Empfaengern pro Stunde. +# +# Exakter sasl_username pro Zeile, keine Regex. Leere Datei = keine Ausnahme. +# =========================================================================== +# +# interne Bemerkung +# Die Standardlimits 50 Nachrichten und 250 Empfaenger werden gezielt +# uebersprungen. IP-Minutenlimit und maximal 89 Empfaenger/Nachricht bleiben. +# Eine Nachricht mit 10 Empfaengern zaehlt als 1 Nachricht und 10 Empfaenger. +# Dies ist keine vollstaendige Freistellung; Blacklists gelten weiterhin. +# +# Example: +# +# buchsys@sprachenatelier-berlin.de +# todo@warenform.de diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-recipients b/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-recipients index c9bf5cb..2adbfda 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-recipients +++ b/roles/common/files/mailserver/etc/postfix/postfwd.high-rate-number-recipients @@ -1,17 +1,19 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users are allowed to send up to 1000 recipients per hour # -# This file is called with '=='. This means perl regexp is NOT possible +# Zusaetzliche SASL-Benutzer mit bis zu 1000 Empfaengern pro Stunde. # -# example: +# Exakter sasl_username pro Zeile, keine Regex. Das Nachrichtenlimit bleibt 50, +# ============================================================================= +# +# sofern der Benutzer nicht auch in postfwd.high-rate-number-messages steht. +# Benutzer der Nachrichtenliste haben die 1000er-Ausnahme bereits automatisch +# und muessen hier NICHT doppelt gepflegt werden. Leer ist zulaessig. +# Es werden Empfaengervorkommen gezaehlt, keine eindeutigen Adressen. +# +# Example: # # # give sasl usernames here # # # ckubu@oopen.de # -# --- - -# give sasl usernames here diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_hostname b/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_hostname index e62130c..495ac40 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_hostname +++ b/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_hostname @@ -4,19 +4,11 @@ # Whitelist fuer erhoehtes Rate-Limit (100 Nachrichten/Minute) # auf Basis des Client-Hostnamens (Reverse-DNS/PTR-Eintrag), # statt der Standard-Grenze von 50/Minute aus RATE_CLIENT_ADDR +# das heisst: # -# Format: PCRE-regulaerer Ausdruck pro Zeile (kein Wildcard/Glob!), -# postfwd2 vergleicht jede Zeile gegen den von Postfix aufgeloesten -# 'client_name'-Wert (PTR-Eintrag der Client-IP). -# Leerzeilen und Zeilen, die mit '#' beginnen, werden ignoriert. -# -# Beispiele: -# /^buchsys3\.buchsys\.de$/ -> nur dieser eine Hostname -# /\.buchsys\.de$/ -> alle Subdomains von buchsys.de -# (z.B. buchsys3.buchsys.de, -# mail.buchsys.de, etc.) -# -# WICHTIG: +# - Jeder hier gematchte Hostname umgeht das strengere 50er-Limit +# und erlaubt bis zu 100 Nachrichten/Minute. Bitte nur Muster +# eintragen, denen du tatsaechlich vertraust. # - Diese Regel greift NUR, wenn Reverse-DNS fuer die jeweilige # IP sauber konfiguriert ist und der PTR-Eintrag auf das Muster # passt. Pruefe den tatsaechlichen 'client_name'-Wert vorher in @@ -24,15 +16,30 @@ # - Ein zu breites Muster (z.B. /buchsys\.de/ ohne Anker) kann auch # unerwuenschte Hosts matchen (z.B. "evil-buchsys.de.attacker.com"). # Deshalb immer mit '^' und '$' bzw. '\.' vor der Domain arbeiten. -# - Jeder hier gematchte Hostname umgeht das strengere 50er-Limit -# und erlaubt bis zu 100 Nachrichten/Minute. Bitte nur Muster -# eintragen, denen du tatsaechlich vertraust. -# - Nach Aenderungen an dieser Datei postfwd2 neu laden/starten: -# systemctl restart postfwd2 # - Diese Datei wird per 'pcre:' Lookup direkt in postfwd.cf # referenziert, siehe Regel 'HIGH_RATE_CLIENT_NAME'. # - Die IP-basierte Regel (HIGH_RATE_CLIENT_ADDR) ist zuverlaessiger # und sollte die primaere Loesung sein; diese Hostname-Regel # eignet sich vor allem als Ergaenzung bei wechselnden IPs. +# +# Format: PCRE-regulaerer Ausdruck pro Zeile (kein Wildcard/Glob!), +# +# postfwd vergleicht jede Zeile gegen den von Postfix aufgeloesten +# 'client_name'-Wert (PTR-Eintrag der Client-IP). +# Leerzeilen und Zeilen, die mit '#' beginnen, werden ignoriert. +# +# Example +# +# ^buchsys3\.buchsys\.de$ +# +# # buchsys.de +# # www.buchsys.de +# # mail.buchsys.com +# # buchsys.org +# #www.buchsys.co.uk +# (^|\.)buchsys\.[a-z0-9.-]+$ +# # ============================================================ +#^buchsys3\.buchsys\.de$ +#(^|\.)buchsys\.[a-z0-9.-]+$ diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_ip b/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_ip index 1c2d3c8..a602e23 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_ip +++ b/roles/common/files/mailserver/etc/postfix/postfwd.high_rate_ip @@ -3,6 +3,13 @@ # ============================================================ # Whitelist fuer erhoehtes Rate-Limit (100 Nachrichten/Minute) # statt der Standard-Grenze von 50/Minute aus RATE_CLIENT_ADDR +# das heisst: +# +# - Jede hier eingetragene IP umgeht das strengere 50er-Limit +# und darf bis zu 100 Nachrichten/Minute senden. Bitte nur +# IPs eintragen, denen du tatsaechlich vertraust (kompromittierte +# oder falsch eingetragene Systeme koennten sonst zum offenen +# Spam-Verteiler werden). # # Hier werden IP-Adressen bzw. CIDR-Netze von vertrauenswuerdigen # Absende-Systemen eingetragen, die routinemaessig hoehere @@ -15,18 +22,9 @@ # IPv4 und IPv6 werden unterstuetzt. # # Beispiele: -# 116.202.85.120 -# 203.0.113.0/24 # -# WICHTIG: -# - Jede hier eingetragene IP umgeht das strengere 50er-Limit -# und darf bis zu 100 Nachrichten/Minute senden. Bitte nur -# IPs eintragen, denen du tatsaechlich vertraust (kompromittierte -# oder falsch eingetragene Systeme koennten sonst zum offenen -# Spam-Verteiler werden). -# - Nach Aenderungen an dieser Datei postfwd2 neu laden/starten, -# damit die Aenderung sicher greift: -# systemctl restart postfwd2 -# - Diese Datei wird per 'cidr:' Lookup direkt in postfwd.cf -# referenziert, siehe Regel 'HIGH_RATE_CLIENT_ADDR'. +# 116.202.85.120 +# 203.0.113.0/24 +# # ============================================================ + diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.wl-hosts b/roles/common/files/mailserver/etc/postfix/postfwd.wl-hosts index c425a4e..5ae924c 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.wl-hosts +++ b/roles/common/files/mailserver/etc/postfix/postfwd.wl-hosts @@ -1,22 +1,16 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** +# +# Vollstaendige Freistellung anhand des von Postfix gelieferten client_name. +# +# Perl-Regex pro Zeile; +# +# Beispiel: +# ^mail\.example\.org$ +# +# # Domaene einschliesslich Subdomains: +# (^|\.)example\.org$ +# +# Umgeht auch Blacklists und alle Versandlimits. Fuer nur 100 Nachrichten pro +# Minute die Datei postfwd.high_rate_hostname verwenden. -# --- -# Trusted hosts whitelisted by postfwd -# -# This file is called with '=~'. This means perl regexp is possible -# -# -# To increase performance use ^ and/or $ in regular expressions -# -# Example: -# -# # all hosts of domain 'oopen.de' -# \.oopen\.de$ -# -# # host a.mx.oopen.de -# ^a\.mx\.oopen\.de$ -# -# --- - -# give truested hostnames here diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.wl-nets b/roles/common/files/mailserver/etc/postfix/postfwd.wl-nets index 3afdf0f..353349d 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.wl-nets +++ b/roles/common/files/mailserver/etc/postfix/postfwd.wl-nets @@ -1,18 +1,23 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted networks whitelisted by postfwd # -# Example: +# Vollstaendige Freistellung fuer Client-IP-Adressen/IPv4-Netze. +# Umgeht auch die nachfolgenden Blacklists und alle Limits; nur bewusst nutzen. +# IPv4: einzelne Adresse oder CIDR-Netz. postfwd2 1.35 verarbeitet IPv6 hier +# nur als exakten Adresstext OHNE /128, nicht als IPv6-CIDR-Netz. +# +# Exakte IPv6-Schreibweise wie client_address von Postfix verwenden. +# Eine Adresse/ein Netz pro Zeile. +# +# Beispiele: +# +# 192.0.2.10 +# 192.0.2.0/24 +# +# # b.mx.oopen.de +# 2a01:4f8:271:1266::73 +# 2a01:4f8:271:1266::/64 # -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee # -# --- - -# give truested networrk adresses here # d.mx.oopen.de (listen server) 95.217.204.227 2a01:4f9:4a:47e5::227 diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.wl-sender b/roles/common/files/mailserver/etc/postfix/postfwd.wl-sender index c64a9ff..72df41b 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.wl-sender +++ b/roles/common/files/mailserver/etc/postfix/postfwd.wl-sender @@ -1,22 +1,18 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted senders whitelisted by postfwd # -# This file is called with '=~'. This means perl regexp is possible +# Vollstaendige Freistellung anhand des Envelope-Absenders, NICHT From:-Header. # -# -# To increase performance use ^ and/or $ in regular expressions +# Perl-Regex pro Zeile # # Example: # -# # all senders of maildomaindomain 'oopen.de' -# @oopen\.de$ +# ^noreply@example\.org$ # -# # sender address ckubu@oopen.de -# ^ckubu@oopen\.de$ +# ACHTUNG: +# Absender ist nachahmbar; diese Liste prueft weder SPF noch DKIM noch +# SASL-Identitaet. Treffer umgehen nachfolgende postfwd-Sperren und Limits. +# Der vorhandene Eintrag wurde als bisherige Ausnahme beibehalten. # -# --- # give trusted sender addresses here ^noreply@login\.ubuntu\.com$ diff --git a/roles/common/files/mailserver/etc/postfix/postfwd.wl-user b/roles/common/files/mailserver/etc/postfix/postfwd.wl-user index f1d2ac5..e87ec57 100644 --- a/roles/common/files/mailserver/etc/postfix/postfwd.wl-user +++ b/roles/common/files/mailserver/etc/postfix/postfwd.wl-user @@ -1,15 +1,18 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users whitelisted by postfwd # -# example: +# Vollstaendige Freistellung fuer SASL-Benutzernamen. +# +# Exakter Name pro Zeile, keine Regex; wie von Postfix als sasl_username geliefert. +# +# Umgeht auch Blacklists und alle Limits. Fuer nur hoehere Limits stattdessen +# postfwd.high-rate-number-messages bzw. -recipients verwenden. +# +# Example: # # # give trusted sasl usernames here # ckubu@oopen.de # vertrieb@akweb.de -# -# --- # give trusted sasl usernames here - +spenden@cadus.org +ebru.altintop@cadus.org diff --git a/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high-rate-number-messages b/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high-rate-number-messages index df6cc67..5afe12a 100644 --- a/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high-rate-number-messages +++ b/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high-rate-number-messages @@ -16,4 +16,5 @@ # give sasl usernames here buchsys@sprachenatelier-berlin.de +todo@warenform.de diff --git a/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_hostname b/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_hostname index d124692..7bb56e0 100644 --- a/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_hostname +++ b/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_hostname @@ -4,19 +4,11 @@ # Whitelist fuer erhoehtes Rate-Limit (100 Nachrichten/Minute) # auf Basis des Client-Hostnamens (Reverse-DNS/PTR-Eintrag), # statt der Standard-Grenze von 50/Minute aus RATE_CLIENT_ADDR +# das heisst: # -# Format: PCRE-regulaerer Ausdruck pro Zeile (kein Wildcard/Glob!), -# postfwd2 vergleicht jede Zeile gegen den von Postfix aufgeloesten -# 'client_name'-Wert (PTR-Eintrag der Client-IP). -# Leerzeilen und Zeilen, die mit '#' beginnen, werden ignoriert. -# -# Beispiele: -# /^buchsys3\.buchsys\.de$/ -> nur dieser eine Hostname -# /\.buchsys\.de$/ -> alle Subdomains von buchsys.de -# (z.B. buchsys3.buchsys.de, -# mail.buchsys.de, etc.) -# -# WICHTIG: +# - Jeder hier gematchte Hostname umgeht das strengere 50er-Limit +# und erlaubt bis zu 100 Nachrichten/Minute. Bitte nur Muster +# eintragen, denen du tatsaechlich vertraust. # - Diese Regel greift NUR, wenn Reverse-DNS fuer die jeweilige # IP sauber konfiguriert ist und der PTR-Eintrag auf das Muster # passt. Pruefe den tatsaechlichen 'client_name'-Wert vorher in @@ -24,17 +16,30 @@ # - Ein zu breites Muster (z.B. /buchsys\.de/ ohne Anker) kann auch # unerwuenschte Hosts matchen (z.B. "evil-buchsys.de.attacker.com"). # Deshalb immer mit '^' und '$' bzw. '\.' vor der Domain arbeiten. -# - Jeder hier gematchte Hostname umgeht das strengere 50er-Limit -# und erlaubt bis zu 100 Nachrichten/Minute. Bitte nur Muster -# eintragen, denen du tatsaechlich vertraust. -# - Nach Aenderungen an dieser Datei postfwd2 neu laden/starten: -# systemctl restart postfwd2 # - Diese Datei wird per 'pcre:' Lookup direkt in postfwd.cf # referenziert, siehe Regel 'HIGH_RATE_CLIENT_NAME'. # - Die IP-basierte Regel (HIGH_RATE_CLIENT_ADDR) ist zuverlaessiger # und sollte die primaere Loesung sein; diese Hostname-Regel # eignet sich vor allem als Ergaenzung bei wechselnden IPs. +# +# Format: PCRE-regulaerer Ausdruck pro Zeile (kein Wildcard/Glob!), +# +# postfwd vergleicht jede Zeile gegen den von Postfix aufgeloesten +# 'client_name'-Wert (PTR-Eintrag der Client-IP). +# Leerzeilen und Zeilen, die mit '#' beginnen, werden ignoriert. +# +# Example +# +# ^buchsys3\.buchsys\.de$ +# +# # buchsys.de +# # www.buchsys.de +# # mail.buchsys.com +# # buchsys.org +# #www.buchsys.co.uk +# (^|\.)buchsys\.[a-z0-9.-]+$ +# # ============================================================ -/^buchsys3\.buchsys\.de$/ -/^www\.buchsys\.de$/ +^buchsys3\.buchsys\.de$ +(^|\.)buchsys\.[a-z0-9.-]+$ diff --git a/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_ip b/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_ip index ca4ae87..566b7aa 100644 --- a/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_ip +++ b/roles/common/files/mx.warenform.de/etc/postfix/postfwd.high_rate_ip @@ -3,6 +3,13 @@ # ============================================================ # Whitelist fuer erhoehtes Rate-Limit (100 Nachrichten/Minute) # statt der Standard-Grenze von 50/Minute aus RATE_CLIENT_ADDR +# das heisst: +# +# - Jede hier eingetragene IP umgeht das strengere 50er-Limit +# und darf bis zu 100 Nachrichten/Minute senden. Bitte nur +# IPs eintragen, denen du tatsaechlich vertraust (kompromittierte +# oder falsch eingetragene Systeme koennten sonst zum offenen +# Spam-Verteiler werden). # # Hier werden IP-Adressen bzw. CIDR-Netze von vertrauenswuerdigen # Absende-Systemen eingetragen, die routinemaessig hoehere @@ -15,20 +22,10 @@ # IPv4 und IPv6 werden unterstuetzt. # # Beispiele: -# 116.202.85.120 -# 203.0.113.0/24 # -# WICHTIG: -# - Jede hier eingetragene IP umgeht das strengere 50er-Limit -# und darf bis zu 100 Nachrichten/Minute senden. Bitte nur -# IPs eintragen, denen du tatsaechlich vertraust (kompromittierte -# oder falsch eingetragene Systeme koennten sonst zum offenen -# Spam-Verteiler werden). -# - Nach Aenderungen an dieser Datei postfwd2 neu laden/starten, -# damit die Aenderung sicher greift: -# systemctl restart postfwd2 -# - Diese Datei wird per 'cidr:' Lookup direkt in postfwd.cf -# referenziert, siehe Regel 'HIGH_RATE_CLIENT_ADDR'. +# 116.202.85.120 +# 203.0.113.0/24 +# # ============================================================ # www.buchsys.de diff --git a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-hosts b/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-hosts deleted file mode 100644 index c425a4e..0000000 --- a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-hosts +++ /dev/null @@ -1,22 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted hosts whitelisted by postfwd -# -# This file is called with '=~'. This means perl regexp is possible -# -# -# To increase performance use ^ and/or $ in regular expressions -# -# Example: -# -# # all hosts of domain 'oopen.de' -# \.oopen\.de$ -# -# # host a.mx.oopen.de -# ^a\.mx\.oopen\.de$ -# -# --- - -# give truested hostnames here - diff --git a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-nets b/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-nets index 02ef1ed..353349d 100644 --- a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-nets +++ b/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-nets @@ -1,18 +1,27 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted networks whitelisted by postfwd # -# Example: +# Vollstaendige Freistellung fuer Client-IP-Adressen/IPv4-Netze. +# Umgeht auch die nachfolgenden Blacklists und alle Limits; nur bewusst nutzen. +# IPv4: einzelne Adresse oder CIDR-Netz. postfwd2 1.35 verarbeitet IPv6 hier +# nur als exakten Adresstext OHNE /128, nicht als IPv6-CIDR-Netz. +# +# Exakte IPv6-Schreibweise wie client_address von Postfix verwenden. +# Eine Adresse/ein Netz pro Zeile. +# +# Beispiele: +# +# 192.0.2.10 +# 192.0.2.0/24 +# +# # b.mx.oopen.de +# 2a01:4f8:271:1266::73 +# 2a01:4f8:271:1266::/64 # -# # web0.warenform.de -# #83.223.86.76 -# #2a01:30:0:505:286:96ff:fe4a:6ee -# #2a01:30:0:13:286:96ff:fe4a:6eee # -# --- - -# give truested networrk adresses here # d.mx.oopen.de (listen server) 95.217.204.227 2a01:4f9:4a:47e5::227 + +# b.mx.oopen.de +162.55.82.73/32 +2a01:4f8:271:1266::73 diff --git a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-sender b/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-sender index 70f2aea..72df41b 100644 --- a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-sender +++ b/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-sender @@ -1,23 +1,18 @@ # *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# Trusted senders whitelisted by postfwd # -# This file is called with '=~'. This means perl regexp is possible +# Vollstaendige Freistellung anhand des Envelope-Absenders, NICHT From:-Header. # -# -# To increase performance use ^ and/or $ in regular expressions +# Perl-Regex pro Zeile # # Example: # -# # all senders of maildomaindomain 'oopen.de' -# @oopen\.de$ +# ^noreply@example\.org$ # -# # sender address ckubu@oopen.de -# ^ckubu@oopen\.de$ +# ACHTUNG: +# Absender ist nachahmbar; diese Liste prueft weder SPF noch DKIM noch +# SASL-Identitaet. Treffer umgehen nachfolgende postfwd-Sperren und Limits. +# Der vorhandene Eintrag wurde als bisherige Ausnahme beibehalten. # -# --- # give trusted sender addresses here ^noreply@login\.ubuntu\.com$ - diff --git a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-user b/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-user deleted file mode 100644 index 5eb068a..0000000 --- a/roles/common/files/o13-mail.oopen.de/etc/postfix/postfwd.wl-user +++ /dev/null @@ -1,14 +0,0 @@ -# *** [ Ansible managed: DO NOT EDIT DIRECTLY ] *** - -# --- -# SASL Users whitelisted by postfwd -# -# example: -# -# # give trusted sasl usernames here -# ckubu@oopen.de -# vertrieb@akweb.de -# -# --- - -# give trusted sasl usernames here diff --git a/roles/common/templates/etc/sudoers.d/50-user.j2 b/roles/common/templates/etc/sudoers.d/50-user.j2 index bd8efd9..6e6878f 100644 --- a/roles/common/templates/etc/sudoers.d/50-user.j2 +++ b/roles/common/templates/etc/sudoers.d/50-user.j2 @@ -90,4 +90,13 @@ back {{ item }} {% endfor %} {% endif %} +#chris ALL=(ALL) NOPASSWD: ALL + # Group privilege specification + +{%- if (sudoers_file_group_privileges is defined and sudoers_file_group_privileges) %} + +{% for item in sudoers_file_group_privileges | default([]) %} +{{ item.name }} {{ item.entry }} +{% endfor %} +{% endif %}