feat(common): add host-tree file/template overrides and skip global items when host overrides exist
This commit is contained in:
@@ -160,10 +160,29 @@ id=RATE_UNKNOWN_CLIENT_ADDR
|
||||
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 from $$client_address)
|
||||
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
|
||||
id=BLOCK_MSG_RCPT
|
||||
@@ -172,7 +191,7 @@ id=BLOCK_MSG_RCPT
|
||||
recipient_count=90
|
||||
action=REJECT Too many recipients, please reduce to less than 90 or consider using a mailing list. Error: BLOCK_MSG_RCPT
|
||||
|
||||
# Higher rate limit for users in exception list
|
||||
# Higher rate limit for users in exception list (limit: 500 messages/hour)
|
||||
id=RATE_MSG_EXCEPTION
|
||||
&&INCOMING
|
||||
&&SASL_AUTH
|
||||
@@ -185,7 +204,7 @@ id=RATE_MSG
|
||||
&&SASL_AUTH
|
||||
action=rate($$sasl_username/50/3600/450 4.7.1 Number messages per hour exceeded. Error:RATE_MSG)
|
||||
|
||||
# Higher recipient rate limit for specific users from file
|
||||
# Higher recipient rate limit for specific users from file (limit: 1000 recipients total/hour)
|
||||
id=RATE_RCPT_HIGH
|
||||
&&INCOMING
|
||||
&&SASL_AUTH
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# *** [ 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.
|
||||
# ============================================================
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# *** [ 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'.
|
||||
# ============================================================
|
||||
Reference in New Issue
Block a user