Benutzer-Werkzeuge

Webseiten-Werkzeuge


lager:oeff_netze:firewall_labor

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lager:oeff_netze:firewall_labor [2014/02/05 09:19] richardlager:oeff_netze:firewall_labor [2025/11/19 16:15] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-===== Labor-Übung zu Firewall =====+~~DISCUSSION:closed|Ergänzungen~~ 
 +====== Labor-Übung zu Firewall ======
  
 Die Labor-Übung basiert auf der Linux-Firewall ((Netfilter)) ''iptables''. Die Labor-Übung basiert auf der Linux-Firewall ((Netfilter)) ''iptables''.
  
-{{:lager:oeff_netze:h5-07_firewall_uebung_dmz_arbeitsblatt_13-04-17.pdf| Aufgabenblatt mit DMZ}}  +**HINWEIS:** Es sollten KEINE Filter auf der Schnittstelle ''eth0'' (graue Schnittstelle) konfiguriert werdenda so u.U. die Verbindung zum ''raumserver'' unterbrochen wird  
- +(z.B. ''INPUT''-chain wird auf ''DROP'' gesetzt und damit keine Pakete mehr von außen angenommen).
-**HINWEIS:** Wenn mit virtuellen Maschinen gearbeitet wirddann sind die **[[network:labornutzung#arbeiten_mit_virtuellen_maschinen_vm | notwendigen Anpassungen]]** auf jeden Fall zu berücksichtigen. Ansonsten wird die Anwendung u.U. nicht funktionieren.+
  
  
Zeile 18: Zeile 18:
 Regelsyntax: Regelsyntax:
  
-^Nr ^ Chain ^ Source IP ^ Dest IP ^ Protocol Source ^ Dest Port ^ Action  Port ^ +^Nr ^ Chain ^ Dest IP ^ Source IP ^ Protocol ^ Dest Port ^  Source Port  ^ Action 
 |  | FORWARD | any | any | any | any | any | DROP |  |  | FORWARD | any | any | any | any | any | DROP | 
 |  | FORWARD | any | any | tcp | any | 21 | DROP |  |  | FORWARD | any | any | tcp | any | 21 | DROP | 
Zeile 42: Zeile 42:
 In der folgenden Übung sollen Sie mit dem Programm ''iptables'' verschiedene Regeln für eine lokale IP Firewall erstellen und testen. Das Programm ''iptables'' ist ein Programm zum Festlegen von Regeln für die Firewall ''Netfilter''. Die in dieser Übung benutzen Regeln dienen dazu einen lokalen Rechner vor unerwünschtem Zugriff über das Netzwerk zu schützen. In der folgenden Übung sollen Sie mit dem Programm ''iptables'' verschiedene Regeln für eine lokale IP Firewall erstellen und testen. Das Programm ''iptables'' ist ein Programm zum Festlegen von Regeln für die Firewall ''Netfilter''. Die in dieser Übung benutzen Regeln dienen dazu einen lokalen Rechner vor unerwünschtem Zugriff über das Netzwerk zu schützen.
  
-{{:lager:oeff_netze:firewall_chains.png| Funktionsdiagramm von ''iptables'' im Linux-Rechner}}+{{:lager:oeff_netze:bilder:firewall_chains.png| Funktionsdiagramm von ''iptables'' im Linux-Rechner}}
  
 Das Programm iptables kennt zunächst drei sogenannte Chains((chain: Kette; hier als Kette von Firewall-Regeln gemeint.)) Das Programm iptables kennt zunächst drei sogenannte Chains((chain: Kette; hier als Kette von Firewall-Regeln gemeint.))
  
   * INPUT  -> Ziel ist der eigene PC  -> Destination-IP eine eigene Adresse   * INPUT  -> Ziel ist der eigene PC  -> Destination-IP eine eigene Adresse
-  * OUTPUT  -> Absender ist eine eigene PC  -> Source-IP eine eigene Adresse+  * OUTPUT  -> Absender ist der eigene PC  -> Source-IP eine eigene Adresse
   * FORWARD  ->  Ziel/Absender ist ein fremder PC  -> IPs sind fremde Adressen   * FORWARD  ->  Ziel/Absender ist ein fremder PC  -> IPs sind fremde Adressen
  
Zeile 66: Zeile 66:
  
 ===== Beispiel zur Syntax von iptables===== ===== Beispiel zur Syntax von iptables=====
-**HINWEIS**: Der ''iptables''-Befehl greift in die Netzinfrastruktur ein, daher sind hierzu administrative Rechte notwendig. Vergessen Sie also nicht ''sudo'' dem ''iptables''-Befehl voranzustellen!+**HINWEIS**: Der ''iptables''-Befehl greift in die Netzinfrastruktur ein, daher sind hierzu administrative Rechte notwendig. Vergessen Sie also nicht ''sudo'' dem ''iptables''-Befehl voranzustellen oder dauerhaft mit ''sudo -s'' in den ''root''-Modus gewechselt werden!
  
 Listing der aktuell eingestellten Regeln: Listing der aktuell eingestellten Regeln:
Zeile 87: Zeile 87:
  
 In der Datei ''/etc/services'' ist festgehalten, auf welchen Ports Standard gemäß ein Dienst angeboten In der Datei ''/etc/services'' ist festgehalten, auf welchen Ports Standard gemäß ein Dienst angeboten
-wird. In der Übung z.B. der Port ''80'' (''http'') benötigt.+wird. In der Übung wird z.B. der Port ''80'' (''http'') benötigt.
  
 =====Notwendige Vorarbeiten ===== =====Notwendige Vorarbeiten =====
  
-Da mit virtuellen Maschinen gearbeitet wird sind entsprechende Vorarbeit notwendig+Die folgende Abbildung zeigt eine beispielhafte Vernetzung beim Einsatz einer VM-Firewall. 
 + 
 +{{:lager:oeff_netze:bilder:firewall_einfach.png|Vernetzung}} 
 + 
 +Die Firewall fungiert hier in einigen Fällen zusätzlich als Router. Aus diesem Grund muss in der VM das 
 +Forwarding4 aktiviert werden: 
 +<code>sudo sysctl net.ipv4.ip_forward=1</code> 
 + 
 +Alle Einstellungen lassen sich mittels ''ifconfig'' und ''route -n'' über eine Konsole überprüfen. 
 + 
 +===== Dokumentation zu iptables ===== 
 +Der Linux-Kernel der Distribution Ubuntu unterstützt standardmäßig ''Netfilter''. Diese Filter werden mit 
 +dem Tool ''iptables'' eingerichtet. Zu ''iptables'' gibt es ein Linux-HOWTO, in dem verschiedene 
 +Konfigurationen beschrieben sind. Diese Anleitung liegt im HTML-Format vor. Sie finden im Verzeichnis 
 +''/usr/share/doc/iptables/html''. Besonders wichtig ist hier die Seite 7 – ''using iptables (packet- 
 +filtering-HOWTO-7.html''). 
 + 
 +Zum Öffnen der Seite können Sie den installierten Browser verwenden. Die vielfältigen Optionen und 
 +Parameter sind in der Manual-Page von ''iptables'' erläutert (''man iptables''). 
 + 
 +**Für alle weiteren Aufgaben**: Schreiben Sie zu den Aufgaben mit, welchen Befehl Sie eingegeben 
 +haben, was der Befehl bewirken sollte, was der Befehl im Endeffekt bewirkt hat und wie Sie das Resultat 
 +getestet haben! Halten Sie Ihre Firewall-Regeln in Form eines einfachen Shell-Scripts fest. 
 + 
 +Wie Sie ein solches Script erstellen, ist [[:network:shell_scripting| HIER]] erläutert. 
 + 
 +===== Aufgaben ===== 
 + 
 +==== Aufgabe 0: Testen der Netzwerkverbindung ==== 
 + 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe00.png?200 | Aufgabe 0}}Konfigurieren Sie Ihre Netzwerkkarte und testen Sie die Verbindung zu Ihrem Nachbarn durch den ping Befehl. Führen Sie die nachfolgenden Aufgaben nur durch, wenn der ''ping'' erfolgreich war! Sollte der ''ping'' nicht erfolgreich sein, überprüfen Sie die Kabelinstallation und die Netzwerkkartenkonfiguration. Ggf. müssen Sie eine andere Netzwerkkarte als die Schnittstelle ''eth1'' auswählen. 
 + 
 +==== Aufgabe 1: Verwerfen aller Pakete ==== 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe01.png?200 | Aufgabe 1}}Erstellen Sie eine Filterregel, die sämtlichen Verkehr zu ihrem PC unterbindet. In welcher Chain haben Sie eine Regel verändert? 
 + 
 +==== Aufgabe 2: Verwerfen aller Pakete ==== 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe02.png?200 | Aufgabe 2}}Blocken Sie sämtlichen Verkehr eines Nachbarn ab, ohne dass Ihr Zugang zu einem dritten PC behindert wird. Testen Sie die Verbindungen mit ''ping''
 + 
 +==== Aufgabe 3: Filterung auf das Layer4-Protokoll ==== 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe03.png?200 | Aufgabe 3}}Setzen Sie einen Filter so, dass Ihr Rechner keine TCP-Pakete annimmt. Testen Sie den Filter mit einem ''http''-Request vom PC Ihres Nachbarn auf Ihren PC. Der Webserver ''apache'' ist auf allen Rechner installiert. 
 + 
 +Kann ihr PC mit anderen Protokollen noch erreichen (z.B. ''ping'')? 
 +Probieren Sie mit 2 Chains zu arbeiten, wobei die gefilterten Pakete 
 +von einer Chain an eine andere gegeben werden. Welche Vorteile 
 +hat dieses Verfahren? 
 + 
 +==== Aufgabe 4: Filterung auf bestimmte Ports ==== 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe04.png?200 | Aufgabe 4}}Erstellen Sie eine Filterregel, so dass Ihr Rechner ankommenden Verkehr auf Port ''80'' nicht annimmt. Testen Sie den Filter mit einem ''http''-Request vom PC Ihres Nachbarn auf Ihren PC.  
 + 
 +Kann Ihr PC mit Protokollen noch erreichen (z.B. ping)? 
 + 
 +==== Aufgabe 5: Filterung auf IP Adresse und Port ==== 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe05.png?200 | Aufgabe 5}}Erstellen Sie einen Regelsatz, der einen Zugriff auf den Webserver Ihres Rechners vom PC Ihres Nachbarn unterbindet. Auf andere Dienste soll Ihr Nachbar jedoch zugreifen können. Andere PCs sollen auch auf Ihren Webserver zugreifen können. Arbeiten Sie bei dieser Aufgabe mit zwei Chains. 
 + 
 +==== Extra Aufgabe 6: Filterung auf Nachrichtentypen ==== 
 +{{:lager:oeff_netze:bilder:firewall_aufgabe06.png?200 | Aufgabe 6}}Stellen Sie die Filter auf Ihrem Rechner so ein, dass ein ping von Ihrem PC zum PC ihres Nachbarn geblockt wird, ein ''ping'' vom PC ihres Nachbarn auf Ihren PC aber weiterhin möglich ist.  
 + 
 +===== Vertiefende Aufgabenstellung DMZ ====== 
 +Zunächst soll ein einfaches Firewall-Szenario aufgebaut werden mit nur EINER Firewall. Im Anschluss wird dieser Aufbau durch den Einsatz einer zweiten Firewall zu einer Firmennetzanbindung mit DMZ ausgebaut. 
 + 
 +==== Extra Aufgabe 7: Einfache Firewall ==== 
 +Für das erste Szenario werden drei Rechner benötigt. Die Funktionen der einzelnen Rechner wird im folgenden Bild gezeigt. Hinweis: der „Internet“-Bereich wird im zweiten Aufbau zur DMZ umfunktioniert.
  
 +{{ :lager:oeff_netze:bilder:firewall_aufgabe07.png | Aufgabe 7}}
  
 +Der LAN-PC soll ausschließlich auf die WWW-Seiten und ICMP des Servers zugreifen können. Alle anderen Dienst sind zu sperren.
 +  - Fertigen Sie eine Skizze Ihres Aufbaus an (inkl. aller verwendeten Schnittstellen und IP-Adressen).
 +  - Planen Sie Ihre Firewall-Regeln mit Hilfe der Tabelle (s. Tab 1: Planung der Firewall-Regeln).
 +  - Halten Sie Ihre Firewall-Regeln in Form eines einfachen Shell-Scripts fest.
  
 +^Nr ^ Chain ^ Dest IP ^ Source IP ^ Protocol  ^ Dest Port ^  Source Port  ^ Action ^ 
 +| 1 |  |  |  |  |  |  |  | 
 +| 2 |  |  |  |  |  |  |  | 
 +| 3 |  |  |  |  |  |  |  | 
 +| 4 |  |  |  |  |  |  |  | 
 +| 5 |  |  |  |  |  |  |  | 
 +| 6 |  |  |  |  |  |  |  | 
  
  
 +==== Extra Aufgabe 8: DMZ-Szenario mit zwei Firewalls ====
 +Basierend auf dem bereits aufgebauten Szenario, soll dieses nun durch eine DMZ erweitert werden. Um nicht zu viele Konfigurationsaufwände zu generieren, wird aus dem "außen"-Bereich der DMZ-Bereich. Weiterhin wird eine zweite Firewall "links" sowie ein Client, der als Internet-Webserver fungiert, ergänzt. Für die neuen VMs müssen die oben aufgeführten Vorarbeiten ebenfalls durchgeführt werden.
  
 +{{ :lager:oeff_netze:bilder:firewall_aufgabe08extra.png | Aufgabe 8}}
  
 +Die Firma möchte ihr lokales Netz gegen unberechtigte Zugriff von externen schützen. Die Mitarbeiter sollen aber alle Webseiten der Server und diese auch per ICMP erreichen können. Alle anderen Dienst sind zu sperren. Die Firewalls sollen darüber hinaus weder von innen noch von außen per ICMP erreichbar
 +sein. Der Webserver darf weder auf die DMZ noch auf das LAN zugreifen können.
 +Nr
 +  - Fertigen Sie eine Skizze Ihres Aufbaus an (inkl. aller verwendeten Schnittstellen und IP-Adressen).
 +  - Planen Sie Ihre Firewall-Regeln mit Hilfe der Tabelle (s. Tab 2: Planung der Firewall-Regeln).
 +  - Halten Sie Ihre Firewall-Regeln in Form eines einfachen Shell-Scripts fest.
  
 +^Nr ^ Chain ^ Dest IP ^ Source IP ^ Protocol  ^ Dest Port ^  Source Port  ^ Action ^ 
 +| 1 |  |  |  |  |  |  |  | 
 +| 2 |  |  |  |  |  |  |  | 
 +| 3 |  |  |  |  |  |  |  | 
 +| 4 |  |  |  |  |  |  |  | 
 +| 5 |  |  |  |  |  |  |  | 
 +| 6 |  |  |  |  |  |  |  | 
lager/oeff_netze/firewall_labor.1391591980.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki