Tag Archives: dovecot

Dovecot mit Fail2Ban sichern


In letzter Zeit bekomme ich auf den Server verschiedene POP3/IMAP Angriffe. Es sind immer wieder die gleichen IP-Adressen von denen es ausgeht. Jetzt habe ich auch Dovecot in Fail2Ban aufgenommen und erfolgreich die Angriffe geblockt.

Hierzu müssen wir erstmal einen Filter mit der Regex anlegen.

1
# vi /etc/fail2ban/filter.d/dovecot.conf

Inhalt des Filters:

[Definition]

1
2
3
4
5
6
7
8
9
10
11
12
13
<span style="color: #808080; font-style: italic;"># Option:  failregex</span>
<span style="color: #808080; font-style: italic;"># Notes.:  regex to match the password failures messages <span style="color: #000000; font-weight: bold;">in</span> the logfile. The</span>
<span style="color: #808080; font-style: italic;">#          host must be matched by a group named </span><span style="color: #ff0000;">"host"</span>. The tag <span style="color: #ff0000;">"&lt;HOST&gt;"</span> can
<span style="color: #808080; font-style: italic;">#          be used <span style="color: #000000; font-weight: bold;">for</span> standard IP/<span style="color: #c20cb9; font-weight: bold;">hostname</span> matching.</span>
<span style="color: #808080; font-style: italic;"># Values:  TEXT</span>
<span style="color: #808080; font-style: italic;">#</span>
failregex = <span style="color: #7a0874; font-weight: bold;">(</span>?:imap|pop3<span style="color: #7a0874; font-weight: bold;">)</span>-<span style="color: #c20cb9; font-weight: bold;">login</span>: Disconnected: <span style="color: #007800;">user=</span>&lt;.*&gt;, <span style="color: #007800;">method=</span><span style="color: #7a0874; font-weight: bold;">(</span>?:LOGIN|PLAIN|<span style="color: #7a0874; font-weight: bold;">(</span>?:CRAM|DIGEST<span style="color: #7a0874; font-weight: bold;">)</span>-MD5<span style="color: #7a0874; font-weight: bold;">)</span>, <span style="color: #007800;">rip=</span>&lt;HOST&gt;, lip
 
<span style="color: #808080; font-style: italic;"># Option:  ignoreregex</span>
<span style="color: #808080; font-style: italic;"># Notes.:  regex to ignore. If this regex matches, the line is ignored.</span>
<span style="color: #808080; font-style: italic;"># Values:  TEXT</span>
<span style="color: #808080; font-style: italic;">#</span>
ignoreregex =

Jetzt muss der Filter nur noch in der jail.conf aktiviert werden.

1
# vi /etc/fail2ban/jail.<span style="color: #7a0874; font-weight: bold;">local</span>

Hierzu einfach folgenden Part an die Datei unten anhängen:

1
2
3
4
5
<span style="color: #7a0874; font-weight: bold;">[</span>dovecot<span style="color: #7a0874; font-weight: bold;">]</span>
enabled  = <span style="color: #c20cb9; font-weight: bold;">true</span>
port     = imap,imaps,pop3,pop3s
filter   = dovecot
logpath  = /var/log/mail.log

Jetzt noch ein reload von fail2ban um die Config neu zu laden:

1
<code># fail2ban-client reload</code>

Um zu testen ob der Filter passt und auch IP-Adressen sperren würde:

1
# fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/dovecot.conf