Ich versuche, einen Angriff und Logs SASL LOGIN authentication failed
für meinen Mailserver zu stoppen. Ich versuche es jedoch schon seit einem Tag und habe es immer noch nicht geschafft. Die Logs generieren den Angriff weiterhin mit derselben IP.
Maschine
Linux server 5.4.0-109-generic #123-Ubuntu SMP Fri Apr 8 09:10:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Mail Loggt sich ein/var/log/mail.log
Apr 28 20:45:23 server postfix/smtpd[112579]: connect from unknown[5.34.207.81]
Apr 28 20:45:24 server postfix/smtpd[112409]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:25 server postfix/smtpd[112409]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Apr 28 20:45:30 server postfix/smtpd[112599]: connect from unknown[5.34.207.81]
Apr 28 20:45:31 server postfix/smtpd[112579]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:32 server postfix/smtpd[112579]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Apr 28 20:45:36 server postfix/smtpd[112409]: connect from unknown[5.34.207.81]
Apr 28 20:45:38 server postfix/smtpd[112599]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:38 server postfix/smtpd[112599]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Fail2Ban mit IPtables
/etc/fail2ban/jail.local
[postfix-sasl]
enabled = true
port = smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s
bantime = 10m
filter = postfix-sasl
#action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 15
Ich habe es getan sudo service fail2ban restart
und das Verwirrende ist, dass ich keine Kette mit gesehen habe f2b-postfix
.
Habe also ein Grep aus fail2ban
den Protokollen durchgeführt und hier ist die Ausgabe:
Fail2Ban meldet sich an/var/log/fail2ban.log
2022-04-27 16:27:10,133 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 5.34.207.81
2022-04-27 16:27:45,391 fail2ban.actions [567]: NOTICE [postfix-sasl] Ban 5.34.207.81
2022-04-27 16:32:17,801 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 212.70.149.72
2022-04-27 22:37:46,299 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 5.34.207.81
Fail2Ban mit UFW
Bei meinen Recherchen habe ich herausgefunden, dass Fail2Ban mit UFW funktioniert, also habe ich ein wenig danach gesucht und hier ist meine Konfiguration:
/etc/fail2ban/jail.local
[postfix-sasl]
enabled = true
journalmatch =
backend = polling
bantime = -1 // Permanent ban? Maybe
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 15
banaction = ufw
findtime = 120
Erwähnenswert ist, dass ich manuell eingegeben habe, sudo ufw insert 1 deny from 5.34.207.81 to any
aber sudo ufw reload
leider kann ich den Angriff von derselben IP immer noch in den Mail-Logs sehen/var/log/mail.log
Antwort1
Aktualisierung
Schließlich Fail2Ban
funktioniert es wie erwartet und ich werde dies als Antwort markieren!
Die Lösung besteht darin, action
gleich zu setzen, um iptables-multiport
mehrere Ports zu sperren! Ich verwende es jedoch nicht, UFW
um den Angreifer einzuschränken, da mir klar ist, UFW
dass es während des Bootvorgangs aufgrund von Konflikten mit immer nicht aktiviert ist firewalld
.
Lösungen
Fügen Sie diese Zeile in Ihre/etc/fail2ban/jail.local
action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]
Es sollte ungefähr so aussehen:
[postfix-sasl]
enabled = true
filter = postfix-sasl
action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]
logpath = /var/log/mail.log
maxretry = 15
bantime = 12h
Zuvor habe ich zu Testzwecken maxretry
auf eingestellt. Sie sollten den Wert möglicherweise auf einen höheren Wert ändern. Andernfalls kann Ihr Benutzer schnell in Schwierigkeiten geraten.3
Überprüfen Sie den Fail2Ban-Status
Es lohnt sich, Ihr Gefängnis zu überprüfen:
sudo fail2ban-server status postfix-sasl
Ausgabe:
Status for the jail: postfix-sasl
|- Filter
| |- Currently failed: 2
| |- Total failed: 49
| `- File list: /var/log/mail.log
`- Actions
|- Currently banned: 1
|- Total banned: 3
`- Banned IP list: 5.34.207.81
Antwort2
Beachten Sie, dass Sie den Schwellenwert je nach Anzahl Ihrer Benutzer möglicherweise senken und die Sperrdauer je nach Anzahl der Angriffe ggf. verlängern möchten.
Ich verwende kein Postfix, sondern Exim. Die Herausforderungen beim Blockieren von Angreifern sind jedoch dieselben. Hier können Sie den Status meines Fail2ban-Jails sehen, um sich einen Eindruck von der Größe des Botnetzes zu verschaffen:
XXXX@XXXX:~# fail2ban-client status exim
Status für das Jail: exim
|- Filter
| |- Derzeit fehlgeschlagen: 0
| |- Insgesamt fehlgeschlagen: 10380
| - File list: /var/log/exim4/mainlog
- Aktionen
|- Derzeit gesperrt:1763
|- Insgesamt gesperrte Personen: 5644
`- Liste gesperrter IPs: XXXXXXXXXXXX