Einzelne IP's mit IPTABLES sperren |
Veröffentlicht von Administrator am Jan 04 2020 |
Wie kann ich einzelne IP's sperren, die mir bzw. meinem Server Böses wollen?
Es kommt immer wieder vor , dass einige "nicht so nette" Internetnutzer versuchen deinen Server
zu kompromitieren. Die Möglichkeiten können vielfältig sein, wenn mehrere Dienste darauf laufen.
Um die Leute schnell und komplett auszusperren, werden wir alle Anfrage der IP Adresse verwerfen.
Hierzu benutzen wir IPTABLES:
/sbin/iptables -A INPUT -s XX.XX.XX.XX -j DROP
Die XX müssen natürlich durch die richtige IP ersetzt werden.
So! Und was genau macht iptables nun?
-A INPUT gibt an dass wir einen neuen Eintrag in die "Liste" INPUT machen wollen
-s IP-Adresse sagt iptabes welche Adresse wir sperren wollen. -s steht für Source also Quelle
-J DROP sagt dann was iptables mit den ankommenden Paketen machen soll in unserem Fall verwerfen (drop).
Wenn wir diese IP dann wieder freigeben wollen
benutzen wir den fast identischen Befehl
/sbin/iptables -D INPUT -s XX.XX.XX.XX -j DROP
Hier haben wir nur das -A gegen -D getauscht.
Wo ist der Unterschied?
-A bedeutet APPEND (anhängen einer Regel)
-D steht für DELETE(löschen einer Regel)
Um sich die Liste aller Regeln anzeigen zu lassen
reicht ein
/sbin/iptables -L
aus und wir sehen dann auch wen wir shon gesperrt haben.
Wer am Ende seines Regelsatzes eine allgemeine Regel eingesetzt hat, die z.B. ein
/sbin/iptables -A INPUT -i lo -j ACCEPTstehen hat um für localhost alles zu erlauben, bekommt leider dann auch eine Regel angesetzt die
uns /sbin/iptables -L anzeigt:
ACCEPT all -- anywhere anywhere
wird der ober Befehl zum Sperren einer IP nutzlos.
Durch das -A (append) wird unsere neue Regel ans Ende angehängt .
Somit wird sie nichtmehr genutzt da ja vorher schon ein ACCEPT von Überall nach Überall erfolgt ist.
Für diesen Fall tauschen wir in unserem oberen Befehl das -A gegen ein -I (INSERT)
/sbin/iptables -I INPUT (zahl) -s XX.XX.XX.XX -j DROP
Dieser Befehl lässt uns die Regel an jeder beliebigen Stelle im Regelsatz einfügen.
Wollen wir die Regel also an erster Stelle setzen , tauschen wir einfach zahl gegen eine "eins"
Alles vorhandenen Regeln "rutschen" eine Reihe tiefer
/sbin/iptables -I INPUT 1 -s XX.XX.XX.XX -j DROP
Aber wir können auch jede andere beliebige Stelle wählen z.B. die 10te Stelle(sofern wir mehr als 10 Regeln haben).
Der folgende Befehl listet uns die Reihenfolge der Regeln mit Nummern auf , die wir für unsren Insert nutzen können.
Wie schon gesagt , werden alle nachfolgenden Regeln incl. der aktuellen Regel um eins nach unten geschoben.
iptables -L --line-numbers
Zuletzt geändert am: Jan 04 2020 um 12:41 AM
Zurück zur Übersicht