Diesen Administrator bruteforce hatte ich auch vor ein paar Tage!
Habe mir dann ein gloabl_ban Script geschrieben
Alle Scripte liegen in /usr/local/sbin
commit:
chmod +x commit#!/bin/sh
flashfs save && flashfs commit && flashfs enable
global_ban_ip:
chmod +x global_ban_ip#!/bin/sh
if [ -z $1 ] ; then
echo "Usage: $0 IP_to_ban"
else
iptables -I INPUT -p tcp -s $1 -j DROP
echo $1 >> /usr/local/sbin/.global_ban_file
/usr/local/sbin/commit > /dev/null 2>&1 &
fi
unglobal_ban_ip:
chmod +x unglobal_ban_ip#!/bin/sh
if [ -z $1 ] ; then
echo "Usage: $0 IP_to_unban"
else
iptables -D INPUT -p tcp -s $1 -j DROP
cat /usr/local/sbin/.global_ban_file | grep -v $1 >> /tmp/.global_ban_file
mv /tmp/.global_ban_file /usr/local/sbin
/usr/local/sbin/commit > /dev/null 2>&1 &
fi
.addGlobalBans:
chmod +x .addGlobalBans#!/bin/sh
while read X
do
iptables -I INPUT -p tcp -s $X -j DROP
done < /usr/local/sbin/.global_ban_file
Am Ende von post-firewall gehört noch das dazu.
post-firewall:
Also wenn du in den LOG das siehst, dass dich jemand beim FTP angreift, bist du ja wahrscheinlich mit ssh/telnet drauf (Ansonsten wirds schwierig für dich)..... # Inhalt deiner post-firewall
/usr/local/sbin/.addGlobalBans
Danach sagste einfach global_ban_ip und gibst die IP ein
diese wird ganz vorne auf die regel drop gestellt, dh, es verwirft jede Anfrage von dieser IP.
Der Befehl global_ban_ip added die IP zu den Firewall regeln und speichert es in die .global_ban_file und führt ein commit == speichern des /usr/local/sbin Verzeichnisses (und mehr) aus.
Das Script/Befehl unglobal_ban_ip remoed die IP von der Firewall und auch aus der Datei (falls vorhanden) und commited auch.
Nach einem reboot wird die post-firewall ausgeführt, deren letzter Befehl auf .addGlobalBans zeigt und dieser liest die datei .global_ban_file aus und setzt diese IPs auf DROP ANY, sodaß auch nach einem Reboot die IPs gebannt bleiben.
Das ist halt meine Lösung
Wenn man sich mit ssh/telnet nicht so auskennt, bräuchte man ein besseres HowTO und maybe eine grafische Lösung (man kann die GUI ja übermounten)
Für mich reicht diese Lösung aber.





Reply With Quote