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