Einzelne IP's mit IPTABLES sperren

Veröffentlicht von Administrator am Jan 04 2020
Computer »

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 ACCEPT

 stehen 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