2013-10-30 13:02:59 +00:00
|
|
|
# Fail2Ban filter for exim
|
2006-12-23 09:49:19 +00:00
|
|
|
#
|
2013-10-30 13:02:59 +00:00
|
|
|
# This includes the rejection messages of exim. For spam and filter
|
|
|
|
# related bans use the exim-spam.conf
|
2006-12-23 09:49:19 +00:00
|
|
|
#
|
|
|
|
|
2013-07-02 10:03:16 +00:00
|
|
|
|
|
|
|
[INCLUDES]
|
|
|
|
|
|
|
|
# Read common prefixes. If any customizations available -- read them from
|
|
|
|
# exim-common.local
|
|
|
|
before = exim-common.conf
|
|
|
|
|
2006-12-23 09:49:19 +00:00
|
|
|
[Definition]
|
|
|
|
|
2024-03-25 14:31:23 +00:00
|
|
|
prefregex = ^%(__prefix_line)s<F-CONTENT>.+</F-CONTENT>$
|
|
|
|
|
|
|
|
failregex = ^%(host_info)s sender verify fail for <\S+>: (?:Unknown user|Unrouteable address|all relevant MX records point to non-existent hosts)\s*$
|
|
|
|
^\s?\w+ authenticator failed for%(host_info)s: 535 Incorrect authentication data(?: \(set_id=.*\)|: \d+ Time\(s\))?\s*$
|
|
|
|
^%(host_info)s rejected RCPT [^@]+@\S+: (?:relay not permitted|Sender verify failed|Unknown user|Unrouteable address)\s*$
|
|
|
|
^\s?SMTP protocol synchronization error \([^)]*\): rejected (?:connection from|"\S+")%(host_info)s (?:next )?input=".*"\s*$
|
|
|
|
^\s?SMTP call from%(host_info)s dropped: too many (?:(?:nonmail|unrecognized) commands|syntax or protocol errors)
|
|
|
|
^\s?SMTP protocol error in "[^"]+(?:"+[^"]*(?="))*?"%(host_info)s AUTH command used when not advertised\s*$
|
|
|
|
^\s?no MAIL in SMTP connection from%(host_info)s
|
|
|
|
^\s?(?:[\w\-]+ )?SMTP connection from%(host_info)s closed by DROP in ACL\s*$
|
2017-12-05 15:07:53 +00:00
|
|
|
<mdre-<mode>>
|
|
|
|
|
2024-03-25 14:31:23 +00:00
|
|
|
mdre-aggressive = ^\s?no host name found for IP address <ADDR>$
|
|
|
|
^\s?no IP address found for host \S+ \(during SMTP connection from%(host_info)s\)$
|
2017-12-05 15:07:53 +00:00
|
|
|
|
|
|
|
mdre-normal =
|
|
|
|
|
|
|
|
# Parameter `mode` - `normal` or `aggressive`.
|
|
|
|
# Aggressive mode can be used to match flood and ddos-similar log-entries like:
|
|
|
|
# 'no host found for IP', 'no IP found for host'.
|
|
|
|
# Note this is not an authentication failures, so it may produce lots of false
|
|
|
|
# positives on misconfigured MTAs.
|
|
|
|
# Ex.:
|
|
|
|
# filter = exim[mode=aggressive]
|
|
|
|
mode = normal
|
2006-12-23 09:49:19 +00:00
|
|
|
|
|
|
|
ignoreregex =
|
2013-10-30 13:02:59 +00:00
|
|
|
|
2024-03-21 21:16:41 +00:00
|
|
|
# DEV Notes
|
|
|
|
# -----------
|
2024-03-22 18:55:08 +00:00
|
|
|
# The %(host_info) definition contains a <ADDR> match. No space before. See exim-common.conf
|
2013-10-30 13:02:59 +00:00
|
|
|
#
|
2013-11-12 07:13:35 +00:00
|
|
|
# SMTP protocol synchronization error \([^)]*\) <- This needs to be non-greedy
|
2023-11-18 15:04:04 +00:00
|
|
|
# to void capture beyond ")" to avoid a DoS Injection vulnerability as input= is
|
2013-11-12 07:13:35 +00:00
|
|
|
# user injectable data.
|