Difference between revisions of "Iptables-Regeln"

From
Jump to: navigation, search
(Tabellen)
Line 23: Line 23:
 
</pre>
 
</pre>
  
 +
 +
=== alle Regeln besitzen ein Target (Ziel) ===
 +
<pre>
 +
ACCEPT – Das Datenpaket wird akzeptiert, also an den nächsten Verarbeitungsschritt weitergereicht
 +
 +
DROP – Das Paket wird ersatzlos verworfen.
 +
 +
REJECT – Dieses Target verwirft auch das Paket, versendet aber zusätzlich eine Ablehnungsmitteilung an den Absender.
 +
 +
QUEUE – Das Paket wird aus dem Kernel in den Userspace weitergereicht,
 +
        wo es von einer spezialisierten Anwendung weiterverarbeitet werden kann.
 +
 +
RETURN – Das Paket wird in der ursprünglichen, aufrufenden Chain weiterverarbeitet;
 +
        dieses Target entspricht einem Rücksprung aus einem Unterprogramm und eignet sich
 +
        somit für benutzerdefinierte Regeln, die an bestimmten Stellen eingeschoben werden.
 +
</pre>
  
 
== Iptables-Regeln ==
 
== Iptables-Regeln ==

Revision as of 10:58, 24 November 2025

Iptables-Grundlagen

Chains

PREROUTING  –  Pakete, die in Empfang genommen wurden
INPUT       –  eingehende Pakete, bevor sie an die Empfängeranwendung ausgeliefert werden
OUTPUT      – ausgehende Pakete, die soeben von einer Netzwerkanwendung erzeugt wurden
POSTROUTING – Pakete, die gerade über die Netzwerkschnittstelle gesendet werden sollen
FORWARD     – Pakete, die nicht für den lokalen Rechner bestimmt sind, sondern die dieser per
              IP-Forwarding (Routing) weiterleitet

Tabellen

nat – ermöglicht die Änderung von IP-Adressen und/oder Ports
      Die zulässigen Chains sind OUTPUT, POSTROUTING und PREROUTING.

filter – Diese Tabelle bestimmt die Regeln für erlaubte und verbotene Datenpakete.  
         Die zulässigen Chains sind INPUT, OUTPUT und FORWARD 

mangle – Über diese Tabelle können Sie Datenpaket-Header beliebig modifizieren. 
         Sie kann mit allen fünf Chains zusammenarbeiten.


alle Regeln besitzen ein Target (Ziel)

ACCEPT – Das Datenpaket wird akzeptiert, also an den nächsten Verarbeitungsschritt weitergereicht

DROP – Das Paket wird ersatzlos verworfen.

REJECT – Dieses Target verwirft auch das Paket, versendet aber zusätzlich eine Ablehnungsmitteilung an den Absender.

QUEUE – Das Paket wird aus dem Kernel in den Userspace weitergereicht, 
        wo es von einer spezialisierten Anwendung weiterverarbeitet werden kann.

RETURN – Das Paket wird in der ursprünglichen, aufrufenden Chain weiterverarbeitet; 
         dieses Target entspricht einem Rücksprung aus einem Unterprogramm und eignet sich 
         somit für benutzerdefinierte Regeln, die an bestimmten Stellen eingeschoben werden.

Iptables-Regeln

Iptables installieren

apt-get update
apt-get install iptables


Iptables anzeigen

iptables -L -v


Iptables erstellen

iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no>  -j <target>


Bsp. für ssh und http(s)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -P INPUT DROP


Etablierte Verbindungen zulassen

iptables -A INPUT -i $WAN -m state --state ESTABLISHED,RELATED -j ACCEPT

$WAN muss durch die Bezeichnung der NIC ersetzt werden.
Dabei kann mit der Option --state folgende, meist genutzte Möglichkeiten eingestellt werden:

    NEW         - Das Datenpaket ist dem Server neu, in der Regel durch eine neue Verbindung.
    ESTABLISHED - Das Datenpaket ist beim Server bereits ein- und ausgegangen.
    RELATED     - Das Datenpaket hat eine neue Verbindung gestartet, ist aber in einer bestehenden Verbindung involviert, 
                  z. B. eine FTP-Datenübertragung oder ein ICMP-Fehler.


Pakete anhand der Source-Adresse filtern

iptables -A INPUT -s 10.10.10.1 -j DROP

hier kann auch mit Ranges gearbeitet werden:
iptables -A INPUT -m iprange --src-range 10.10.10.1-10.10.10.255 -j DROP


Regeln löschen

Alle Regeln löschen
iptables -F

Einzelne spezifische Regeln werden mit der Option -D gelöscht. Dabei muss zunächst die Nummer der Regel herausgefunden werden:
iptables -L --line-numbers

Anschließend kann eine spezielle Regel gelöscht werden:
iptables -D INPUT 3


Regeln persistent Speichern

Um Regeln persistent zu halten, muss das Tool:  Iptables-persistent installiert werden. Dieses sorgt dafür, dass gespeicherte Regeln bei einem Neustart geladen werden.

apt-get install iptables-persistent

Die Regeln werden in folgenden Dateien gespeichert. 
Es wird zwischen IPv4 und IPv6 differenziert:

/etc/iptables/rules.v4
/etc/iptables/rules.v6


Um die aktuell geltenden Regeln zu speichern, muss folgender Befehl genutzt werden:

iptables-save > /etc/iptables/rules.v4
### oder
ip6tables-save > /etc/iptables/rules.v6

Bei einem Neustart werden somit die Regeln automatisch geladen.