Einzelnen Beitrag anzeigen
Alt 04.04.2013, 12:52   #1
Script für iptables
Cerberus Cerberus ist offline 04.04.2013, 12:52

Aus gegebenem Anlass habe ich mal ein kleines Script gebaut, mit welchem man aus den Log-Files IP-Adressen "rausfummelt" und diese dann per Block in die iptables reinschreibt ...

Code:
#!/bin/bash

#Settings und Einstellungen
log_file="/var/log/nginx/access.log"
such_str="w00tw00t"
count=0

# in {print $1} steht die Position der IP-Adresse :)
for ip in `cat $log_file | grep $such_str | awk '{print $1}' | sed 's/]//g'  | sort -ug` ; do
    count=$[$count+1]

    #Prüfen, ob die IP schon enthalten ist
    if [ "iptables -L INPUT -v -n | grep '$ip'" == "" ]; then
        iptables -I INPUT -s $ip -j DROP
        iptables -I OUTPUT -s $ip -j DROP

        echo $ip hinzugefügt
    else
        echo $ip gefunden
    fi
done

#Abschliessende Statusmitteilung ausgeben
if [ "$count" -gt 0 ]; then
    echo $count Einträge bearbeitet
else
    echo keine Einträge
fi
Oben im config-Teil die entsprechende LOG angeben und die $-Variable in der FOR-Schleife anpassen.
Den entsprechenden Suchstring nicht vergessen....
Dann sollte das auch sauber laufen ....
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch

 
Benutzerbild von Cerberus
Cerberus
Administrator
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 48
Beitr?ge: 9.638
Abgegebene Danke: 1.121
Erhielt 4.498 Danke für 458 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2257
Hits: 19158
Mit Zitat antworten
Folgende 8 Benutzer sagen Danke zu Cerberus für den nützlichen Beitrag:
bl0bb (04.04.2013), BonkeR (04.04.2013), Bulli (04.04.2013), Flori12345 (04.04.2013), Gandalf (04.04.2013), Lex (04.04.2013), pat (08.04.2013), Schwamm (04.04.2013)