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 :
lassen sich die Einträge in der Firewall anzeigen
Mit : ( Theoretisch nicht notwendig beim fail2ban restart )
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