<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.xinux.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hutze</id>
	<title>Xinux Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.xinux.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hutze"/>
	<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php/Spezial:Beitr%C3%A4ge/Hutze"/>
	<updated>2026-06-11T13:27:42Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Testdisk6.jpg&amp;diff=3053</id>
		<title>Datei:Testdisk6.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Testdisk6.jpg&amp;diff=3053"/>
		<updated>2012-09-26T14:02:16Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Testdisk5.jpg&amp;diff=3052</id>
		<title>Datei:Testdisk5.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Testdisk5.jpg&amp;diff=3052"/>
		<updated>2012-09-26T14:02:04Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Testdisk4.jpg&amp;diff=3051</id>
		<title>Datei:Testdisk4.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Testdisk4.jpg&amp;diff=3051"/>
		<updated>2012-09-26T14:01:52Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Testdisk3.jpg&amp;diff=3050</id>
		<title>Datei:Testdisk3.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Testdisk3.jpg&amp;diff=3050"/>
		<updated>2012-09-26T14:01:39Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Testdisk2.jpg&amp;diff=3049</id>
		<title>Datei:Testdisk2.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Testdisk2.jpg&amp;diff=3049"/>
		<updated>2012-09-26T14:01:28Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Testdisk1.jpg&amp;diff=3048</id>
		<title>Datei:Testdisk1.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Testdisk1.jpg&amp;diff=3048"/>
		<updated>2012-09-26T14:01:10Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-client-modi1.png&amp;diff=2708</id>
		<title>Datei:Ddwrt-client-modi1.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-client-modi1.png&amp;diff=2708"/>
		<updated>2012-04-05T07:36:51Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-client-bridge2.png&amp;diff=2704</id>
		<title>Datei:Ddwrt-client-bridge2.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-client-bridge2.png&amp;diff=2704"/>
		<updated>2012-04-05T07:14:02Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-client-bridge1.png&amp;diff=2703</id>
		<title>Datei:Ddwrt-client-bridge1.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-client-bridge1.png&amp;diff=2703"/>
		<updated>2012-04-05T07:13:49Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-ap3.png&amp;diff=2681</id>
		<title>Datei:Ddwrt-ap3.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-ap3.png&amp;diff=2681"/>
		<updated>2012-04-03T12:20:11Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-ap2.png&amp;diff=2680</id>
		<title>Datei:Ddwrt-ap2.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-ap2.png&amp;diff=2680"/>
		<updated>2012-04-03T12:19:56Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-ap1.png&amp;diff=2678</id>
		<title>Datei:Ddwrt-ap1.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-ap1.png&amp;diff=2678"/>
		<updated>2012-04-03T12:16:05Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-client2.png&amp;diff=2676</id>
		<title>Datei:Ddwrt-client2.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-client2.png&amp;diff=2676"/>
		<updated>2012-04-03T11:56:26Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Ddwrt-client1.png&amp;diff=2675</id>
		<title>Datei:Ddwrt-client1.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Ddwrt-client1.png&amp;diff=2675"/>
		<updated>2012-04-03T11:56:13Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Clientmode.png&amp;diff=2672</id>
		<title>Datei:Clientmode.png</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Clientmode.png&amp;diff=2672"/>
		<updated>2012-04-03T08:17:47Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Wlan-bridge.jpg&amp;diff=2522</id>
		<title>Datei:Wlan-bridge.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Wlan-bridge.jpg&amp;diff=2522"/>
		<updated>2011-11-23T13:12:33Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Wlan_netzwerk_ad-hoc-modus.jpg&amp;diff=2517</id>
		<title>Datei:Wlan netzwerk ad-hoc-modus.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Wlan_netzwerk_ad-hoc-modus.jpg&amp;diff=2517"/>
		<updated>2011-11-23T09:49:23Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Wlan_netzwerk_infrastruktur-modus.jpg&amp;diff=2513</id>
		<title>Datei:Wlan netzwerk infrastruktur-modus.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Wlan_netzwerk_infrastruktur-modus.jpg&amp;diff=2513"/>
		<updated>2011-11-23T09:44:01Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:Iptables-konzept.jpeg&amp;diff=2345</id>
		<title>Datei:Iptables-konzept.jpeg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:Iptables-konzept.jpeg&amp;diff=2345"/>
		<updated>2011-08-17T14:24:59Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=IPTables_-_from_scratch&amp;diff=2344</id>
		<title>IPTables - from scratch</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=IPTables_-_from_scratch&amp;diff=2344"/>
		<updated>2011-08-17T14:24:52Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Regeln */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Die Verwendung von Firewalls mit iptables==&lt;br /&gt;
&lt;br /&gt;
Der Linux-Kernel enthält fortgeschrittene Tools für Packet-Filtering, der Prozess für die Kontrolle von Netzwerkpaketen bei ihrem Versuch einzudringen, durch und aus dem System hinaus zu dringen. Kernels vor der 2.4 Version konnten Pakete mit ipchains manipulieren, die Listen von Regeln verwendeten, die für Pakete in jeder Phase des Filterungsprozesses angewandt werden. Die Einführung des 2.4-Kernels hat iptables mit sich gebracht, die den ipchains gleichen, aber deren Wirkungsbereich und Kontrollmöglichkeiten bei der Filterung von Paketen erweitern.&lt;br /&gt;
&lt;br /&gt;
==iptables Allgemein==&lt;br /&gt;
&lt;br /&gt;
Iptables beinhaltet das englische Wort tables, was für Tabellen steht, und genauso kann man es sich auch vorstellen, denn in seinen  3 Tabellen sammeln sich die Ketten in denen Regeln zum Kontrollieren, Manipulieren oder Extrahieren von Paketen angegeben werden.&lt;br /&gt;
&lt;br /&gt;
===Tabellen===&lt;br /&gt;
Wie Pakete verarbeitet werden wird schon in den Tabellen vorgegeben. iptables besitzt standardmäßig drei Tabellen: '''mangle''', '''nat''' und '''filter'''.&lt;br /&gt;
&lt;br /&gt;
Die Tabelle '''mangle''' (übersetzt: zerhauen) ermöglicht es dem Kernel, Daten im Paket-Header zu verändern.&lt;br /&gt;
&lt;br /&gt;
'''NAT''' wird benutzt um interne und externe IP-Adressen zu übersetzen (= '''N'''etwork '''A'''dress '''T'''ranslation). Regeln in dieser Tabelle ändern die IP und/oder den Port des Ziels.&lt;br /&gt;
&lt;br /&gt;
Die Tabelle '''filter''' prüft alle für die Firewall ankommenden Pakete und entscheidet ob sie durchgelassen oder geblockt werden.&lt;br /&gt;
 &lt;br /&gt;
Jede dieser Tabellen besitzt nun mehrere Ketten:&lt;br /&gt;
:'''mangle''' (Paketmanipulationen): enthält alle Ketten&lt;br /&gt;
:'''nat''' (Network Adress Translation): enthält die Ketten PREROUTING, OUTPUT und POSTROUTING&lt;br /&gt;
:'''filter''' (Paketfilter): enthält die Ketten FORWARD, INPUT und OUTPUT&lt;br /&gt;
&lt;br /&gt;
===Ketten===&lt;br /&gt;
Die Ketten sind eine Sammlung von Regeln. D.h. das jede Kette mehrere Regeln besitzen kann um ein Paket durchzulassen oder zu blockieren. Es sind fünf Typen von Standardketten vorhanden. Manche dieser Ketten werden von allen Paketen und einige nur, je nachdem welches Ziel sie haben, durchlaufen. Man könnte auch sagen die Ketten unterscheiden '''wo''' welche Regeln angewendet werden. Die Regeln einer Kette werden nacheinander abgearbeitet und wenn eine zutrifft, ist die Bearbeitung in dieser Kette beendet (es gibt Ausnahmen):&lt;br /&gt;
&lt;br /&gt;
*'''PREROUTING''': alle Pakete kommen hier durch bevor eine Routing-Entscheidung getroffen wird&lt;br /&gt;
*'''FORWARD''': für alle Pakete, die von der einen zu einer anderen Netzwerkschnittstelle weitergeleitet werden - also keine Pakete die an einen lokalen Dienst gerichtet sind &lt;br /&gt;
*'''INPUT''': für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen&lt;br /&gt;
*'''OUTPUT''': für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst kommen &lt;br /&gt;
*'''POSTROUTING''': alle Pakete kommen am Ende der Verarbeitung hier durch&lt;br /&gt;
&lt;br /&gt;
===Regeln===&lt;br /&gt;
&lt;br /&gt;
Mit einer Regel wird entschieden was mit einem Paket passieren soll. Jede besitzt bestimmte Parameter nach denen sie überprüft ob die Informationen eines Paketes auf sie zutreffen. Wenn die Parameter zutreffend sind, wird das Paket meist an ein neues Ziel verwiesen oder es wird eine Methode angewandt. Für die Bearbeitung der Pakete gibt es mehrere Ziele und Methoden. Häufig benutzte sind: &lt;br /&gt;
&lt;br /&gt;
*'''ACCEPT''': das Paket kann passieren&lt;br /&gt;
*'''REJECT''': das Paket wird zurückgewiesen und ein Fehlerpaket wird gesendet&lt;br /&gt;
*'''LOG''': schreibt einen Eintrag in die syslog&lt;br /&gt;
*'''DROP''': das Paket wird ignoriert und keine Antwort gesendet&lt;br /&gt;
*'''REDIRECT''': die Ziel-Adresse des Paketes wird hiermit so verändert, dass es zum lokalen Rechner gesendet wird&lt;br /&gt;
*'''MASQUERADE''': die Quell-Adresse des Paketes wird durch die IP-Adresse der Schnittstelle ersetzt, auf dem es den Rechner verlässt&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Somit funktioniert iptables wie eine Art Sammlung von Schablonen die nacheinander auf ein Paket abgebildet werden und bei einem Treffer eine bestimmte Aktion auf das Paket ausführen. Falls keine der Schablonen passen sollte wird eine Standard Aktion ausgeführt die für alle Pakete gilt die nicht auf eine Schablone passen.&lt;br /&gt;
&lt;br /&gt;
Konzept-Bild&lt;br /&gt;
&lt;br /&gt;
[[file:iptables-konzept.jpeg|750px]]&lt;br /&gt;
&lt;br /&gt;
===Syntax Allgemein===&lt;br /&gt;
&lt;br /&gt;
Wie schon zu erwarten bedient man iptables mit dem Befehl '''iptables'''. Folgende Dinge sind vorab zu beachten:&lt;br /&gt;
&lt;br /&gt;
Die Momentan in der '''filter''' Tabelle gesetzten Ketten und Regeln kann man sich mit &lt;br /&gt;
 root@hutze:~# iptables -L&lt;br /&gt;
ausgeben lassen, wobei man die Ausgabe noch mit den Operanden&lt;br /&gt;
 -n    # für numerical&lt;br /&gt;
 -v    # für verbose&lt;br /&gt;
erweitern kann.&lt;br /&gt;
&lt;br /&gt;
Dabei ist es wichtig zu bemerken das jede iptables zeile  ohne '''-t''' option von einem '''-t filter''' ausgeht.&lt;br /&gt;
Was bedeutet das es die Filter Tabelle geschrieben wird.&lt;br /&gt;
Um die anderen Tabellen zu schreiben braucht man '''-t nat''' und '''-t mangle'''&lt;br /&gt;
&lt;br /&gt;
Die 3 Tabellen von iptables spricht man jeweils mit&lt;br /&gt;
 iptables ['''-t filter''']&lt;br /&gt;
 iptables '''-t nat'''&lt;br /&gt;
 iptables '''-t mangle'''&lt;br /&gt;
an.&lt;br /&gt;
&lt;br /&gt;
Jeder dieser Tabellen Angaben folgt für gewöhnlich eine Kette. Diese sind: '''INPUT''' '''OUTPUT''' und '''FORWARD''' sowie ausschließlich für ''nat'' und ''mangle'' auch '''PREROUTING''' und '''POSTROUTING'''. Und müssen mit dem davor stehenden Operanden '''-A''' ( '''A'''ppend - englisch für Anhängen )  definiert werden.&lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
 iptables -A '''INPUT'''&lt;br /&gt;
 iptables -t nat -A '''POSTROUTING'''&lt;br /&gt;
&lt;br /&gt;
Wenn man also Regeln aufstellen will muss man immer die Tabelle und das dazugehörige Kettenglied übergeben, damit der Router genau weiß was wo zu tun ist.&lt;br /&gt;
&lt;br /&gt;
Die Tabellen und Regeln von iptables könnte man theoretisch auch alle einzeln nacheinander in der Konsole eingeben was aber nicht ganz Sinn der Sache ist. Also bedienen wir uns für unsere Firewall einem simplen Bash-Skript.&lt;br /&gt;
&lt;br /&gt;
==Positionierung der Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall kann man unter Linux ganz einfach mit einem vi-Dokument beginnen. Damit die daraus entstehende Firewall auch ausgeführt wird müssen wir es in den entsprechenden Verzeichnissen vermerken. Das Skript selbst sollte nach '''/etc/init.d/''' mit einem '''softlink''' mit dem '''prefix &amp;quot;S99&amp;quot;''' in '''/etc/rc2.d''' damit es beim Starten automatisch ausgeführt wird.&lt;br /&gt;
 root@hutze:~# touch firewall&lt;br /&gt;
 root@hutze:~# mv firewall /etc/init.d&lt;br /&gt;
 root@hutze:~# ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall&lt;br /&gt;
&lt;br /&gt;
==Der Rumpf==&lt;br /&gt;
Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt:&lt;br /&gt;
&lt;br /&gt;
 '''#!/bin/bash'''&lt;br /&gt;
 '''case $1 in'''&lt;br /&gt;
 '''start)'''&lt;br /&gt;
 '''echo &amp;quot;starte firewall&amp;quot;'''&lt;br /&gt;
 ''';;'''&lt;br /&gt;
 '''stop)'''&lt;br /&gt;
 '''echo &amp;quot;stoppe firewall&amp;quot;'''&lt;br /&gt;
 ''';;'''&lt;br /&gt;
 '''*)'''&lt;br /&gt;
 '''echo &amp;quot;usage: $0 start|stop&amp;quot;'''&lt;br /&gt;
 ''';;'''&lt;br /&gt;
 '''esac'''&lt;br /&gt;
&lt;br /&gt;
==Filter Tabelle==&lt;br /&gt;
Beginnen wir unsere Firewall mit ihrer simpelsten Funktion: dem Paketfilter.&lt;br /&gt;
===Flushing===&lt;br /&gt;
&lt;br /&gt;
Bevor wir unsere eigenen Regeln entwerfen, sollten wir sichergehen das sich keine alten Regeln einschleichen und zu unerwarteten Komplikationen führen.&lt;br /&gt;
Dieses wird durch das sogenannte &amp;quot;flushing&amp;quot; erreicht, welches mit folgender Zeile geschieht:&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 '''iptables -F'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 '''iptables -F'''&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
Ohne flushing kann es auch passieren das sich unsere Regeln bei jedem Neustart der Firewall addieren.&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:Der Operand '''-F''' löst das flushing aus mit dem alle Regeln in der angegebenen Tabelle ( hier &amp;quot;-t filter&amp;quot; da keine angegeben ) entfernt werden&lt;br /&gt;
&lt;br /&gt;
;Wichtig&lt;br /&gt;
:Wenn man zukünftig auch Regeln in die ''nat'' und ''mangle'' Tabellen schreiben möchte, muss man dazu sichergehen das auch diese bei jedem Start und Stop jeweils geflusht werden damit keine Komplikationen entstehen.&lt;br /&gt;
&lt;br /&gt;
===Default policy===&lt;br /&gt;
&lt;br /&gt;
Als nächstes definieren wir was passieren soll falls keine unserer Regeln zutreffen sollte, auch gennannt '''&amp;quot;default policy&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mit folgenden Zeilen:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 '''iptables -P INPUT DROP'''&lt;br /&gt;
 '''iptables -P OUTPUT DROP'''&lt;br /&gt;
 '''iptables -P FORWARD DROP'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 '''iptables -P INPUT ACCEPT'''&lt;br /&gt;
 '''iptables -P OUTPUT ACCEPT'''&lt;br /&gt;
 '''iptables -P FORWARD ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:Wie in Syntax Allgemein angegeben muss die '''&amp;quot;default policy&amp;quot;''' auf alle 3 Anlaufstellen angewendet werden.&lt;br /&gt;
:Nach der Anlaufstelle geben wir an was mit den Paketen zu tun ist.&lt;br /&gt;
:Mit '''DROP''' lässt die gestartete Firewall alle Pakete fallen die nicht auf eine Regel passen.&lt;br /&gt;
:Mit '''ACCEPT''' lässt die gestoppte Firewall alle Pakete durch.&lt;br /&gt;
&lt;br /&gt;
===ESTABLISHED und RELATED Pakete===&lt;br /&gt;
&lt;br /&gt;
Ein Vorteil von iptables zu seinen Vorgängern ist die Funktion seinen Paketfilter nur auf die ersten Pakete einer Verbindung zu begrenzen und so Ressourcen zu sparen.&lt;br /&gt;
&lt;br /&gt;
Dieses wird erreicht mit folgenden Zeilen&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 '''iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT'''&lt;br /&gt;
 '''iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT'''&lt;br /&gt;
 '''iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:Die neuen Funktionen die wir hier verwenden beinhalten:&lt;br /&gt;
:'''-m state''': Das Modul von iptables das erkennt ob ein Paket eine Verbindung initiiert oder zu einer bereits errichteten Verbindung gehört. &lt;br /&gt;
:'''--state ESTABLISHED,RELATED''': Der Status nach dem das Paket untersucht wird, wobei&lt;br /&gt;
:'''ESTABLISHED''': Für alle Pakete steht die nicht das erste Paket einer Verbindung ist die in beide Richtungen sendet. (TCP)&lt;br /&gt;
:'''RELATED''': Für alle Pakete steht die eine 2t Verbindung öffnen wollen. (FTP,ICMP)&lt;br /&gt;
:'''-j ACCEPT''': Benutzt die angegebene Operation auf das Paket, hier ACCEPT.&lt;br /&gt;
&lt;br /&gt;
===loopback device===&lt;br /&gt;
&lt;br /&gt;
Nun haben wir schon ein paar Regeln aber noch keine die bisher zutreffen kann. Wenn wir diese Firewall aktivieren würden wäre unser eigener Router Nichtmal mehr in der Lage mit sich selbst zu kommunizieren. Da er dies über das sogennante '''&amp;quot;loopback device&amp;quot;''' lassen wir jetzt unsere ersten Pakete durch.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 '''iptables -A OUTPUT -o lo -j ACCEPT'''&lt;br /&gt;
 '''iptables -A INPUT -i lo -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:Hier geben wir nun zum ersten mal zur Anlaufstelle auch das jeweilige Interface das angelaufen wird mit an:&lt;br /&gt;
:Mit '''-o lo''' beschreiben wir als ''output'' also Ausgang die Schnittstelle ''lo'' was für das loopback device steht&lt;br /&gt;
:Genauso '''-i lo''' wobei lo hier als Eingang angegeben wird. In einem Satz:&lt;br /&gt;
:Alle Pakete die von unserem Router aus lo Ausgehen durchlassen&lt;br /&gt;
:Alle Pakete die an unserem Router an lo Ankommen durchlassen&lt;br /&gt;
&lt;br /&gt;
===Fernwartung===&lt;br /&gt;
&lt;br /&gt;
Angenommen unser Router mit der Firewall steht nicht im selben Netz wie unser üblicher Arbeitsrechner, ist es von Vorteil auch von außen auf ihn zugreifen zugreifen zu können. In unserem Beispiel ist das äußere Netz auch ein LAN. &lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 '''iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-s''': Passt auf die angegebene Quell IP-Adresse, hier 192.168.241.10&lt;br /&gt;
:'''-p''': Passt auf ein Protokoll, hier tcp&lt;br /&gt;
:'''-dport''': Passt auf Ziel Port, hier 22 (ssh)&lt;br /&gt;
:'''--state NEW''': Passt auf Pakete die eine Verbindung Initiieren&lt;br /&gt;
&lt;br /&gt;
===DNS-Server und HTTP===&lt;br /&gt;
&lt;br /&gt;
Jetzt möchten wir mit unserem Router ins Internet gehen können. Dazu müssen wir 2 Dinge tun, zuerst müssen wir erlauben das er auf DNS-Server zugreifen kann.&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT&lt;br /&gt;
 '''iptables -A OUTPUT -o eth0 -p tcp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT'''&lt;br /&gt;
 '''iptables -A OUTPUT -o eth0 -p udp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-d''': Das selbe Prinzip wie auch bei '''-s''' aber auf eine Ziel Adresse&lt;br /&gt;
----&lt;br /&gt;
Dann müssen wir auch noch eine Regel für HTTP aufstellen damit wir auch Internetseiten aufrufen dürfen&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p udp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 '''iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
===ICMP===&lt;br /&gt;
&lt;br /&gt;
Jetzt wollen wir testen können ob unser Router erreichbar ist. Dazu müssen wir ICMP freischalten&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p udp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW -j ACCEPT&lt;br /&gt;
 '''iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''--icmp-type 8''' Beschränkt erlaubte ICMP Pakete auf typ 8 ( echo )&lt;br /&gt;
&lt;br /&gt;
==NAT Tabelle==&lt;br /&gt;
&lt;br /&gt;
NAT steht für Network Address Translation, also eine Übersetzung von Netzwerk Adressen, sei es in Namen oder auch einfach nur in andere IP-Adressen. Iptables kann diesen Job übernehmen und zwar auf verschiedene Art und Weise.&lt;br /&gt;
&lt;br /&gt;
;Wichtig&lt;br /&gt;
:Da wir nun beginnen NAT regeln in die firewall zu schreiben dürfen wir nicht vergessen die Zeile zum flushen eben jener hinzuzufügen&lt;br /&gt;
&lt;br /&gt;
===MASQUERADE===&lt;br /&gt;
&lt;br /&gt;
Masquerading ist wohl die simpelste Form von NAT, hiermit ersetzt der Router einfach jede Quell IP-Adresse jedes zu routenden Paketes mit seiner eigenen, sowie bei einem Antwort Paket die Ziel Adresse wieder mit der Original Quell Adresse.In iptables erreicht man diese Funktion mit folgender Zeile&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 '''iptables -F -t nat'''&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p udp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT&lt;br /&gt;
 '''iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0 -s 172.23.242.0/24'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 '''iptables -F -t nat'''&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-t nat''': Hier sehen wir zum ersten mal wie man eine andere Tabelle außer Filter anspricht&lt;br /&gt;
:'''POSTROUTING''': Damit der Router weiß das er den Adressen Tausch NACH dem Routing ausführen soll&lt;br /&gt;
:'''-j MASQUERADE''': Eine weitere Aktion die auf ein Paket ausgeführt werden kann, hier unser NAT&lt;br /&gt;
:'''-s 172.23.242.0/24''': Hier wird nicht nur eine IP-Adresse, sondern ein ganzer Netzbereich als Quelle angegeben&lt;br /&gt;
&lt;br /&gt;
===SNAT===&lt;br /&gt;
&lt;br /&gt;
SNAT ist Masquerading sehr ähnlich, der einzige Unterschied besteht darin das man sich bei SNAT die ersetzende IP-Adresse wählen kann. Da wir schon Masquerading eingebaut haben, hängen wir SNAT nicht auch noch mit in unsere Firewall.&lt;br /&gt;
&lt;br /&gt;
Hier aber ein Beispiel:&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j SNAT -o eth0 -s 172.23.242.0/24 --to-source 192.168.242.100&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-j SNAT''': Die auszuführende Aktion, hier SNAT&lt;br /&gt;
:'''--to-source 192.168.242.100''': Die Angabe zu welcher IP-Adresse ersetzt wird, hier die des Routers.&lt;br /&gt;
&lt;br /&gt;
===NETMAP===&lt;br /&gt;
&lt;br /&gt;
Eine weiter Form des NAT in iptables ist NETMAP. Statt wie bei MASQUERADE oder SNAT, ersetzt NETMAP die Quell Adresse nicht nur mit einer bestimmten Adresse, sondern bildet das gesamte Quell Netz auf ein anderes ab.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j NETMAP -o eth0 -s 172.23.242.0/24 --to 195.145.95.0/24&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-j NETMAP''': Aktion die auf Pakete ausgeführt wird, hier NETMAP&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
===DNAT, port forwarding===&lt;br /&gt;
&lt;br /&gt;
Da das interne Netz nicht von außen angesprochen werden kann, wie es bei normalen Routern die ins Internet führen ja auch der Fall ist, bedient man sich hierfür einer Technik namens port forwarding, was bedeutet das ein Programm das über einen bestimmten Port mit dem Router kommuniziert an eine andere IP-Adresse und einen anderen Port weitergeleitet wird.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -F -t nat&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p udp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0 -s 172.23.242.0/24&lt;br /&gt;
 '''iptables -t nat -A PREROUTING -j DNAT -i eth0 --dport 3333 --to-dest 172.23.242.100:22'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -F -t nat&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''PREROUTING''': Paket wird nach der Routingentscheidung geändert&lt;br /&gt;
:'''-j DNAT''': Aktion die auf Pakete ausgeführt wird, hier DNAT&lt;br /&gt;
:'''--to-dest 172.23.242.100:22''': IP-Adresse und Port zu denen weitergeleitet wird&lt;br /&gt;
:In einem Satz:&lt;br /&gt;
:Ändere bei allen Paketen die auf eth0 ankommen und den Port 3333 ansprechen die Ziel Adresse zu 172.23.242.100 und Port zu 22&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
&lt;br /&gt;
Damit wir sehen können was so alles an unserer Firewall abprallt, nicht nur um Störenfriede zu erkennen, sondern auch um zu sehen was wir vielleicht für uns freischalten müssen, können wir ein logging einrichten das automatisch alle Pakete die nicht durchgelassen wurden an den syslog deamon weitergeben der die Vorkommnisse in die syslog schreibt.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -F -t nat&lt;br /&gt;
 iptables -P INPUT DROP&lt;br /&gt;
 iptables -P OUTPUT DROP&lt;br /&gt;
 iptables -P FORWARD DROP&lt;br /&gt;
 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i lo -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -s 192.168.241.10 -p tcp --dport 22 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p udp -d 192.168.240.21 --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT&lt;br /&gt;
 iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0 -s 172.23.242.0/24&lt;br /&gt;
 iptables -t nat -A PREROUTING -j DNAT -i eth0 --dport 3333 --to-dest 172.23.242.100:22&lt;br /&gt;
 '''iptables -A INPUT  -j LOG  --log-prefix &amp;quot;--iptables-in--&amp;quot;'''&lt;br /&gt;
 '''iptables -A OUTPUT -j LOG  --log-prefix &amp;quot;--iptables-out--&amp;quot;'''&lt;br /&gt;
 '''iptables -A FORWARD -j LOG --log-prefix &amp;quot;--iptables-for--&amp;quot;'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 iptables -F&lt;br /&gt;
 iptables -F -t nat&lt;br /&gt;
 iptables -P INPUT ACCEPT&lt;br /&gt;
 iptables -P OUTPUT ACCEPT&lt;br /&gt;
 iptables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
Diese Zeilen sollten ganz am Ende bleiben, damit auch sichergestellt ist das nur Pakete die alle Regeln durchlaufen haben dort landen.&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-j LOG''': Aktion die auf Pakete ausgeführt wird, hier LOG&lt;br /&gt;
:'''--log-prefix &amp;quot;--iptables-in--&amp;quot;''': Schreibt ''--iptables-in--'' , vor jedes Paket das am INPUT verworfen wurde,&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2330</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2330"/>
		<updated>2011-08-05T09:28:09Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
&lt;br /&gt;
=SKEME=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Tunnel-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Tunnel-Modus beschreibt eine Verbindung von 2 Routern über die 2 dahinter liegende Subnetze verbunden werden&lt;br /&gt;
&lt;br /&gt;
=Transport-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Transport-Modus beschreibt eine Ende zu Ende Verbindung zwischen 2 Clients &lt;br /&gt;
&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
ISAKMP ist das Grundgerüst zur Verwaltung von Schlüsseln über das Internet. Es selbst könnte diese Aufgabe nicht bewältigen, jedoch kann es mit den benötigten Protokollen zusammen benutzt werden um so eine Komplettlösung zu bieten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
IKE ist eines der Protokolle die in ISAKMP benutzt werden zu Schlüssel Verwaltung. IKE wird mit ISAKMP für die Aushandlung und den Austausch von Schlüsseln über das Internet verwendet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
IKE arbeitet in 2 Phasen in denen eine sichere Verbindung hergestellt werden soll &lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
In Phase 1 &lt;br /&gt;
&lt;br /&gt;
=====Main Mode=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Aggressive Mode=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Quick Mode=====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2329</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2329"/>
		<updated>2011-08-05T09:27:58Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* IKE (Internet Key Exchange) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
=Tunnel-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Tunnel-Modus beschreibt eine Verbindung von 2 Routern über die 2 dahinter liegende Subnetze verbunden werden&lt;br /&gt;
&lt;br /&gt;
=Transport-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Transport-Modus beschreibt eine Ende zu Ende Verbindung zwischen 2 Clients &lt;br /&gt;
&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
ISAKMP ist das Grundgerüst zur Verwaltung von Schlüsseln über das Internet. Es selbst könnte diese Aufgabe nicht bewältigen, jedoch kann es mit den benötigten Protokollen zusammen benutzt werden um so eine Komplettlösung zu bieten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
IKE ist eines der Protokolle die in ISAKMP benutzt werden zu Schlüssel Verwaltung. IKE wird mit ISAKMP für die Aushandlung und den Austausch von Schlüsseln über das Internet verwendet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
IKE arbeitet in 2 Phasen in denen eine sichere Verbindung hergestellt werden soll &lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
In Phase 1 &lt;br /&gt;
&lt;br /&gt;
=====Main Mode=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Aggressive Mode=====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Quick Mode=====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2328</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2328"/>
		<updated>2011-08-05T09:26:19Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* IKE (Internet Key Exchange) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
=Tunnel-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Tunnel-Modus beschreibt eine Verbindung von 2 Routern über die 2 dahinter liegende Subnetze verbunden werden&lt;br /&gt;
&lt;br /&gt;
=Transport-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Transport-Modus beschreibt eine Ende zu Ende Verbindung zwischen 2 Clients &lt;br /&gt;
&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
ISAKMP ist das Grundgerüst zur Verwaltung von Schlüsseln über das Internet. Es selbst könnte diese Aufgabe nicht bewältigen, jedoch kann es mit den benötigten Protokollen zusammen benutzt werden um so eine Komplettlösung zu bieten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
IKE ist eines der Protokolle die in ISAKMP benutzt werden zu Schlüssel Verwaltung. IKE wird mit ISAKMP für die Aushandlung und den Austausch von Schlüsseln über das Internet verwendet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
IKE arbeitet in 2 Phasen in denen eine sichere Verbindung hergestellt werden soll &lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
=====Main Mode=====&lt;br /&gt;
=====Aggressive Mode=====&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
=====Quick Mode=====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2327</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2327"/>
		<updated>2011-08-05T09:25:24Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Phasen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
=Tunnel-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Tunnel-Modus beschreibt eine Verbindung von 2 Routern über die 2 dahinter liegende Subnetze verbunden werden&lt;br /&gt;
&lt;br /&gt;
=Transport-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Transport-Modus beschreibt eine Ende zu Ende Verbindung zwischen 2 Clients &lt;br /&gt;
&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
ISAKMP ist das Grundgerüst zur Verwaltung von Schlüsseln über das Internet. Es selbst könnte diese Aufgabe nicht bewältigen, jedoch kann es mit den benötigten Protokollen zusammen benutzt werden um so eine Komplettlösung zu bieten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
IKE ist eines der Protokolle die in ISAKMP benutzt werden zu Schlüssel Verwaltung. IKE wird mit ISAKMP für die Aushandlung und den Austausch von Schlüsseln über das Internet verwendet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
IKE arbeitet in 2 Phasen in denen eine sichere Verbindung hergestellt werden soll &lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2326</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2326"/>
		<updated>2011-08-05T09:16:27Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
=Tunnel-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Tunnel-Modus beschreibt eine Verbindung von 2 Routern über die 2 dahinter liegende Subnetze verbunden werden&lt;br /&gt;
&lt;br /&gt;
=Transport-Modus=&lt;br /&gt;
&lt;br /&gt;
Der Transport-Modus beschreibt eine Ende zu Ende Verbindung zwischen 2 Clients &lt;br /&gt;
&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
ISAKMP ist das Grundgerüst zur Verwaltung von Schlüsseln über das Internet. Es selbst könnte diese Aufgabe nicht bewältigen, jedoch kann es mit den benötigten Protokollen zusammen benutzt werden um so eine Komplettlösung zu bieten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
IKE ist eines der Protokolle die in ISAKMP benutzt werden zu Schlüssel Verwaltung. IKE wird mit ISAKMP für die Aushandlung und den Austausch von Schlüsseln über das Internet verwendet&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2325</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2325"/>
		<updated>2011-08-05T09:07:24Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
=Tunnel Modus=&lt;br /&gt;
&lt;br /&gt;
=Transport Modus=&lt;br /&gt;
&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2321</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2321"/>
		<updated>2011-08-05T09:01:00Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* ISAKMP (Internet Security Association and Key Management Protocol) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
