IPTABLES Firewall Beispiele um IPs zu Sperren oder freigeben

Du hattest einen Angriff gegen Deinen root Server laufen und möchtest die angreifende IP sofort sperren oder abwehren?

Das geht mit dem Befehl IPTABLES (Firewall von Linux)
Wir nehmen eine Beispiel IP zum Sperren:  10.20.30.40


Sperren einer einzelnen IP:

#iptables -A INPUT -s 10.20.30.40 -j DROP

Die IP wieder freigeben:
#iptables -D INPUT -s 10.20.30.40 -j DROP


Wenn Du die Line Nummer weisst, geht die Freigabe

auch mit der Line Nummer. Diese bekommst Du durch:
#iptables -L –line-numeric   

Nun könnte man eine gewünschte Line wieder freigeben ohne die IP anzugeben:
Löscht die Regel an Line Nr. 2
#iptables -D INPUT 2

Oder eine Regel löschen auf die eine genaue Syntax zutrifft:
#iptables -D INPUT -p icmp -s 10.20.30.40/24 -j ACCEPT  

Oder eine eigene neue Chain bilden mit dem Namen BLOCK
#iptables -N BLOCK

Sperren einer einzelnen IP in der neuen Chain BLOCK:
#iptables -A BLOCK -s 10.20.30.40 -j DROP  

Löscht die Regel auf die die genaue Syntax zutrifft in der eigenen Chain BLOCK:
#iptables -D BLOCK -p icmp -s 10.20.30.40/24 -j ACCEPT  

Die eigene Chain BLOCK einbinden (aktivieren)
#iptables -I INPUT -j BLOCK 

Oder die eigene neue Chain BLOCK leeren
#iptables -F BLOCK  

Oder die eigene neue Chain BLOCK löschen (zuerst leeren!)
#iptables -X BLOCK

Mehrere IPs aus einer Liste löschen (Textfile)
Beispiel eines Textfiles (blacklist.lst):

——————————————–
10.20.30.40
11.12.13.14
12.13.14.15
123.123.123.123
213.213.123.123

———————————————

Folgender Befehl sperrt alle IP aus der Beispiel – Liste blacklist.lst und trägt Sie in die eigene Chain ein BLOCK:
#for i in $(cat blacklist.txt); do iptables -A BLOCK -s $i -j DROP; done

Aus derselben Liste alle wieder freigeben:
#for i in $(cat blacklist.txt); do iptables -D BLOCK -s $i -j DROP; done


Nicht vergessen die Chain BLOCK auch einzubinden, sonst wird sie nicht beachtet!


Beispiel: Sperre alle Zugriffe auf die Datenbank von aussen und setze dabei den Eintrag in die CHAINNAME an
die Stelle vor Nummer 21 (Beispiel Nummer)

(zu sehen durch: #iptables -L –line –numeric)

# iptables -I CHAINNAME 21 -p tcp –dport 3306 -j DROP  


Erlaube einer bestimmten externen IP den Zugriff auf die Datenbank, dann muss der Eintrag in der Kette noch vor dem vorher genannten Beispiel stehen:

# iptables -I INPUT 21 -p tcp –dport 3306 -s 111.111.111.111 -j ACCEPT   


Du möchtest ganze IP Bereiche von IP Adressen, also von einer IPnummer bis zu einer IPnummer sperren, so geht das mit dem Parameter  iprange –src-range


Ein Beispiel – Bereich zum sperren:

192.168.111.1 – 192.168.111.200
(200 IPs würden damit insgesamt gesperrt)

# iptables -I INPUT  -m iprange –src-range 192.168.111.1 – 192.168.111.200 -j DROP  

Um einen gesamten Netzbereich, also als Beispiel alle IPs aus dem Netz 192.168.111.x auszusperren,
geht auch eine “kurze” Schreibweise:

#iptables -I INPUT -s 192.168.111/24 -j DROP

/24 bedeutet es wird alles nach den ersten 24 bit, also nach den ersten 3 Bytes = “192.168.111.” gesperrt.
Also werden 192.168.111.1 – 255 gesperrt.

 

Hier ein (von mir noch ungetestetes Beispiel um einer DOS Attacke vorzugreifen:

iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 99 -j ACCEPT

Es soll dabei folgendes geschehen:

-m limit                 Benutzt die “limit iptables” Erweiterung

–limit 20/minute  Stellt die limits auf ein maximum von 20 Verbindungen pro Minute.
                              Ändere den Wert je nach Deinen Bedürfnissen.

–limit-burst 99     Dieser Wert bestimmt, wie viele Verbindungen gleichzeitig geöffnet
                              werden dürfen innerhalb des Zeitraumes.

Wenn Euch die Beispiele gefallen oder sogar genutzt haben, würde ich mich über einen Kommentar sehr freuen!

 

Hier ist noch eine weitere Seite im Netz mit Beispielen:

==> https://www.renefuerst.eu/25-haeufigsten-linux-firewall-iptables-regeln/

 

 

Views: 3734

3 Gedanken zu „IPTABLES Firewall Beispiele um IPs zu Sperren oder freigeben

  1. Hallo vielen Dank für diesen Beitrag. Dürfte ich Sie fragen wie ich mein Debian Notebook komplett abschotten kann und nur die gewünschten IP’s die ich per Browser ansurfen möchte per Whitelist freigeben kann? Ich würde mich riesig über eine Antwort von Ihnen freuen.

    1. ich würde Ihnen gern antworten, doch an Ihre angegeben E-Mail Adresse anonymous ist es mir nicht möglich direkt zu antworten.
      Ihr Wunsch nach einer Whitelist für Ihr Notebook hat mehrere Bedingungen / Voraussetzungen. Ist es IHR Netzwerk zu Hause?
      Dann würde das mit dem Router gelöst. Geht es allein um das Notebook, was in jedes Netzwerk kann, dann ist es ein spezielles
      Programm für das Notebook. Auch Internetsecurity Kaspersky könnte man entsprechend anpassen für ein Notebook.

      1. Nun haben sie meine Mail. 😉

        Es geht um das Notebook, unabhängig vom Router. Kaspersky wäre da das falsche, da Debian drauf läuft. Wie ich im ersten Post geschrieben habe, würde ich gerne mit den iptables zuerst alles ein/ausgehende komplett (alle Ports) sperren und danach die gewünschten IP’s manuell freigeben damit ich einzelne Webseiten ansurfen kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert