Filtern bestimmter Einträge aus einer LOG-Datei.
In diesem Beispiel suchen wir den String "/house.php" und lassen uns nur die erste Spalte der Datei (-f1) in der Datei "angriffe.txt" speichern.
cat /var/log/apache2/xxxxxxxh-combined.log | grep /house.php | cut -d ' ' -f1 > angriffe.txt
Nun finden und filtern wir noch die Dubletten raus..
cat angriffe.txt | sort | uniq > angriffe-uniq.txt
...und zählen die IP-Adressen daraus
wc -l angriffe-uniq.txt
Mailqueue eines bestimmten Users löschen
Nach einem Angrif wurde die Mailqueue eines bestimmten Users mit Spammails gefüllt. Diese finden wir mit folgendem Kommando:
find /var/spool/postfix/ -type f -exec grep "userid 2045" {} \; | cut - -d\ -f4 | sed 's/\.//g'
Und löschen können wir dieselbigen mit:
for MAILINQUEUE in `find /var/spool/postfix/ -type f -exec grep "userid 2045" {} \; | cut -d\ -f4 | sed 's/\.//g'`; do rm -v $MAILINQUEUE; done
IPTABLES - IP Adressen anhand einer Liste sperren
Folgender Befehl sperrt alle in angriffe-uniq.txt gelisteten IP Adressen
for i in $(cat angriffe-uniq.txt); do iptables -I INPUT -s $i -j DROP; done
Wir überprüfen die IPTABLES mit
iptables -L oder -L -v
Und alle Regeln löschen wir mit (löscht auch Regeln, welche mittels failtoban angelegt wurden. Diese werden jedoch beim nächsten Durchlauf wieder gesetzt1).
iptables -F (oder iptables --flush)
Und eine einzelne mit
iptables -D INPUT -s IP-Nummer -j DROP