Das ISAKMP Protokoll bietet ein Gerüst für Internet-Schlüssel-Verwaltung und unterstützt die spezifischen Protokolle zum Aushandeln  und Austauschen von Sicherheits-Eigenschaften. Alleine kann es keinen Sitzungsschlüssel generieren. &lt;br /&gt;
&lt;br /&gt;
Jedoch kann man es mit verschiedenen Schlüssel Generierung Protokollen, wie Oakley, verwenden. Damit bietet es eine Komplettlösung für Internet-Schlüssel-Verwaltung.&lt;br /&gt;
&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2312</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2312"/>
		<updated>2011-08-05T08:38:43Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* IKE (Internet Key Exchange) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
Das IKE-Protokoll wird während dem IPSec-Verbindungsaufbau zur Aushandlung der verwendeten Verschlüsselungsmechanismen und zum Austausch von Signierungs- oder Verschlüsselungsschlüsseln verwendet. IKE definiert, wie die Peers Richtlinieninformationen kommunizieren und wie Authentifizierungsnachrichten aufgebaut sind und ausgetauscht werden. Es setzt sich aus drei anderen Protokollen zusammen (ISAKMP, Oakley und SKEME)&lt;br /&gt;
&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode====&lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2308</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2308"/>
		<updated>2011-08-05T08:31:39Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode==== &lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;br /&gt;
&lt;br /&gt;
=Zertifikatsbasierte Authentisierung=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2307</id>
		<title>VPN Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=VPN_Allgemein&amp;diff=2307"/>
		<updated>2011-08-05T08:30:56Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Zu sortieren=&lt;br /&gt;
==RSA ('''R'''ivest '''S'''hamir '''A'''dleman)==&lt;br /&gt;
&lt;br /&gt;
==AH ('''A'''uthentication '''H'''eader) ==&lt;br /&gt;
&lt;br /&gt;
==ISAKMP ('''I'''nternet '''S'''ecurity '''A'''ssociation and '''K'''ey '''M'''anagement '''P'''rotocol)==&lt;br /&gt;
&lt;br /&gt;
==IPsec ('''I'''nternet '''P'''rotocol '''sec'''urity)==&lt;br /&gt;
&lt;br /&gt;
==IKE ('''I'''nternet '''K'''ey '''E'''xchange)==&lt;br /&gt;
&lt;br /&gt;
===Phasen===&lt;br /&gt;
&lt;br /&gt;
====Phase 1====&lt;br /&gt;
&lt;br /&gt;
====Phase 2====&lt;br /&gt;
&lt;br /&gt;
===Modes===&lt;br /&gt;
&lt;br /&gt;
====Main Mode====&lt;br /&gt;
====Aggressive Mode====&lt;br /&gt;
====Quick Mode==== &lt;br /&gt;
&lt;br /&gt;
=Security Association=&lt;br /&gt;
&lt;br /&gt;
=Security Policy=&lt;br /&gt;
&lt;br /&gt;
=Wireshark-VPN-traffic=&lt;br /&gt;
&lt;br /&gt;
=PSK-Authentisierung ('''P'''re '''S'''hared '''K'''eying)=&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1995</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1995"/>
		<updated>2011-07-28T08:02:42Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Was sollte eine Sicherheitspolitik enthalten? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
;Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
;Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
;Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
;Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgesetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
;Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
;Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
;Spezielle Fragen&lt;br /&gt;
*Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
*Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
*Wann verliert man einen Account?&lt;br /&gt;
*Wer darf sich per Modem einwählen.&lt;br /&gt;
*Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
*Wie sicher müssen diese sein?&lt;br /&gt;
*Wie werden Personaldaten geschützt?&lt;br /&gt;
*Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
*Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
*Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
*Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1994</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1994"/>
		<updated>2011-07-28T08:02:12Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Was sollte eine Sicherheitspolitik enthalten? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
;Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
;Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
;Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
;Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgesetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
;Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
;Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
;Spezielle Fragen&lt;br /&gt;
:Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
:Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
:Wann verliert man einen Account?&lt;br /&gt;
:Wer darf sich per Modem einwählen.&lt;br /&gt;
:Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
:Wie sicher müssen diese sein?&lt;br /&gt;
:Wie werden Personaldaten geschützt?&lt;br /&gt;
:Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
:Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
:Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
:Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1993</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1993"/>
		<updated>2011-07-28T08:02:04Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Was sollte eine Sicherheitspolitik enthalten? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
;Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
;Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
;Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
;Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgesetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
;Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
;Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
;Spezielle Fragen&lt;br /&gt;
:Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
:Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
:Wann verliert man einen Account?&lt;br /&gt;
:Wer darf sich per Modem einwählen.&lt;br /&gt;
:Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
:Wie sicher müssen diese sein?&lt;br /&gt;
.Wie werden Personaldaten geschützt?&lt;br /&gt;
:Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
:Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
:Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
:Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1992</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1992"/>
		<updated>2011-07-28T08:01:51Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Was sollte eine Sicherheitspolitik enthalten? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
;Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
;Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
;Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
;Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgesetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
;Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
;Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
;Spezielle Fragen&lt;br /&gt;
Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
Wann verliert man einen Account?&lt;br /&gt;
Wer darf sich per Modem einwählen.&lt;br /&gt;
Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
Wie sicher müssen diese sein?&lt;br /&gt;
Wie werden Personaldaten geschützt?&lt;br /&gt;
Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1991</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1991"/>
		<updated>2011-07-28T08:01:04Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Was sollte eine Sicherheitspolitik enthalten? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
;Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
;Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
;Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
;Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgesetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
;Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
;Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
;Spezielle Fragen&lt;br /&gt;
**Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
**Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
**Wann verliert man einen Account?&lt;br /&gt;
**Wer darf sich per Modem einwählen.&lt;br /&gt;
**Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
**Wie sicher müssen diese sein?&lt;br /&gt;
**Wie werden Personladaten geschützt?&lt;br /&gt;
**Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
**Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
**Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
**Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1990</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1990"/>
		<updated>2011-07-28T07:53:21Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Was sollte eine Sicherheitspolitik enthalten? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
* Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
*Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
* Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
*Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
*Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
* Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
* Spezielle Fragen&lt;br /&gt;
**Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
**Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
**Wann verliert man einen Account?&lt;br /&gt;
**Wer darf sich per Modem einwählen.&lt;br /&gt;
**Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
**Wie sicher müssen diese sein?&lt;br /&gt;
**Wie werden Personladaten geschützt?&lt;br /&gt;
**Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
**Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
**Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
**Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1989</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1989"/>
		<updated>2011-07-28T07:52:42Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Sicherheitspolitik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
* Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
*Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
* Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
*Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
*Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;br /&gt;
&lt;br /&gt;
* Skalierbarkeit&lt;br /&gt;
:Was passiert wenn Ihre Netzwerk wäschst?&lt;br /&gt;
&lt;br /&gt;
* Spezielle Fragen&lt;br /&gt;
:Wer erhält Zugang? Gibt es Gastzugänge?&lt;br /&gt;
:Gibt es Gemeinsame Accounts? (Bsp. E-Mail)&lt;br /&gt;
:Wann verliert man einen Account?&lt;br /&gt;
:Wer darf sich per Modem einwählen.&lt;br /&gt;
:Was ist vor der Inbetriebnahme eines Computers zu tun?&lt;br /&gt;
:Wie sicher müssen diese sein?&lt;br /&gt;
:Wie werden Personladaten geschützt?&lt;br /&gt;
:Welche Passwörter sollten verwendet werden? (Änderung)&lt;br /&gt;
:Wer darf ausführbare Programme besorgen/installieren?&lt;br /&gt;
:Welche Vorkehrungen werden gegenüber Viren getroffen?&lt;br /&gt;
:Was ist mit Verbindungen mit Geschäftspartnern?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1988</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1988"/>
		<updated>2011-07-28T07:50:38Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Sicherheitspolitik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;br /&gt;
&lt;br /&gt;
===Was sollte eine Sicherheitspolitik enthalten?===&lt;br /&gt;
&lt;br /&gt;
* Begründung&lt;br /&gt;
:Es ist wichtig das begründet wird warum Entscheidungen so getroffen wurden. - Nachvollziehbahrkeit -&lt;br /&gt;
&lt;br /&gt;
*Verantwortung&lt;br /&gt;
:Man sollte explizit Zuständigkeitsbereiche festlegen so Unklarheiten entstehen wer verantwortlich ist. &lt;br /&gt;
:Aber auch die Benutzer sollten auf Sicherheit achten und sich nicht nur auf die Administration verlassen.&lt;br /&gt;
&lt;br /&gt;
* Verständlichkeit&lt;br /&gt;
:Mann sollte die Sicherheitspolitisch verständlich formulieren nur so ist gewährleistet das sie auch eingehalten wird. &lt;br /&gt;
:Was man nicht versteht kann man auch nicht einhalten.&lt;br /&gt;
&lt;br /&gt;
*Durchsetzung&lt;br /&gt;
:Der Verwalter bestimmter Dienste ist befugt Zugang zu verwehren.&lt;br /&gt;
:Der Vorgetzte kümmert sich um Überschreitungen.&lt;br /&gt;
:Einrichtungen die Standards nicht erfüllen werden ausgeschlossen.&lt;br /&gt;
&lt;br /&gt;
*Berücksichtigung von Ausnahmen &lt;br /&gt;
:Was geschieht wenn Ausnahmesituationen eintreten?&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1987</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1987"/>
		<updated>2011-07-28T07:47:09Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
==Sicherheitspolitik==&lt;br /&gt;
&lt;br /&gt;
Man sollte die höchstmögliche Sicherheitsstufe anstreben wobei folgende Punkte zu beachten sind:&lt;br /&gt;
&lt;br /&gt;
*Preis&lt;br /&gt;
:Wie viel Geld können/wollen sie für Sicherheit ausgeben?&lt;br /&gt;
&lt;br /&gt;
* Funktionalität&lt;br /&gt;
:Können Sie Ihre Computer immer noch benutzen?&lt;br /&gt;
&lt;br /&gt;
* Akzeptanz&lt;br /&gt;
:Stören die Sicherheitseinrichtungen die Art und Weise mit der Benutzer Ihres Standorts gewöhnlich untereinander und Außenwelt kommunizieren?&lt;br /&gt;
&lt;br /&gt;
*Juristisches &lt;br /&gt;
:Entsprechen die Sicherheitseinrichtungen Ihren Juristischen Anforderungen&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1986</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1986"/>
		<updated>2011-07-28T07:44:36Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Sonderfälle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert größer gleich 1024&lt;br /&gt;
benutzt und als Destination Port 21. Diese Verbindung bleibt bestehen&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1985</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1985"/>
		<updated>2011-07-28T07:43:12Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Sonderfälle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;br /&gt;
