drop connection if there are too many RCPT failures

This commit is contained in:
Matthew Saunders Brown 2025-02-18 15:56:54 -08:00
parent a1a4ec867e
commit 96ba4e3bb8

View File

@ -11,6 +11,7 @@ bounce_message_file = /etc/exim4/bounce_message_text
smtp_accept_max = 50 smtp_accept_max = 50
smtp_accept_max_per_host = 10 smtp_accept_max_per_host = 10
smtp_accept_queue_per_connection = 50 smtp_accept_queue_per_connection = 50
RCPT_FAIL_COUNT_MAX = 5
.include /etc/exim4/exim_local.conf .include /etc/exim4/exim_local.conf
@ -365,6 +366,12 @@ acl_rcpt_to:
accept accept
hosts = : +relay_from_hosts hosts = : +relay_from_hosts
drop
message = Too many RCPT failures
condition = ${if ={$rcpt_fail_count}{RCPT_FAIL_COUNT_MAX} {1}}
! verify = recipient
log_message = Too many RCPT failures ($rcpt_fail_count)
# Get rate limit for user and log current rate. # Get rate limit for user and log current rate.
# Hourly rate limit is extracted from db, multiplied by 10 to get daily rate limit. # Hourly rate limit is extracted from db, multiplied by 10 to get daily rate limit.
# The idea being that the hourly rate limit should be a maximum, peak rate, not a sustained rate. # The idea being that the hourly rate limit should be a maximum, peak rate, not a sustained rate.