feat(common): add host-tree file/template overrides and skip global items when host overrides exist

This commit is contained in:
2026-07-27 21:55:27 +02:00
parent b40d3249fb
commit f39babaf5d
33 changed files with 1148 additions and 43 deletions
@@ -0,0 +1,19 @@
# *** [ 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
buchsys@sprachenatelier-berlin.de
@@ -0,0 +1,40 @@
# *** [ 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$/
@@ -0,0 +1,35 @@
# *** [ 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