
Network
Services VU
184.163
WS2003/2004
Firewalls
Lab assignment
Haider Gerald (0125638)
Radl Christoph (0102799)
Schachinger Josef (0125692)
Inhaltsverzeichnis
2.1 Traditional
Packet Filters
2.4.1 Network
Adress Translation
2.5 Welche
Technik für welche Anforderung
3.1.1 Funktionsweise
eines Buffer Overflows
3.3 Web Application Attacks – Angriffe übers Web
3.3.1 Account
Harvesting – Zugangsdaten ermitteln
3.3.2 Angreifen
von „Session tracking“ Mechanismen
3.3.3 Code
Injection – Einschleusen von Fremdcode
4.1 Wie
wird Iptables angewendet?
Firewalls, schon fast eine Unwort der heutigen zeit, mittlerweile ranken sich Gerüchte um die Fähigkeiten und Möglichkeiten einer Firewall als ob sie ein Mythos wäre oder eine Berühmtheit.
Die erste Erkenntnis sollte sein:
Firelwall!= Sicherheit
Dieses Dokument soll einen Möglichkeiten und Fähigkeiten einer Firewall beschreiben, auch werden hier die verschiedenen Ansätze in denen eine Firewall gestalltet werden kann gezeigt werden. Zu den wichtigsten Punkten dieser Arbeit sollen aber die Angriffszenarien gehören und natürlich nicht minder wichtig soll ein konkretes Beispiel angeführt werden.
Eine Firewall soll dazu dienen, dass der Verkehr zwischen zwei Netzwerken überprüft werden kann und natürlich auch Begrenzungen ermöglicht. Als Beispiel aus der realen Welt kann eine Firewall mit einem Tormann verglichen werden des Tor als das zu schützende Netzwerk anzusehen ist. Nun soll dieser Tormann einzelne Verbindungen durchlassen, andere aber abwehren und verhindern. Und somit definiert sich auch das Ziel eines Angreifers, er möchte unerkannt an diesen Tormann vorbeikommen.

Abbildung 1 - Firewall Konzept
Dennoch ist es auch wichtig das es Teilnehmern aus den Netzwerken möglich ist gewünschte Verbindungen aufzubauen und Übertragungen durchzuführen und hierbei befindet man sich bei der Definition einer Firewall immer auf einem schmalen Grad.

Abbildung 2 - Angriffszenario
Um nun diese Voraussetzungen erfüllen zu können gibt es drei weit verbreitete Ansätze: „raditional packed filter“, „stateful packet filter“ und „proxy based firewalls“. Auf den folgenden Seiten wollen wir die einzelnen Technologien kurz erklären und deren Vor und Nachteile aufzeigen
Wie der Name schon sagt, liegt hier der Focus auf den einzelnen Datenpaketen. Wobei sich die entscheidung auf die Header Information und die Richtung jedes Datenpaktes beschränkt. Anhand dieser Informationen entscheiden einzelne Regeln darüber ob ein Packet passieren darf oder auch nicht. Dabei werden explizit folgende Informationen Bewertet:
Bei diesen Paket basierenden Filter, welche
in Router oder Firewalls implementiert sind, werden diese Vorgaben in einzelnen
Regeln festgelegt. Für jede Regel eine einzelne Zeile, wobei diese gesammelten
Regel auch als access control lists (
Dabei setzt jeder Entwickler auf seinen eigenen Syntax um diese Regeln zu spezifizieren. Teilweise werden auch grafische Interfaces zur Verfügung gestellt um diese einzelnen Regeln zu verifizieren.
Um einen Überblick zu erhalten haben wir in
einer abstrakteren Art eine solche
|
Action |
Source Adress |
Destination Adress |
Protocol |
Source Port |
Destination Port |
Code Bit |
|
Allow |
Inside Network Adress |
Outside Network Adress |
|
Any |
80 |
Any |
|
Allow |
Outside Network Adress |
Inside Network Adress |
|
80 |
>1023 |
|
|
Deny |
All |
All |
All |
All |
All |
All |
Abbildung 3 - Regel für Standard Packet Filter
Um nun diese Regel zu verstehen bedarf es einer kurzen Erklärung. Die Regeln werden jeweils von oben nach unten abgearbeitet. Um nun über ein Paket zu entscheiden wird es mit den erstellten Regeln verglichen und je nach Action damit verfahren.
Die erste Regel erlaubt es zum Beispiel den
Usern innerhalb des Netzwerkes auf alle IP’s außerhalb zuzugreifen, wenn dies
über das
Die zweite Regel wiederum erlaubt es allen
außenstehenden Webservern ein Paket in das Netzwerk zu schicken. Wobei es sich
um eine bereits bestehende Verbindung handeln muss, welche ein
Die dritte und letzte Regel ist auch die einfachste: verbietet alles was nicht obern explizit erlaubt ist. Diese Regel ist somit eigentlich selbsterklärend.
Nun kann man aber auch einige schwächen des
Paket basierten Filterns erkennen, zum Beispiel ist in Regel zwei die einzige
Einschränkung die verhindert das ein beliebiges Paket in das geschützte
Netzwerk eindringe kann diese
Natürlich hat diese Art der Unterscheidung auch einen wesentlichen Vorteil. Durch die einfache Umsetzung des Filterns ist es einfach eine Entscheidung über ein Paket zu treffen. Es muss nur jedes einzelne Paket nach den einzelnen Regeln bewertet werden, was sehr ressourcensparend ist und somit auch sehr schnell ist.
Die Stateful Packet Filtering Technologie kann als eine Art Erweiterung des traditionellen Packet filtern gesehen werden. Hier werden die bekannten schwächen aufgegriffen und versucht zu beseitigen. Dazu ist die Idee, dass bei einer Stateful nicht nur das Augenblickliche Paket betrachtet wird sonder vorangegangene Entscheidungen und somit der Entstandene Verkehr abgespeichert ist, natürlich im eingeschränkten Maße. Das heißt, es wird versucht das Hauptaugenmerk eher weg vom einzelnen Paket zu bekommen hin zu einer Sicht die eine ganze Verbindung mit einbezieht. Um dies umzusetzen werden einige Daten über verschiedene Verbindungen abgespeichert.
|
Source Adresse |
Destination Adresse |
Source Port |
Destination Port |
Timeout (sek.) |
|
10.1.1.20 |
10.34.12.11 |
2341 |
80 |
60 |
|
10.1.1.34 |
10.22.11.45 |
32141 |
80 |
40 |
Abbildung 4 -Aktive Verbindung Statefule Packet Filter
Diese Tabelle zeigt nun von allen aktiven Verbindungen die nötigen Informationen an.
Durch diese Daten über aktive Verbindungen
ist es möglich über eine Paket zu entscheiden und man ist nicht mehr auf das
Durch diese Erweiterung ergeben sich nun
verschiedenste positive Möglichkeiten. Wenn ein Angreifer nun versuchen würde
ein Paket mit einem gefälschten
Natürlich hat diese Art der Umsetzung auch einen Nachteil. Da es nötig ist Daten abzuspeichern und jedes Paket mit diesen zusätzlichen Angaben verglichen werden muss, kommt es zu einigem verringerten Datendurchsatz oder es müssen mehr Ressourcen auf diesen Bereich verwendet werden.