Line 1... |
Line 1... |
1 |
# Fail2Ban filter for exim the spam rejection messages
|
1 |
# Fail2Ban filter for exim the spam rejection messages
|
2 |
#
|
2 |
#
|
- |
|
3 |
# Honeypot traps are very useful for fighting spam. You just activate an email
|
- |
|
4 |
# address on your domain that you do not intend to use at all, and that normal
|
- |
|
5 |
# people do not risk to try for contacting you. It may be something that
|
- |
|
6 |
# spammers often test. You can also hide the address on a web page to be picked
|
- |
|
7 |
# by spam spiders. Or simply parse your mail logs for an invalid address
|
- |
|
8 |
# already being frequently targeted by spammers. Enable the address and
|
- |
|
9 |
# redirect it to the blackhole. In Exim's alias file, you would add the
|
- |
|
10 |
# following line (assuming the address is honeypot@yourdomain.com):
|
- |
|
11 |
#
|
- |
|
12 |
# honeypot: :blackhole:
|
- |
|
13 |
#
|
3 |
## For the SA: Action: silently tossed message... to be logged exim's SAdevnull option needs to be used.
|
14 |
# For the SA: Action: silently tossed message... to be logged exim's SAdevnull option needs to be used.
|
- |
|
15 |
#
|
- |
|
16 |
# To this filter use the jail.local should contain in the right jail:
|
- |
|
17 |
#
|
- |
|
18 |
# filter = exim-spam[honeypot=honeypot@yourdomain.com]
|
- |
|
19 |
#
|
4 |
|
20 |
|
5 |
[INCLUDES]
|
21 |
[INCLUDES]
|
6 |
|
22 |
|
7 |
# Read common prefixes. If any customizations available -- read them from
|
23 |
# Read common prefixes. If any customizations available -- read them from
|
8 |
# exim-common.local
|
24 |
# exim-common.local
|
Line 11... |
Line 27... |
11 |
[Definition]
|
27 |
[Definition]
|
12 |
|
28 |
|
13 |
failregex = ^%(pid)s \S+ F=(<>|\S+@\S+) %(host_info)srejected by local_scan\(\): .{0,256}$
|
29 |
failregex = ^%(pid)s \S+ F=(<>|\S+@\S+) %(host_info)srejected by local_scan\(\): .{0,256}$
|
14 |
^%(pid)s %(host_info)sF=(<>|[^@]+@\S+) rejected RCPT [^@]+@\S+: .*dnsbl.*\s*$
|
30 |
^%(pid)s %(host_info)sF=(<>|[^@]+@\S+) rejected RCPT [^@]+@\S+: .*dnsbl.*\s*$
|
15 |
^%(pid)s \S+ %(host_info)sF=(<>|[^@]+@\S+) rejected after DATA: This message contains a virus \(\S+\)\.\s*$
|
31 |
^%(pid)s \S+ %(host_info)sF=(<>|[^@]+@\S+) rejected after DATA: This message contains a virus \(\S+\)\.\s*$
|
- |
|
32 |
^%(pid)s \S+ SA: Action: flagged as Spam but accepted: score=\d+\.\d+ required=\d+\.\d+ \(scanned in \d+/\d+ secs \| Message-Id: \S+\)\. From \S+ \(host=\S+ \[<HOST>\]\) for <honeypot>$
|
16 |
^%(pid)s \S+ SA: Action: silently tossed message: score=\d+\.\d+ required=\d+\.\d+ trigger=\d+\.\d+ \(scanned in \d+/\d+ secs \| Message-Id: \S+\)\. From \S+ \(host=(\S+ )?\[<HOST>\]\) for \S+$
|
33 |
^%(pid)s \S+ SA: Action: silently tossed message: score=\d+\.\d+ required=\d+\.\d+ trigger=\d+\.\d+ \(scanned in \d+/\d+ secs \| Message-Id: \S+\)\. From \S+ \(host=(\S+ )?\[<HOST>\]\) for \S+$
|
17 |
|
34 |
|
18 |
ignoreregex =
|
35 |
ignoreregex =
|
- |
|
36 |
|
- |
|
37 |
[Init]
|
- |
|
38 |
|
- |
|
39 |
# Option: honeypot
|
- |
|
40 |
# Notes.: honeypot is an email address that isn't published anywhere that a
|
- |
|
41 |
# legitimate email sender would send email too.
|
- |
|
42 |
# Values: email address
|
- |
|
43 |
|
- |
|
44 |
honeypot = trap@example.com
|
19 |
|
45 |
|
20 |
# DEV Notes:
|
46 |
# DEV Notes:
|
21 |
# The %(host_info) defination contains a <HOST> match
|
47 |
# The %(host_info) defination contains a <HOST> match
|
22 |
#
|
48 |
#
|
23 |
# Author: Cyril Jaquier
|
49 |
# Author: Cyril Jaquier
|