&lt;br /&gt;
===Ftp Dienst ( ftp 21 ftp-data 20)===&lt;br /&gt;
&lt;br /&gt;
Beim Ftp Dienst werden zwei Kanäle zwischen Client und Server&lt;br /&gt;
benutzt. Der Verbindungsaufbau wird wie eine ganz normale TCP&lt;br /&gt;
Verbindung initiiert. Als Source Port wird ein Wert grösser gleich 1024&lt;br /&gt;
benutzt und als Destinationport 21. Diese Verbindung bleibt bestehn&lt;br /&gt;
und wird als Steuerkanal benutzt. &lt;br /&gt;
&lt;br /&gt;
Danach gibt es zwei Möglichkeiten :&lt;br /&gt;
&lt;br /&gt;
====Aktives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''aktiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
einen Port oberhalb 1023 mit. Der Server geht darauf eine Verbindung&lt;br /&gt;
zum Client auf diesem Port ein. Über diesen Kanal werden die Daten&lt;br /&gt;
ausgetauscht.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Passives FTP====&lt;br /&gt;
&lt;br /&gt;
Beim '''''passiven FTP''''' teilt der Client dem Server über den Steuerkanal&lt;br /&gt;
das Schlüsselwort PASV mit. Der Server überträgt darauf einen Port ab&lt;br /&gt;
1024 der für den Datenkanal bereit steht. Daraufhin konnektiert der&lt;br /&gt;
Client den Server auf diesem Port. Über diesen Kanal werden die&lt;br /&gt;
Daten ausgetauscht.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1984</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1984"/>
		<updated>2011-07-28T07:41:02Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Nameservices (domain Port 53) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. &lt;br /&gt;
