nach vielen Stunden rumprobieren und habe ich mich nun entschlossen einen Versuch hier zu wagen.
Ich beschäftige mich seit geraumer Zeit mit Linux, nun dachte ich mir mal etwas rumzuprobieren.
Ich habe dahingehend so lange an meinem Command gebastelt so dass, wenn ich diese nacheinander in das Terminal reinkopiere genau das dann zum gewünschten Ergebnis führt.
Nun dachte ich, kann ja nicht so schwer sein das in ein .sh Script zu verpacken und via Crontab ausführen zu lassen, da habe ich leider völlig falsch gedacht und nun bin ich hier.
System: Debian 6.3 , es handelt sich dabei um einen Proxmox Host.
Folgende Commands habe ich zusammengebastelt, diese könnte man sicher optimieren, aber das würde ich gern im Anschluss erst machen.
Code: Alles auswählen
cp /var/log/auth.log /root/auth.log
grep -o -E "([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9])+(.*Bye*)" /root/auth.log > /root/ip_with_bye.txt
grep -o -E "(Failed*.*)+([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9])" /root/auth.log > /root/ip_with_failed_pw.txt
grep -o -E "([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9]*.)" /root/ip_with_bye.txt > /root/ip_list.txt
grep -o -E "([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9]*.)" /root/ip_with_failed_pw.txt >> /root/ip_list.txt
awk '{print $0"[12/10/2019 23:59:59]"}' /root/ip_list.txt >> /root/ip.blacklist_new
rm -r ip_with_bye*
rm -r /root/ip_with_failed_pw*
rm -r /root/ip_list*
rm -r /root/auth*
cp /etc/fail2ban/ip.blacklist /root/ip.blacklist_old
cat /root/ip.blacklist_old /root/ip.blacklist_new > /root/ip.blacklist_unsort
rm -r /root/ip.blacklist_old*
rm -r /root/ip.blacklist_new*
sort -u /root/ip.blacklist_unsort > /root/ip.blacklist
rm -r /root/ip.blacklist_unsort*
cp /root/ip.blacklist /etc/fail2ban/ip.blacklist_new
Mein Script ".sh" sieht wie folgt aus:
Code: Alles auswählen
#!/bin/bash
cp /var/log/auth.log /root/auth.log
echo grep -o -E "([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9])+(.*Bye*)" /root/auth.log > /root/ip_with_bye.txt
sleep 10;
echo grep -o -E "(Failed*.*)+([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9])" /root/auth.log > /root/ip_with_failed_pw.txt
sleep 10;
echo grep -o -E "([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9]*.)" /root/ip_with_bye.txt > /root/ip_list.txt
sleep 10;
echo grep -o -E "([0-9]*.\.[0-9]*.\.[0-9]*.\.[0-9]*.)" /root/ip_with_failed_pw.txt >> /root/ip_list.txt
sleep 10;
awk '{print $0"[12/10/2019 23:59:59]"}' /root/ip_list.txt >> /root/ip.blacklist_new
sleep 10;
rm -r ip_with_bye*
rm -r /root/ip_with_failed_pw*
rm -r /root/ip_list*
rm -r /root/auth*
cp /etc/fail2ban/ip.blacklist /root/ip.blacklist_old
cat /root/ip.blacklist_old /root/ip.blacklist_new > /root/ip.blacklist_unsort
sleep 10;
rm -r /root/ip.blacklist_old*
rm -r /root/ip.blacklist_new*
sort -u /root/ip.blacklist_unsort > /root/ip.blacklist
sleep 15;
rm -r /root/ip.blacklist_unsort*
cp /root/ip.blacklist /etc/fail2ban/ip.blacklist_new
Ich finde leider auch mit keine umsetzbare Lösung, aber ich würde es gern lernen, daher hoffe ich auf eure Unterstützung.
Vielen Dank vorab.
Lg
rodeoric