Firewall für Anfänger: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Hinwies Loopback hinzugefügt; Todo erstellt)
(Tippfehler korrigiert; ein paar Erklärungen hinzugefügt; Interne Links hinzugefügt; Keine Baustelle mehr)
Zeile 1: Zeile 1:
{{unvollständig}}
Dieser Artikel richtet sich an Arch–Nutzer, die noch nie eine Firewall unter Linux benutzt haben.
Dieser Artikel richtet sich an Arch–Nutzer, die noch nie eine Firewall unter Linux benutzt haben.


Zeile 10: Zeile 9:


== Standardverhalten festlegen ==
== Standardverhalten festlegen ==
Bei iptables Stellen alle Regeln Ausnahmen vom Standardverhalten ab. Dabei stellt man die Richtlinien OUTPUT, INPUT und FORWARD ein. Wie die Namen suggerieren, steht OUTPUT für alle ausgehenden Pakete, INPUT für alle eingehenden und FORWARD für alle Weitergeleiteten. Solange es sich nicht um eine Firewall handelt, die Pakete über NAT weiterleitet, sollte FORWARD auf das Verhalten DROP gesetzt werden, d.h. alle Pakete werden einfach „fallen gelassen“.
Bei iptables Stellen alle Regeln Ausnahmen vom Standardverhalten ab. Dabei stellt man die Richtlinien OUTPUT, INPUT und FORWARD ein. Wie die Namen suggerieren, steht OUTPUT für alle ausgehenden Pakete, INPUT für alle eingehenden und FORWARD für alle Weitergeleiteten. Solange es sich nicht um eine Firewall oder einen Router handelt, sollte FORWARD auf das Verhalten DROP gesetzt werden, d.h. alle Pakete werden einfach „fallen gelassen“.


  iptables -P FORWARD DROP
  iptables -P FORWARD DROP
Zeile 23: Zeile 22:


== Einzelne Ports öffnen ==
== Einzelne Ports öffnen ==
In vielen Fällen kann es hilfreich sein, auch auf Desktopmaschinen mit SSH zuzugreifen. Dafür muss der Port 22 über TCP geöffnet werden:
In vielen Fällen kann es hilfreich sein, auch auf Desktopmaschinen mit [[SSH]] zuzugreifen. Dafür muss der Port 22 für TCP geöffnet werden:


  iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  iptables -A INPUT -p tcp --dport 22 -j ACCEPT


Zudem ist es in heterogenen Netzwerken meist erwünscht, Datenverkehr zum Sambaserver zuzulassen:
Zudem ist es in heterogenen Netzwerken meist erwünscht, Datenverkehr zum [[Samba|Sambaserver]] zuzulassen:


  iptables -A INPUT -p tcp --dport 139 -j ACCEPT
  iptables -A INPUT -p tcp --dport 139 -j ACCEPT
Zeile 33: Zeile 32:


== Alle Aufgebauten Verbindungen Durchwinken ==
== Alle Aufgebauten Verbindungen Durchwinken ==
Damit nicht eingehender Verkehr, der als Antwort auf Ausgehenden nVerkehr erfolgte, blockiert wird, werden die entsprechenden Pakete anhand ihres Status durchgewinkt:
Damit nicht eingehender Verkehr, der als Antwort auf ausgehenden Verkehr erfolgte, blockiert wird, werden die entsprechenden Pakete anhand ihres Status durchgewinkt:


  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
  iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


== Lokalen Netzwerkverkehr zulassen ==
== Lokalen Netzwerkverkehr zulassen ==
Viele Systemdienste verlassen sich darauf, dass sie über die Loopback–Schnittstelle kommunizieren können:
Viele Systemdienste verlassen sich darauf, dass sie über die Loopback–Schnittstelle kommunizieren können. Daher sollte jeglicher Datenverkehr über die Schnittstelle lo zugelassen werden:


  iptables -A INPUT -i lo -j ACCEPT
  iptables -A INPUT -i lo -j ACCEPT
== TODO ==
* Ausführlichere Erklärungen

Version vom 3. Januar 2013, 23:31 Uhr

Dieser Artikel richtet sich an Arch–Nutzer, die noch nie eine Firewall unter Linux benutzt haben.

Wer schonmal mit Windows zu tun hatte, kennt sicherlich Personal Firewalls. Ein möglich buntes Programm ermöglicht es einem, einzelnen Programmen den Zugriff auf das Internet zu gewähren bzw. zu verweigern. Unter einem Mehrbenutzersystem wie Linux hingegen filtert eine Firewall in der Regel auf Paketebene. Pakete sind die kleinste Dateneinheit, die beim Netzwerkverkehr auf einmal versendet wird. In der Regel greift man unter Linux auf iptables zurück.

Firewall zurücksetzen

Der Aufbau neuer Regeln sollte immer damit beginnen, alle vorhandenen Regeln zu löschen (flush):

iptables -F

Standardverhalten festlegen

Bei iptables Stellen alle Regeln Ausnahmen vom Standardverhalten ab. Dabei stellt man die Richtlinien OUTPUT, INPUT und FORWARD ein. Wie die Namen suggerieren, steht OUTPUT für alle ausgehenden Pakete, INPUT für alle eingehenden und FORWARD für alle Weitergeleiteten. Solange es sich nicht um eine Firewall oder einen Router handelt, sollte FORWARD auf das Verhalten DROP gesetzt werden, d.h. alle Pakete werden einfach „fallen gelassen“.

iptables -P FORWARD DROP

Eine einfache Firewall erlaubt allen Ausgehenden Datenverkehr:

iptables -P OUTPUT ACCEPT

Im Gegensatz dazu wird aller Eingehender Verkehr Blockiert, und nur, wenn benötigt, einzelne Ports geöffnet:

iptables -P INPUT DROP

Einzelne Ports öffnen

In vielen Fällen kann es hilfreich sein, auch auf Desktopmaschinen mit SSH zuzugreifen. Dafür muss der Port 22 für TCP geöffnet werden:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Zudem ist es in heterogenen Netzwerken meist erwünscht, Datenverkehr zum Sambaserver zuzulassen:

iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 445 -j ACCEPT

Alle Aufgebauten Verbindungen Durchwinken

Damit nicht eingehender Verkehr, der als Antwort auf ausgehenden Verkehr erfolgte, blockiert wird, werden die entsprechenden Pakete anhand ihres Status durchgewinkt:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Lokalen Netzwerkverkehr zulassen

Viele Systemdienste verlassen sich darauf, dass sie über die Loopback–Schnittstelle kommunizieren können. Daher sollte jeglicher Datenverkehr über die Schnittstelle lo zugelassen werden:

iptables -A INPUT -i lo -j ACCEPT