:Bei Verbindungsproblemen oder wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. &lt;br /&gt;
:Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet der Client als Source Port einen Wert 53, als Destination Port 53 und als Protokoll wird UDP verwendet. &lt;br /&gt;
:Seit BIND 8 verhält sich der anfragende Nameserver wie ein normaler Client (kann per Konfiguration geändert werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1983</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1983"/>
		<updated>2011-07-28T07:39:59Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Nameservices (domain Port 53) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. Bei Verbindungsproblemen oder :wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet&lt;br /&gt;
:der Client als Source Port einen Wert 53 ,als Destination Port 53 und als&lt;br /&gt;
:Protokoll wird UDP verwendet. Seit BIND 8 verhält sich der anfragende&lt;br /&gt;
:Nameserver wie ein normaler Client (kann per Konfiguration geändert&lt;br /&gt;
:werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1982</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1982"/>
		<updated>2011-07-28T07:38:37Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Nameservices (domain Port 53) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll wird UDP verwendet. Bei Verbindungsproblemen oder :wenn das Paket größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. Manche Unixe verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet&lt;br /&gt;
:der Client als Source Port einen Wert 53 ,als Destination Port 53 und als&lt;br /&gt;
:Protokoll wird UDP verwendet. Seit BIND 8 verhält sich der anfragende&lt;br /&gt;
:Nameserver wie ein normaler Client (kann per Konfiguration geändert&lt;br /&gt;
:werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1981</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1981"/>
		<updated>2011-07-28T07:38:11Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Nameservices (domain Port 53) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als&lt;br /&gt;
:Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll&lt;br /&gt;
:wird UDP verwendet. Bei Verbindungsproblemen oder wenn das Paket&lt;br /&gt;
:größer als 512 Byte ist erfolgt die Anfrage auf TCP Basis. Manche Unixe&lt;br /&gt;
:verwenden ausschließlich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookup-Anfrage eines Nameservers an einen Nameserver verwendet&lt;br /&gt;
:der Client als Source Port einen Wert 53 ,als Destination Port 53 und als&lt;br /&gt;
:Protokoll wird UDP verwendet. Seit BIND 8 verhält sich der anfragende&lt;br /&gt;
:Nameserver wie ein normaler Client (kann per Konfiguration geändert&lt;br /&gt;
:werden).&lt;br /&gt;
&lt;br /&gt;
;Bei Zonentransfers &lt;br /&gt;
:verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
:den Source Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
:den Port 53 als Protokoll wird TCP verwendet.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1980</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1980"/>
		<updated>2011-07-28T07:37:03Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* Nameservices (domain Port 53) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
;Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Anfrage eines Clients an einen Nameserver verwendet der Client als&lt;br /&gt;
:Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll&lt;br /&gt;
:wird UDP verwendet. Bei Verbindungsproblemen oder wenn das Paket&lt;br /&gt;
:grösser als 512 Byte ist erfolgt die Anfrage auf TCP Basis.Manche Unixe&lt;br /&gt;
:verwenden ausschliesslich TCP.&lt;br /&gt;
&lt;br /&gt;
;Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
:Bei Lookupanfrage eines Nameservers an einen Nameserver verwendet&lt;br /&gt;
:der Client als Source Port einen Wert 53 ,als Destination Port 53 und als&lt;br /&gt;
:Protokoll wird UDP verwendet. Seit BIND 8 verhält sich der anfragende&lt;br /&gt;
:Nameserver wie ein normaler Client (kann per Konfiguration geändert&lt;br /&gt;
:werden).&lt;br /&gt;
&lt;br /&gt;
Bei Zonentranfers verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
denSource Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
den Port 53 als Protokoll wird TCP verwendet.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1979</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1979"/>
		<updated>2011-07-28T07:36:09Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* UDP Problematik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen:&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Sonderfälle==&lt;br /&gt;
&lt;br /&gt;
Die Nachfolgenden Dienste fallen nicht in die oben genannten Kategorien und werden deshalb gesondert behandelt.&lt;br /&gt;
&lt;br /&gt;
===Nameservices (domain Port 53)===&lt;br /&gt;
&lt;br /&gt;
Client &amp;lt;---&amp;gt; Server&lt;br /&gt;
Bei Anfrage eines Clients an einen Nameserver verwendet der Client als&lt;br /&gt;
Source Port einen Wert ab 1024 und als Destination Port 53 als Protokoll&lt;br /&gt;
wird UDP verwendet. Bei Verbindungsproblemen oder wenn das Paket&lt;br /&gt;
grösser als 512 Byte ist erfolgt die Anfrage auf TCP Basis.Manche Unixe&lt;br /&gt;
verwenden ausschliesslich TCP.&lt;br /&gt;
&lt;br /&gt;
Server &amp;lt;---&amp;gt; Server&lt;br /&gt;
Bei Lookupanfrage eines Nameservers an einen Nameserver verwendet&lt;br /&gt;
der Client als Source Port einen Wert 53 ,als Destination Port 53 und als&lt;br /&gt;
Protokoll wird UDP verwendet. Seit BIND 8 verhält sich der anfragende&lt;br /&gt;
Nameserver wie ein normaler Client (kann per Konfiguration geändert&lt;br /&gt;
werden).&lt;br /&gt;
&lt;br /&gt;
Bei Zonentranfers verwendet der Client (meist sekundäre Nameserver)&lt;br /&gt;
denSource Port ab 1024 und der Server (meist primärer Nameserver)&lt;br /&gt;
den Port 53 als Protokoll wird TCP verwendet.&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1978</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1978"/>
		<updated>2011-07-28T07:34:50Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* UDP Problematik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. &lt;br /&gt;
&lt;br /&gt;
Ausgewählte UDP Dienste auf die diese Regeln zutreffen.&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Datei:UDPDienste.jpg&amp;diff=1977</id>
		<title>Datei:UDPDienste.jpg</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Datei:UDPDienste.jpg&amp;diff=1977"/>
		<updated>2011-07-28T07:34:37Z</updated>

		<summary type="html">&lt;p&gt;Hutze: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
	<entry>
		<id>https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1976</id>
		<title>Firewall Allgemein</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Firewall_Allgemein&amp;diff=1976"/>
		<updated>2011-07-28T07:34:29Z</updated>

		<summary type="html">&lt;p&gt;Hutze: /* UDP Problematik */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Einführung=&lt;br /&gt;
&lt;br /&gt;
Dieses Dokument behandelt die Einrichtung einer Paketfilter Firewall unter dem Betriebsystem Linux. Nach einer kurzen Einführung und der Erklärung wichtiger Begriffe folgt ein Überblick über mögliche Angriffe. In den weiteren Kapiteln folgt die Einrichtung der Firewall sowie weiterer Sicherheitsvorkehrungen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Was ist eine Firewall ?==&lt;br /&gt;
&lt;br /&gt;
Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll.Das Wort &amp;quot;Firewall&amp;quot; stammt aus der englischen Sprache und bedeutet &amp;quot;Feuerwand&amp;quot;. Diese Feuerwand ist eine Struktur, die die Ausbreitung eines Feuers verhindern soll. Gebäude haben Firewalls, die verschiedene Bereiche des Gebäudes komplett voneinander trennen. &lt;br /&gt;
&lt;br /&gt;
In einem Auto übernimmt die Metallplatte, welche den Motor von der Passagierkabine trennt, die Aufgaben einer Firewall.In der Informatik wird Firewall als Bezeichnung für einen Computer benutzt, der die Schnittstelle zwischen Computernetzen darstellt, und gleichzeitig bestimmte Bereiche der Computernetze vor Angriffen und unerwünschten Zugriffen schützt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Warum wird eine Firewall benötigt ?==&lt;br /&gt;
&lt;br /&gt;
Die Zeiten, in denen Viren, die offline per herkömmlichen Datenträgern eingeschleppt wurden, die einzige Bedrohung für Computer darstellte, sind vorbei. &lt;br /&gt;
Durch die zunehmende Vernetzung von Firmen, Privathaushalten, Schulen, anderen öffentlichen Einrichtungen, und deren Anbindung an das Internet, müssen diese lokalen Netze vor Angriffe aus dem Internet, geschützt werden. Doch auch Angriffe aus dem eigenen Netz sind keine Seltenheit. Der Angreifer sitzt häufig in den eigenen Reihen. Ohne eine Firewall bemerken die Netzadministratoren die Einbrüche durch Angreifer aus anderen Netzen oder dem Internet oftmals nicht. Eine Firewall kann jedoch nur vor Angriffen schützen, wenn sämtlicher Datentransfer über die Firewall läuft. Die Firewall muß als Schnittstelle zwischen den angrenzenden Netzen dienen. Ist es dem Angreifer möglich, den Firewallrechner zu umgehen, so hat diese Ihr Ziel verfehlt, da sie keinen ausreichenden Schutz darstellt. &lt;br /&gt;
&lt;br /&gt;
Beim Betrieb einer Firewall muß die gesamte Sicherheitsphilosophie beachtet werden. Eine Firewall ist nur ein Glied in einer Kette von Sicherheitsvorkehrungen, und bietet allein noch keinen ausreichenden Schutz vor Angriffen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Aufgaben einer Firewall==&lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll heutzutage eine Vielzahl von Aufgaben wahrnehmen, von denen der Schutz des lokalen Netzes die Wichtigste, aber bei weitem nicht die Einzige ist. Folgende Liste erhebt keinen Anspruch auf Vollständigkeit: &lt;br /&gt;
&lt;br /&gt;
Eine Firewall soll&lt;br /&gt;
&lt;br /&gt;
*das eigene Netz gegenüber dem Internet absichern &lt;br /&gt;
*Angriffsversuche soweit möglich melden &lt;br /&gt;
*Angriffe verhindern &lt;br /&gt;
*Den Zugang ins Internet regeln (nach Zeit, Benutzer oder Rechner) &lt;br /&gt;
*NAT bzw. Masquerading unterstützen&lt;br /&gt;
*Zugriffe auf bestimmte Seiten sperren (z.B. Sex-Sites) &lt;br /&gt;
*HTTP- und FTP Zugriffe zwischenspeichern &lt;br /&gt;
*Statistiken über benutzte Dienste und Webzugriffe liefern. &lt;br /&gt;
*sich für Mitarbeiter transparent verhalten &lt;br /&gt;
*VPN mit mehreren Standorten ermöglichen &lt;br /&gt;
*fernadministrierbar sein &lt;br /&gt;
*ausfallsicher sein &lt;br /&gt;
*sich schnell und verzögerungsfrei verhalten &lt;br /&gt;
*einfach zu bedienen und zu warten sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Arten von Firewalls=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man unterscheidet folgende Firewalltypen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paketfilter Firewall==&lt;br /&gt;
&lt;br /&gt;
Sie ist das Thema dieses Dokuments. Eine Paketfilter Firewall analysiert den gesamten Datenverkehr im Netzwerk über die Informationen im Header eines jeden Paketes. An Hand von aufgestellten Regeln (was darf sein, was nicht) wird entschieden, ob das Paket seinen Weg fortsetzen darf, oder ob es geblockt wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Proxy Firewall==&lt;br /&gt;
&lt;br /&gt;
Ein Proxy wird genutzt, um ausgehenden Datenverkehr zu überwachen. Alle Verbindungen werden protokolliert. So ist es jederzeit möglich zu prüfen, was für Verbindungen zu einem bestimmten Zeitpunkt aktiv waren und von welcher Quelle diese Verbindungen ausgelöst wurden. Zusätzlich bieten viele Proxies die Möglichkeit, Daten zwischenzuspeichern), um Übertragungsvolumen zu sparen und den Zugriff auf die Daten zu beschleunigen. Alle Daten eines per Proxy angebotenen Dienstes werden an eine Applikation auf dem Firewallrechner weitergeleitet, die dann die Verbindung zum Ziel übernimmt. So bleiben die eigentlichen Quellen der Kommunikation geschützt im Verborgenen. Alle Anfragen scheinen vom Proxyserver zu kommen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP-Adresse=&lt;br /&gt;
&lt;br /&gt;
Jeder Rechner, der an das Internet angeschlossen ist, erhält eine weltweit eindeutige Kennung, die Internet Protokoll Adresse, kurz IP-Adresse. &lt;br /&gt;
Die IP-Adresse ist eine 32bit breite Binärzahl. Die einzelnen Bytes werden durch einen Punkt getrennt. Die vorderen Bits bezeichnen das Subnetz, in dem sich der Rechner befindet. Die restlichen Bits unterscheiden die einzelnen Rechner innerhalb dieses Subnetzes. &lt;br /&gt;
Damit lassen sich in der aktuellen Version des Internet Protokolls (Ipv4) 2 hoch 32, also 4,294967296 Milliarden Rechner eindeutig bestimmen. Allerdings steht nicht der gesamte IP-Adreßbereich zur Verfügung, da einige Bereiche für andere Zwecke reserviert sind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse A===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 10.0.0.0 bis 10.255.255.255 und ist für lokale Netze reserviert. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse B===&lt;br /&gt;
&lt;br /&gt;
Dieser Adreßbereich reicht von 172.16.0.0 bis 172.31.255.255 und ist ebenfalls für lokale Netze reserviert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Privater Adreßbereich der Klasse C===&lt;br /&gt;
&lt;br /&gt;
Ein weiterer Bereich für lokale Netze, der von 192.168.0.0 bis 192.168.255.255 geht.	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Multicast-Adreßbereich der Klasse D===&lt;br /&gt;
&lt;br /&gt;
Dieser IP-Adreßbereich ist für Multicast-Anwendungen reserviert. Dabei handelt es sich um Audio- oder Videoanwendungen mit einer Quelle und vielen Empfängern. Der reservierte Bereich reicht von 224.0.0.0 bis 239.255.255.255.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reservierter Adreßbereich der Klasse E===&lt;br /&gt;
&lt;br /&gt;
Hierbei handelt es sich um einen Bereich, der für zukünftige und experimentelle Zwecke freigehalten wird. Er erstreckt sich von 240.0.0.0 bis 247.255.255.255.Es gibt noch einige weitere Blöcke, die von der IANA, Internet Assigned Numbers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Netzmaske==&lt;br /&gt;
&lt;br /&gt;
Durch die Netzmaske ist festgelegt, wie viele Bits einer IP-Adresse das Subnetz bilden. Jedes Subnetzbit erhält eine Eins, jedes Hostbit eine Null. Eine Netzmaske wird wie eine IP-Adresse durch vier Bytes angegeben: 255.255.255.0 beispielsweise bedeutet, daß die ersten 24 Bit der IP-Adresse dem Subnetz zuzuordnen sind, während die letzten 8 Bit die einzelnen Rechner im Subnetz unterscheiden. Neben dieser Schreibweise ist es auch sehr verbreitet, die Netzmaske als Anzahl der Subnetz-Bits anzugeben. Bei einer IP-Adresse wie 192.168.1.15/24 beispielsweise stehen die ersten 24 Bits für das Subnetz und die letzten 8 Bits kennzeichnen den Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Router=&lt;br /&gt;
&lt;br /&gt;
Router haben die Aufgabe Netzwerkpakete weiterzuleiten. Ein IP-Paket erreicht sein Ziel über eine Reihe von Routern, die das Paket an einem Netzwerkinterface entgegennehmen und nach den Angaben ihrer Routertabellen an ein anderes Interface weiterleiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Quality of Service=&lt;br /&gt;
&lt;br /&gt;
Jedes IP-Paket enthält ein Feld, daß die Priorität des Pakets angibt, das sogenannte Quality of Service Feld (abgekürzt QoS). Erreichen einen Router mehr Pakete als er gleichzeitig verarbeiten kann, wird die Verarbeitungsreihenfolge durch Hilfe dieses QoS-Feldes festgelegt: Als erstes werden Pakete mit hoher Priorität abgearbeitet, dann folgen die niedrigeren Prioritäten. Das QoS-Feld eines Pakets kann modifiziert werden, so lassen sich z.B. bestimmte Paket bevorzugt behandeln.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=NAT – Masquerading=&lt;br /&gt;
&lt;br /&gt;
Haben die Rechner des eigenen Netzes nicht registrierte IP-Adressen (aus einem der für lokale Netze reservierten Klasse A,B oder C), sind direkte Verbindungen ins Internet nicht möglich, da diese von den Routern nicht weitergeleitet werden. &lt;br /&gt;
&lt;br /&gt;
Diese nur lokal gültigen Adressen müssen also durch offizielle IP-Adressen ersetzt werden. Dieser Vorgang nennt sich Network Adress Translation (NAT) oder Masquerading.&lt;br /&gt;
&lt;br /&gt;
Hier ersetzt der Rechner mit der Verbindung ins Internet alle ankommenden Pakete aus dem LAN mit seiner eigenen, gültigen IP-Adresse. Informationen über die einzelnen maskierten Verbindungen werden in Routingtabellen gespeichert, um anschließend ankommende Pakete, die für das interne Netz bestimmt sind (von aus dem LAN initiierten Verbindungen), wieder zu demaskieren. &lt;br /&gt;
&lt;br /&gt;
Während beim normalen NAT m lokale Adressen auf n offizielle maskiert werden (m:n Zuordnung) ist das Masquerading ein Sonderfall von NAT. Hier werden alle lokalen Adressen auf eine gültige IP-Adresse maskiert (m:1 Zuordnung). &lt;br /&gt;
&lt;br /&gt;
Die Vorteile von NAT:&lt;br /&gt;
 &lt;br /&gt;
*Internetanbindung des gesamten lokalen Netzesüber eine IP-Adresse.&lt;br /&gt;
 &lt;br /&gt;
*Zusätzlicher Schutz, da Rechner im LAN für das Internet nicht sichtbar sind. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Ports=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Viele Server im Internet bieten gleichzeitig mehrere Netzwerkdienste an. Erreicht&lt;br /&gt;
ein Datenpaket den Server, muß dieser herausfinden, für welchen Dienst die Daten bestimmt sind. Dies erreicht man durch den Einsatz von Ports. Jedem Netzwerkdienst ist ein spezieller Port zugeordnet. &lt;br /&gt;
&lt;br /&gt;
Hier nun einige wichtige Portnummern:&lt;br /&gt;
&lt;br /&gt;
Portnummer Dienst &lt;br /&gt;
&lt;br /&gt;
20,21 FTP &lt;br /&gt;
23 Telnet &lt;br /&gt;
25 SMTP &lt;br /&gt;
53 DNS &lt;br /&gt;
80 HTTP &lt;br /&gt;
110 POP3 &lt;br /&gt;
119 NNTP &lt;br /&gt;
143 IMAP &lt;br /&gt;
443 HTTPS &lt;br /&gt;
&lt;br /&gt;
Ports mit Nummer unter 1024 werden als privilegierte Ports bezeichnet. Diese Ports werden von den verschiedenen Servern benutzt. Die Server warten hier auf Verbindungen aus dem Netz. &lt;br /&gt;
Ports zwischen 1024 und 65535 werden als unprivilegierte Ports bezeichnet. Sie werden von Clients für Verbindungen genutzt. &lt;br /&gt;
&lt;br /&gt;
Zusätzlich sind Ports zwischen 1024 und 49151 von der IANA registriert.&lt;br /&gt;
Sie können entweder als normale unprivilegierte Ports benutzt werden, oder hier läuft ein bestimmter Dienst, wie z.B. das X-Windows System, die grafische Benutzeroberfläche unter Linux. Die ursprüngliche Idee war, auf diesen höheren Ports Dienste laufen zu lassen, die nicht über root-Privilegien verfügen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Port Mapping oder Port Forwarding==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Port Mapping um eigene Netzwerkdienste hinter einer Firewall zur Verfügung zu stellen. Alle auf der Firewall eingehenden Anfragen auf einen bestimmten Port werden an einen bestimmten Rechner im LAN weitergereicht (deswegen auch Port Forwarding). Beispielsweise werden alle auf der Firewall eingehenden Pakete auf dem Port 80 an den Webserver im lokalen Netz weitergeleitet, alle Pakete auf Port 110 gehen auf den POP3 Mailserver, der sich ebenfalls im LAN befindet. Die Server im LAN genießen so einen zusätzlichen Schutz. &lt;br /&gt;
&lt;br /&gt;
Durch Port Mapping lassen sich auch transparente Proxies realisieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Proxy=&lt;br /&gt;
&lt;br /&gt;
Ein Proxy ist ein Rechner, der für einen Client eine Verbindung zu einem bestimmten Dienst aufbaut. Proxies existieren für unterschiedliche Dienste, wie z.B. HTTP und FTP. Die Daten werden vom Proxy angefordert und an den Client weitergereicht. Dadurch bleibt der Client im Verborgenen. Sämtliche Anfragen scheinen vom Proxyserver zu kommen. Zusätzlich dient ein Proxy als großer Zwischenspeicher: Daten, die von Clients angefordert werden und bereits auf dem Proxy liegen, müssen von diesem nicht noch einmal angefordert werden. Dadurch kann die Geschwindigkeit der Übertragung gesteigert werden. &lt;br /&gt;
Viele Internetprovider bieten ihren Kunden einen eigenen Proxyserver für FTP und HTTP an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=IP Pakete=&lt;br /&gt;
&lt;br /&gt;
Das IP Protokoll definiert eine Nachricht, die zwischen zwei Computern im Netzwerk gesendet wird. Eine solche Nachricht wird Paket genannt. Ein Paket ist also eine einzelne Nachricht, die im Netz gesendet wird. &lt;br /&gt;
Ein IP Paket besteht aus einem Paketkopf (message header) und dem Nachrichtenkörper (message body). Der Körper enthält die eigentlichen Daten, die ausgetauscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Protokolle=&lt;br /&gt;
&lt;br /&gt;
==ICMP Internet Control Message Protocol==&lt;br /&gt;
&lt;br /&gt;
ICMP Pakete werden zu Kontrollzwecken und für Statusmeldungen benutzt. Sie werden lediglich zwischen zwei Computern ausgetauscht, nicht zwischen Diensten, die auf dem Computer laufen.  &lt;br /&gt;
&lt;br /&gt;
Der Header enthält: &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse&lt;br /&gt;
 &lt;br /&gt;
*Art der Kontrollnachricht&lt;br /&gt;
 &lt;br /&gt;
*ICMP Nachrichtentyp (Kommando, Statusinformation, Fehlermeldung)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==UDP User Datagramm Protocol==&lt;br /&gt;
&lt;br /&gt;
UDP Pakete werden zwischen zwei Netzwerkdiensten ausgetauscht. Bei UDP Paketen gibt es keine Benachrichtigung darüber, ob ein Paket erfolgreich empfangen wurde. UDP ist also ein verbindungsloses Protokoll, und damit ist nicht sichergestellt, daß ein UDP Paket sein Ziel erreicht. Dies läßt sich am Besten mit dem Versand einer Postkarte vergleichen. Auch hier ist nicht sichergestellt, daß diese auch jemals ihr Ziel erreicht. Der daraus entstehende Vorteil ist, daß UDP Pakete um ein vielfaches schneller sind als TCP Pakete. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält:&lt;br /&gt;
 &lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*UDP Protokolltyp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TCP Transmission ControlProtocol==&lt;br /&gt;
&lt;br /&gt;
TCP ist das am meisten genutzte Protokoll für Netzwerkdienste, da bei TCP eine Verbindung zwischen den Computern während der gesamten Dauer des Datenaustausches sichergestellt ist. Für jedes empfangene TCP Paket wird eine Empfangsbestätigung an den Absender geschickt. So werden Übertragungsfehler, verlorene Datenpakete oder Duplikate erfolgreich vermieden. &lt;br /&gt;
&lt;br /&gt;
Der Header enthält &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zieladresse &lt;br /&gt;
&lt;br /&gt;
*Quell- und Zielportnummer &lt;br /&gt;
&lt;br /&gt;
*TCP protocoll message type &lt;br /&gt;
&lt;br /&gt;
*Sequence acknowledgement number &lt;br /&gt;
&lt;br /&gt;
*Control flags (SYN, ACK, FIN)&lt;br /&gt;
&lt;br /&gt;
Eine TCP Verbindung läßt sich am Besten mit einem Telefongespräch vergleichen. Eine Verbindung zum Informationsaustausch ist hier sichergestellt. Kommen am anderen Ende der Leitung nicht alle gewünschten Informationen an (z.B. durch Rauschen in der Leitung) wird einfach erneut um diese gebeten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der TCP Verbindungsaufbau===&lt;br /&gt;
&lt;br /&gt;
Der Verbindungsaufbau bei TCP läuft in folgenden Schritten ab: &lt;br /&gt;
&lt;br /&gt;
1) Ein Webserver läuft auf einem Computer im Internet und wartet auf Verbindungen auf dem TCP-Port 80. Ein Benutzer greift auf den Webserver zu, in dem er eine Webseite dieses Servers abruft. Er gibt dazu die URL in seinen Browser ein. Die URL wird durch einen Nameserver in die IP Adresse des Hosts aufgelöst. Der Browser belegt nun einen unprivilegierten Port, z.B. 24000, und sendet eine Verbindungsanfrage an den Webserver. Dieses TCP Paket hat z.B. folgenden Header: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: SYN (connection synchronization request) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das SYN Flag wird immer bei einem Verbindungsaufbau gesendet. Diesem SYN Flag folgt eine Synchronisations Sequenz Nummer, die vom Client vergeben wird (hier beispielsweise 14000).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Der Webserver empfängt das Paket des Clients. Er antwortet auf das SYN Flag mit einer Bestätigung, dem ACK Flag. Der Server teilt dem Client dadurch mit, daß er seine Verbindungsanfrage empfangen hat. Diesem ACK Flag folgt die Synchronisations Sequenz Nummer des Clients, die vom Server um eins erhöht wurde (14001). Außerdem sendet der Server nun ein weiteres SYN Flag, mit dem er ebenfalls einen Verbindungsaufbau bekanntgeben will. Der Server gibt diesem Flag seine eigene Synchronisations Sequenz Nummer (z.B. 34008). Die Verbindung ist nun halb geöffnet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dies ist der Header des vom Server zurückgesendeten TCP Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 195.20.202.1 &lt;br /&gt;
*Quellport: 80 &lt;br /&gt;
*Zieladresse: 114.115.12.11 &lt;br /&gt;
*Zielport: 24000 &lt;br /&gt;
*Flags: ACK (acknowledgement), SYN (connection synchronization request)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
3.Der Client Rechner empfängt das Paket des Servers und antwortet auf das SYN Flag des Servers mit einem ACK Flag und einer um eins erhöhten Synchtonisations Sequenz Nummer, die dem Flag vom Server zugewiesen wurde (34009). Von nun an werden keine weiteren SYN Flags mehr benötigt, die Server verständigen sich nur noch über ACK Flags. &lt;br /&gt;
&lt;br /&gt;
Der Header des vom Client gesendeten Pakets: &lt;br /&gt;
&lt;br /&gt;
*Protokoll: TCP &lt;br /&gt;
*Quelladresse: 114.115.12.11 &lt;br /&gt;
*Quellport: 24000 &lt;br /&gt;
*Zieladresse: 195.20.202.1 &lt;br /&gt;
*Zielport: 80 &lt;br /&gt;
*Flags: ACK &lt;br /&gt;
&lt;br /&gt;
Die beiden Flags SYN und ACK sind sehr wichtig für das Aufsetzen einer Firewall. Das SYN Flag wird gesetzt, wenn ein Client und ein Server die ersten beiden Pakete beim Verbindungsaufbau austauschen. Alle weiteren Pakete haben nur das ACK Flag gesetzt. &lt;br /&gt;
Beim Beenden einer Verbindung gibt es noch weitere Flags, die jedoch für eine Paketfilter Firewall nicht zur Auswertung zur Verfügung stehen und deshalb nicht von Interesse sind.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Angriffe=&lt;br /&gt;
&lt;br /&gt;
An das Internet angeschlossene Computer sind einer Vielzahl von Angriffen ausgesetzt, die verschiedene Absichten verfolgen. Manche Angriffe versuchen den Zielrechner zu beschäftigen, daß dieser keinen anderen Aufgaben mehr nachgehen kann, und somit für andere Computer im Netzwerk unerreichbar ist. Andere haben das Ziel, auf dem angegriffenen Computer Lese- und Schreibrechte zu erhalten, um Daten zu stehlen, manipulieren oder zu löschen. Wieder Andere sammeln lediglich Informationen über das Zielsystem, die sich später bei weiteren Angriffen vorteilhaft auswirken können. &lt;br /&gt;
&lt;br /&gt;
In diesem Kapitel sollen Techniken und häufig auftretende, bekannte Angriffe kurz vorgestellt werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Spoofing=&lt;br /&gt;
&lt;br /&gt;
Beim IP-Spoofing wird die Quelladresse eines Pakets modifiziert und gefälscht (gespooft). Das Paket erhält eine falsche Identität. Es gibt keinen verläßlichen Schutz gegen IP-Spoofing. Man kann sich nie sicher sein, ob ein Paket das ist, was es vorgibt zu sein.&lt;br /&gt;
&lt;br /&gt;
Ein gefälschtes Paket läßt sich dadurch leicht in ein geschütztes lokales Netz einschleusen. &lt;br /&gt;
&lt;br /&gt;
IP-Spoofing wird beispielsweise von Angreifern verwendet werden, um von sich abzulenken, und einem Anderen den Angriff anzulasten. &lt;br /&gt;
&lt;br /&gt;
Außer dem IP-Spoofing gibt es noch weitere Arten von Spoofing, nämlich &lt;br /&gt;
&lt;br /&gt;
DNS- und Web-Spoofing. Auf diese soll jedoch hier nicht näher eingegangen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Source routed traffic==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Normalerweise wird der Weg (die Route), die ein IP-Paket zurücklegt, um von Punkt A nach Punkt B zu gelangen, durch die Router zwischen den beiden Endpunkten festgelegt. Das Paket gibt lediglich das gewünschte Ziel vor, nicht welchen Weg es gehen will. &lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Informationen über die Route, die das Paket gehen will, im Paket zu speichern. Die Router werten diese Informationen aus und leiten das Paket entsprechend weiter. &lt;br /&gt;
&lt;br /&gt;
Hiermit lassen sich von einem Angreifer Pakete generieren, die vorgeben aus dem eigenen lokalen Netz (hinter der Firewall) zu stammen. Liegt das Ziel innerhalb des lokalen Netzes wird die Firewall diese Pakete auch dorthin senden. Dem Angreifer wäre es dadurch gelungen, die Firewall zu umgehen.&lt;br /&gt;
Source routed traffic sollte deshalb grundsätzlich nicht zugelassen werden.&lt;br /&gt;
Anmerkung: Source routed traffic läßt sich schon auf Kernelebene deaktivieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Denial of Service Angriffe==&lt;br /&gt;
&lt;br /&gt;
Denial of Service (DoS) Angriffe binden Systemressourcen des Zielrechners. Dies kann im schlimmsten Fall dazu führen, daß das System nicht mehr erreichbar ist. DoS Angriffe lassen sich in Floods (binden Bandbreite, nutzen Rechenzeit des Ziels) und Disconnects  unterteilen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Flooding==&lt;br /&gt;
&lt;br /&gt;
Beim Flooding (Fluten) wird das Ziel mit Unmengen von ICMP- (gewöhnlich) oder auch UDP-Paketen beschossen (überflutet). Die Folgen gehen bis zur Unerreichbarkeit des Ziels, da dieses vollständig mit der Bearbeitung der Pakete ausgelastet ist. &lt;br /&gt;
&lt;br /&gt;
Bsp. Ping Flooding: Das Ziel wird mit Ping-Paketen (ICMP Message Type 8) beschossen und wird damit ausgelastet, die Ping-Pakete mit Echo-Reply-Paketen (ICMP Message Type 0) zu beantworten. &lt;br /&gt;
&lt;br /&gt;
Bsp. Identification Flooding (Inetd): Dieser Angriff ähnelt einem gewöhnlichen ICMP Flood, es werden aber zusätzlich Informationen von TCP Port 113 angefordert. Dieser Angriff verbraucht mehr Rechenzeit als ein gewöhnlicher ICMP Flood, da die Antwort generiert werden muß. &lt;br /&gt;
&lt;br /&gt;
Bsp. TCP SYN Flooding: Das SYN Flooding macht sich dem gewöhnlichen dreistufigen TCP Verbindungsaufbau zunutze. Das Ziel wird mit gespooften IP-Paketen beschossen, die eine Verbindung zu einem TCP basierten Dienst (z.B HTTP) aufbauen wollen. Es wird ein Paket mit gesetztem SYN Flag gesendet. Das Ziel beantwortet dieses Paket mit einer Nachricht, die SYN- und ACK-Flag gesetzt hat. Da die IP-Adresse gespooft ist, kommt es nie zu einer Antwort mit gesetztem ACK-Flag des Angreifers. Die TCP Verbindung bleibt in Ihrem halb geöffneten Zustand und verbraucht Systemressourcen, bis es zu einem Timeout der Verbindung kommt. Da neue Pakete schneller eintreffen, als alte Verbindungen durch den Timeout beendet werden, sind nach kurzer Zeit sämtliche Ressourcen des Ziels belegt. Es können keine weiteren Verbindungen beantwortet werden. Das Ziel ist damit ausgeschaltet. &lt;br /&gt;
&lt;br /&gt;
Bsp. SMTP Session Hijacking: Hier wird der Mailserver des Ziels mit Mails überflutet, bis dieser für andere Computer nicht mehr erreichbar ist. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Portscanning==&lt;br /&gt;
&lt;br /&gt;
Beim Portscanning werden die Ports des Ziels auf vorhandene Dienste geprüft. Dadurch erhält der Angreifer Informationen über mögliche Angriffspunkte auf dem Zielsystem.&lt;br /&gt;
Portscans dienen der Informationsgewinnung, verbrauchen aber auch Systemressourcen. Sie sind damit ein weiterer DoS Angriff, wenn auch weniger effizient wie andere DoS Formen. Portscans gehen häufig wirklichen Angriffen voraus.&lt;br /&gt;
Portscans beschränken sich häufig auf einige wenige, ausgesuchte Zielports, auf denen verbreitete Netzwerkdienste laufen. Diese Dienste haben in der Vergangenheit oft Schwachstellen in der Sicherheit aufgezeigt und sind ein idealer Ausgangspunkt für Angriffe.&lt;br /&gt;
Portscanning gilt trotz dieser für die Informationsgewinnung wichtigen Funktion als klassischer DoS Angriff, da eine entsprechende Anzahl an Scans gleichzeitig den Zielrechner blockieren kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disconnects==&lt;br /&gt;
&lt;br /&gt;
Durch Disconnects wird der Zugriff auf den eigenen Computer oder auf andere Rechner im Netzwerk verhindert.  Bsp. ICMP Destination Unreachable: Bei diesem DoS Angriff wird ein gespooftes Destination-Unreachable-Paket (ICMP Message Type 3) an das Ziel gesendet. Das Ziel erhält die Nachricht, daß der Quellrechner nicht mehr erreichbar ist und beendet alle Verbindungen mit diesem Computer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hacks und Exploits==&lt;br /&gt;
&lt;br /&gt;
Ein Hack ist eine Anwendung oder ein Paket, welches Schwächen in einem Betriebssystem, einer Anwendung oder einem Protokoll ausbeutet (engl.: to exploit). Die Folgen reichen vom Absturz des Ziels über Datendiebstahl bis zum vollständigen Datenverlust. &lt;br /&gt;
&lt;br /&gt;
Bsp. Boink: Der Boink Hack ähnelt anderen Hacks, wie Bonk, Teardrop oder New Tear. Durch ungültige Paketfragmente, die nicht mehr korrekt zusammengefügt werden können, wird das Ziel zum Absturz gebracht. &lt;br /&gt;
&lt;br /&gt;
Bsp. Land: Beim Land Hack versucht ein gefälschtes, angeblich vom Ziel stammendes Paket eine Verbindung zum Ziel aufzubauen. Das Ziel versucht mit sich selber eine Verbindung aufzubauen und stürzt ab. &lt;br /&gt;
&lt;br /&gt;
Bsp. Winnuke: Winnuke nutzt einen Fehler im TCP/IP Stack der bekannten Windows Versionen (Win3.x, Win9x, WinNT 3.51, WinNT 4) aus. Spezielle Daten (out of bound data) werden an TCP Port 139 des Ziels geschickt. Als Folge davon stürzt das TCP/IP Protokoll ab und der Computer muß neu gebootet werden, will man die Funktionalität des Protokolls wieder herstellen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Warum Linux?=&lt;br /&gt;
&lt;br /&gt;
*Gründe für den Einsatz von Linux als Firewall: &lt;br /&gt;
&lt;br /&gt;
*Verfügbarkeit. Für kein anderes Betriebssystem existieren derart viele Kernel Features und Tools Verfügbarkeitsstudien zeigen die herausragende Stabilität von Linux.&lt;br /&gt;
&lt;br /&gt;
*Ausgereifter Netzwerkteil, vergleichbar mit dem anderer Unix-Derivate.&lt;br /&gt;
&lt;br /&gt;
*Keine weitere Software neben den Bordmitteln notwendig.&lt;br /&gt;
&lt;br /&gt;
*Fast die gesamt Hardware ist unter Linux lauffähig.&lt;br /&gt;
&lt;br /&gt;
*Im Gegensatz zu kommerziellen Betriebssystemen entfällt bei Linux der Support    des Herstellers. Dafür aber Newsgroups, Mailing Lists und OnlineDokumentation&lt;br /&gt;
&lt;br /&gt;
*Das gesamte Betriebssystem, inklusive Dienstprogramme und wichtiger    Anwendungen, unterliegt der GPL und sind somit kostenlos und frei im Quellcode zugänglich.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=FIREWALL TOPOLOGIEN=&lt;br /&gt;
&lt;br /&gt;
==Einfacher Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilter.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Einfacher Paktetfilter wird das Interne Netz mit einem Router an ein öffentliches Netz angebunden Der Router arbeitet aber selektiv. Das bedeutet das nur bestimmte Arten von Pakteten das passieren erlaubt wird anderen wird es nicht gewährt. Paketfilter  arbeitet&lt;br /&gt;
auf den untersten 3 Schichten der TCP/IP- Achitektur.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile der Paketfilterung :&lt;br /&gt;
&lt;br /&gt;
* kann ganzes Netzwerk schützen  &lt;br /&gt;
&lt;br /&gt;
* extrem effektiv&lt;br /&gt;
&lt;br /&gt;
* weit verbreitet  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile:&lt;br /&gt;
&lt;br /&gt;
* Filterbeschreibungspachen sind nicht perfekt &lt;br /&gt;
&lt;br /&gt;
* Router wird belastet&lt;br /&gt;
&lt;br /&gt;
* Nicht alle Sicherheitrichtlinen lassen sich durch sezten&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Dual Homed Host==&lt;br /&gt;
&lt;br /&gt;
[[Bild:dualhomedhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Auf einem Dual Homed Host laufen sogenannte Proxys(Stellvetretter) Proxy arbeitet auf allen 4 Schichten der TCP/IP- Achitektur. Das bedeutet das sie mit dem Anwendungsprotoll in Berührung kommen. Wobei man zwischen 2 verschiedenen Arten unterscheiden kann&lt;br /&gt;
&lt;br /&gt;
*Application Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll genau. Beispielsweise &lt;br /&gt;
squid aber auch ein chache-only Nameserver kann man als Application Level Proxy&lt;br /&gt;
bezeichnen.(~Dolmetscher in der realen Welt) &lt;br /&gt;
 &lt;br /&gt;
*Circuit Level Proxys&lt;br /&gt;
Diese Proxyarten kennen das Anwednungsprotokoll nicht. Sie „quatschen“ alles nur&lt;br /&gt;
nach oder setzen es um. Beispielweise socks oder delegated sind Circuit Level Proxys&lt;br /&gt;
(~Übersetzungsprogramm in der realen Welt) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vorteile:&lt;br /&gt;
&lt;br /&gt;
* Gutes Protokollieren &lt;br /&gt;
&lt;br /&gt;
* Caching&lt;br /&gt;
&lt;br /&gt;
* Anwendungsspezifische Filterung &lt;br /&gt;
&lt;br /&gt;
* Authetifikation auf Userebene&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nachteile: &lt;br /&gt;
 &lt;br /&gt;
* Neuere Protokolle werden nicht unterstützt&lt;br /&gt;
&lt;br /&gt;
* Verschiedene Proxyserver für verschiedene Dienste notwendig &lt;br /&gt;
&lt;br /&gt;
* Client müssen Verhalten ändern&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachten Hosts==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architektur.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Paketfilter lässt nur Traffic zu dem Bastion Host zu, die Clients kommnuzieren nur&lt;br /&gt;
mit den Proxys auf dem Bastion Host.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit überwachtem Teilnetz(mit zwei Paketfiltern)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:architekturteilnetz.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Geteiltes und überwachtes Teilnetz mit Dual-Homed-Host==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:geteitelstdualhost.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Dual-Home-Host zu. Innerere Paketfilter lässt nur Traffic zu dem Dual-Home-Host  zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host. Kein Forwarding auf dem Dual-Home-Host&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit zusammengelegtem inneren und äusseren Paketfilter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:paketfilterinnenaußen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Häufig haben kommerzielle Produkte diese Layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Architektur mit mehreren Grenznetzen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Bild:grenznetzen.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Äussere Paketfilter lässt nur Traffic zu dem Bastion Host zu. Innerere Paketfilter lässt nur Traffic zu dem Bastion Host zu die Clients kommunizieren nur mit den Proxys auf dem Bastion Host Das Partnernetz (z.B.Vetriebspartner) wird genauso angebunden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Verbindungenszenarien=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eingehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für eingehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren, das heisst, es muss auch das Paket, welches nur ein gesetztes &lt;br /&gt;
SYN Flag hat, durchlassen.&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen  um zu verhindern das von innen nach aussen eine Verbindungsaufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgehende Tcp/Ip Verbindungen==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Regel für ausgehende Pakete muss alle Kombinationen von SYN und ACK Flags im TCP Header akzeptieren. Das heisst, es muss auch das Paket, welches nur das SYN Flag gesetzt hat, durchlassen. Die Regel für eingehende Pakete muss explizit Pakete, die lediglich das SYN Flag im TCP Header gesetzt haben, ausschliessen, um zu verhindern, dass von aussen nach innen eine Verbindungs- aufnahme erfolgen kann.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ausgewählte TCP Dienste auf die diese Regeln zutreffen.==&lt;br /&gt;
&lt;br /&gt;
[[file:TCPDienste.jpg]]&lt;br /&gt;
[[file:TCPDienste2.jpg]]&lt;br /&gt;
&lt;br /&gt;
==UDP Problematik==&lt;br /&gt;
&lt;br /&gt;
Da UDP basierende Dienste verbindungslos sind, ergibt sich das Problem,&lt;br /&gt;
dass man mit herkömmlichen Mitteln nicht bestimmen kann, welche Seite&lt;br /&gt;
die Verbindung initiiert hat. Ausgewählte UDP Dienste auf die diese Regeln zutreffen.&lt;br /&gt;
&lt;br /&gt;
[[file:UDPDienste.jpg]]&lt;/div&gt;</summary>
		<author><name>Hutze</name></author>
	</entry>
</feed>