Brute Force Attacks verhindern, bei PLESK mit fail2ban

Ihno
Auf unseren Debian Servern brauchen Sie nur noch fail2ban zu installieren, da die Firewall iptables standardmaessig installiert ist.
code:
1:
apt-get install fail2ban
Im Standard ist damit Ihr Server recht sicher. Z.B. bei SSH/Putty Attacken ist nach dem 6. Versuch erst einmal für 10 Minuten keine Verbindung per SSH möglich.
Auch bei ftp-Attacken und http-Attacken ist recht schnell Ruhe. ( Muss aber auf "true" gesetzt werden )
Nach eingestellter Zeit löscht sich der jeweilige Eintrag wieder selbständig.
In dieser Datei kann man noch Einstellungen ändern : ( Z.B. email Adresse, Sperrzeit usw. )
code:
1:
/etc/fail2ban/jail.conf
Nach Änderungen in dieser Datei mus fail2ban restartet werden :
code:
1:
/etc/init.d/fail2ban restart
Für Debian PLESK(10)-Server sieht die /etc/fail2ban/jail.conf Änderungen z.B. dann so aus :
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
destemail = ihreemail@ihredomain.tld
[proftpd]

enabled  = true
port     = ftp,ftp-data
# port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/auth.log
maxretry = 6

[couriersmtp]

enabled  = true
port     = smtp,ssmtp
filter   = couriersmtp
logpath  = /opt/psa/var/log/maillog

[courierauth]

enabled  = true
port     = imap2,imap3,imaps,pop3,pop3s
filter   = courierlogin
logpath  = /opt/psa/var/log/maillog

[apache]

enabled   = true
port      = http,https
filter    = apache-auth
logpath   = /var/www/vhosts/*/statistics/logs/error_log
maxretry  = 3

Damit die email Attacks erkannt werden, muss noch eine Änderung in der : /etc/fail2ban/filter.d/courierlogin.conf vorgenommen werden :
code:
1:
failregex = LOGIN FAILED, ip=\[<HOST>\]$

Damit die smtp-email Attacks erkannt werden, muss noch eine Änderung in der : /etc/fail2ban/filter.d/couriersmtp.conf vorgenommen werden :
code:
1:
2:
3:
failregex = .*password incorrect from \(null\) \[<HOST>\]$
            .*password incorrect from \@ \[<HOST>\].*$
Für die ftp Einbrüche in der : /etc/fail2ban/filter.d/proftpd.conf :
code:
1:
failregex = \(\S+\[<HOST>\]\)[: -]+ USER \S+: no such user found from
Besonders bei vServern treten Timing-Probleme beim start/restart auf. In der Datei /usr/bin/fail2ban-client die Stelle finden und ein time.sleep(0.1) einbauen. Unbedingt vorher fail2ban mit : /etc/init.d/fail2ban stop stoppen ! - Sonst hilft nur deinstallieren ! So sieht das dann aus :
code:
1:
2:
3:
4:
5:
def __processCmd(self, cmd, showRet = True):
beautifier = Beautifier()
for c in cmd: 
time.sleep(0.1)
beautifier.setInputCmd(c)
Mit :
code:
1:
iptables -S
lassen sich die Einträge in der Firewall anzeigen
Mit : ( Theoretisch nicht notwendig beim fail2ban restart )
code:
1:
iptables -F
alle Einträge löschen ( Wichtig, wenn in der
code:
1:
cat /var/log/fail2ban.log
Fehler auftauchen, vorher alles löschen )
und mit
code:
1:
iptables -X fail2ban-ssh  usw.
die Regeln löschen - Danach fail2ban wieder starten ! --> /etc/init.d/fail2ban restart