Firewall Technologie
Firewall Technologie
Firewall Technologie
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Inhaltsverzeichnis<br />
1. Einführung<br />
2. <strong>Firewall</strong>-Klassen<br />
2.1. Der Paketfilter<br />
2.2. Der Applikationsfilter<br />
3. <strong>Firewall</strong>-Architekturen<br />
BTU Cottbus<br />
Proseminar Internet<br />
<strong>Firewall</strong> <strong>Technologie</strong><br />
Stefan Böhlke<br />
sboehlke@informatik.tu-cottbus.de<br />
3.1. Ein Paketfilter + Single-Homed Applikationsfilter<br />
3.2. Zwei Paketfilter als Screened Subnet + Dual-Homed Applikationsfilter<br />
4. Grenzen von <strong>Firewall</strong>-Systemen<br />
5. Literaturhinweise<br />
1
1. Einführung<br />
Der Begriff <strong>Firewall</strong> kommt aus dem Englischen und bedeutet übersetzt<br />
Brandschutzmauer. Eine Brandschutzmauer hat den Zweck, bei Ausbruch eines<br />
Feuers in einem Gebäude zu verhindern bzw. es zu erschweren, dass dieses<br />
Feuer auf ein anderes Gebäude überspringt. Auf die Informatik oder genauer auf<br />
Netzwerke übertragen bedeutet dies, dass eine <strong>Firewall</strong> zwei verschiedene Netze<br />
voneinander trennt. Dabei wird jeglicher Datenaustausch zwischen diesen<br />
beiden Netzen über die <strong>Firewall</strong> geleitet. Diese hat dann die Aufgabe, den<br />
Datenverkehr zu kontrollieren und nur die gewünschten Daten durchzulassen,<br />
wobei alle ungewünschten Daten blockiert werden. Zum Vorteil des Benutzers<br />
der <strong>Firewall</strong> sollte dies möglichst transparent geschehen, d.h. der Benutzer sollte<br />
möglichst ungestört Daten austauschen können ohne mit der <strong>Firewall</strong><br />
interagieren zu müssen.<br />
In der Realität findet man <strong>Firewall</strong>s meist zwischen einem privaten und einem<br />
öffentlichen Netz, wobei dass private als sicher und das öffentliche als unsicher<br />
eingestuft wird (siehe Abbildung 1). Ein gutes Beispiel dafür ist ein kleines<br />
Firmennetzwerk mit einem Anschluss ans Internet. Um das Firmennetzwerk vor<br />
unautorisierten Zugriffen und Angriffen von außen zu schützen, also aus dem<br />
Internet, wird eine <strong>Firewall</strong> zwischen das Firmennetzwerk und das Internet<br />
geschaltet, und jeglicher Datenaustausch durch die <strong>Firewall</strong> geleitet. Dadurch ist<br />
das Firmennetzwerk und die darin enthaltenen Daten geschützt.<br />
Abbildung 1: <strong>Firewall</strong> zwischen 2 Teilnetzen (Quelle: siehe<br />
Literaturverzeichnis, Nr. 1. , Seite 439)<br />
Definition: (Quelle: siehe Literaturverzeichnis, Nr. 1. , Seite 439)<br />
’Eine <strong>Firewall</strong> besteht aus einer oder mehreren Hard- und<br />
Softwarekomponenten, die zwei Netzwerke koppeln und sicherstellen, dass<br />
jeglicher Verkehr zwischen den beiden Netzen durch den <strong>Firewall</strong> geleitet wird.<br />
Er realisiert eine Sicherheitsstrategie, die Zugriffsrestriktionen und ggf.<br />
Protokollierungs- und Authentifizierungsanforderungen umfasst. Der <strong>Firewall</strong><br />
leitet nur diejenigen Pakete weiter, die diese Strategie erfüllen und führt<br />
Authentifikationen und ein Auditing gemäß der festgelegten Anforderungen<br />
durch.’<br />
2
Ein <strong>Firewall</strong>-System bringt dabei einige Vorteile mit sich. Da alle Verbindungen<br />
über den <strong>Firewall</strong>-Rechner laufen, stehen verschiedene Überwachungs- und<br />
Protokollierungsmöglichkeiten zur Verfügung, die nur auf dem <strong>Firewall</strong>-<br />
Rechner selbst installiert sein brauchen, um alle Rechner des internen Netzes zu<br />
schützen. Das senkt den Aufwand für die Sicherheit gewaltig, da man sich nur<br />
auf den <strong>Firewall</strong>-Rechner als Sicherheitsrisiko konzentrieren muss, und nicht auf<br />
alle Rechner des privaten Netzes.<br />
Zum Abschluss der Einführung soll noch erwähnt werden, dass die Rechner, auf<br />
denen eine <strong>Firewall</strong> realisiert wird, aus oben genannten Vorteilen besonders vor<br />
Angriffen von außen zu schützen sind. Könnte der Angreifer z.B. unbeschränkt<br />
auf die <strong>Firewall</strong> selbst zugreifen und diese verändern oder sie einfach umgehen,<br />
kann er dadurch auch auf das als sicher eingestufte interne Netz zugreifen und<br />
seinen gewünschten Aktivitäten nachgehen. Deshalb sollte auf <strong>Firewall</strong>-<br />
Rechnern nur die notwendigste Software fehlerfrei installiert sein, und auf alles<br />
überflüssige und unnötige (wie z.B. eine grafische Benutzeroberfläche)<br />
verzichtet werden, um einer möglichen Bedrohung so wenig wie möglich<br />
Angriffsfläche zu bieten.<br />
2. <strong>Firewall</strong>-Klassen<br />
Um ein <strong>Firewall</strong>-System aufzubauen, stehen in der Praxis verschieden Elemente<br />
zur Verfügung, von denen zwei im folgenden erläutert werden sollen. Diese<br />
lassen sich hauptsächlich nach den Protokollen, auf denen sie aufliegen, und den<br />
daraus resultierenden Funktionen, die sie bieten, unterscheiden.<br />
2.1. Der Paketfilter<br />
Ein erstes Element eines <strong>Firewall</strong>-Systems können einfache Paketfilter sein.<br />
Diese haben den Vorteil, dass sie eine preiswerte und relative einfach<br />
realisierbare Sicherheitskomponente darstellen, da diese in Router integriert<br />
werden, und die Router-Software schon meistens Möglichkeiten zur<br />
Paketfilterung bereit stellt. Dabei zeigt sich vor allem die transparente<br />
Nutzbarkeit der Paketfilter in den Routern als positiv, was heißt, dass der<br />
Benutzer weder mit dem Paketfilter interagieren muss, noch merkt er es, dass<br />
dieser überhaupt existiert.<br />
Die Aufgabe des Paketfilters ist es, diejenigen Datenpakete nach vorher<br />
festgelegten Regeln zu analysieren und zu kontrollieren, die mittels der<br />
Protokolle der Netzwerk- und Transportschicht zwischen einem privaten und<br />
einem öffentlichen Netz übertragen werden (siehe Abbildung 2).<br />
3
Abbildung 2: Paketfilter zwischen den Schichten 3 und 4 (Quelle: siehe<br />
Literaturverzeichnis, Nr. 1. , Seite 441)<br />
Da in der Realität dabei das öffentliche Netz meist das Internet darstellt, sind die<br />
betreffenden Protokolle hauptsächlich TCP und IP. Das heißt für den Paketfilter,<br />
dass nur die Informationen aus dem TCP- und IP-Header zur Filterung zur<br />
Verfügung stehen, also z.B. die Sender- und Empfängeradresse, die Protokoll-<br />
Ports usw. . Die Regeln, die man zur Filterung aufstellt, werden anschließend<br />
meistens in einer Filtertabelle, welche die Form einer Zugriffskontrollmatrix hat,<br />
dargestellt (siehe Abbildung 3).<br />
Abbildung 3: Auszug einer Zugriffskontrollmatrix für eine Universität<br />
(Quelle: siehe Literaturverzeichnis, Nr. 1. , Seite 442)<br />
In diesem Beispiel bedeutet ein *-Eintrag dabei, dass die Adresse bzw. der Port<br />
ein beliebiger sein kann. Man erkennt dabei auf Grund der erlaubten bzw.<br />
verbotenen Ports, dass z.B. DNS- und NTP-Anfragen erlaubt sind und dem<br />
gegenüber z.B. TFTP Zugriffe verboten, da bei diesen Zugriffen keine<br />
Authentifizierung durchgeführt wird.<br />
4
Die Aufstellung solcher Filtertabellen stellt einen großen Nachteil von<br />
Paketfiltern da, da sich dies als sehr kompliziert erweist, und gerade bei großen<br />
unübersichtlichen Filtertabellen schnell ein Eintrag vergessen werden kann,<br />
worunter dann die Sicherheit des gesamten internen Netzes leidet. Um dem<br />
vorzubeugen, sollte alles was nicht explizit erlaubt ist, verboten werden.<br />
Weitere Nachteile des Paketfilters zeigen sich anhand der Tatsache, dass bei den<br />
Informationen, nach denen gefiltert wird, nicht gewährleistet ist, dass diese auch<br />
korrekt sind. Da die Informationen aus den TCP/IP-Headern z.B.<br />
unverschlüsselt übertragen werden, können diese durch einen Angreifer auch<br />
verändert werden. Ein weiterer Nachteil ist die Zustandslosigkeit des Filters,<br />
was zur Folge hat, dass die Filterung der Datenpakete nicht mit Hilfe von<br />
Kontextinformationen oder der Zugriffsvergangenheit erfolgen kann, sondern<br />
immer nur der Inhalt des aktuellen Datenpakets betrachtet wird. Abschließend<br />
zum Thema Paketfilter sind noch die fehlenden Protokollierungs- und<br />
Authentifizierungsmöglichkeiten zu bemängeln, wodurch man Bedrohungen<br />
jedoch schon vorzeitig bekämpfen könnte.<br />
2.2. Der Applikationsfilter<br />
Ein zweites Element eines <strong>Firewall</strong>-Systems kann der Applikationsfilter, auch<br />
Application Gateway genannt, sein. Dieser wird auf der obersten ISO/OSI-<br />
Schicht, der Anwendungsschicht, realisiert. Der Applikationsfilter hat dabei die<br />
Aufgabe, verschiedene Anwendungen zu filtern, was als Vorraussetzung hat,<br />
dass er Kenntnisse über die jeweilige Anwendung haben muss. Dazu muss man<br />
wissen das der Filter als Proxy, d.h. er tritt gegenüber dem Client als Server und<br />
gegenüber dem Server als Client auf, zwischen zwei Netzen nach dem Storeand-Forward<br />
Prinzip arbeitet, was wiederum bedeutet, dass er im Gegensatz<br />
zum Paketfilter nicht jedes einzelne Datenpaket analysiert und filtert, sondern<br />
erst den gesamten Datenstrom einer Anwendung, bevor dieser ggf.<br />
weitergeleitet wird. Um aber überhaupt eine Anwendung zu kontrollieren und zu<br />
filtern kommt noch hinzu, dass ein Proxy für die jeweilige Anwendung im<br />
Applikationsfilter existiert muss.<br />
Um das näher zu erläutern, nimmt man ein einfaches Beispiel, z.B. einen<br />
Applikationsfilter mit FTP-Proxy (siehe Abbildung 4). Will der Client, ein<br />
Benutzer in einem Firemennetzwerk, auf einen FTP-Server zugreifen, wobei ein<br />
Applikationsfilter mit FTP-Proxy dazwischen geschaltet ist, wendet sich der<br />
Client zuerst an den Applikationsfilter. Nun erfolgt ggf. eine Authentifizierung,<br />
die ggf. protokolliert wird. Danach arbeitet der Filter transparent, d.h. der Client<br />
hat das Gefühl, direkt mit dem FTP-Server zu kommunizieren. Der<br />
Applikationsfilter analisiert, filtert und protokolliert ggf. nun alle übertragenden<br />
Daten und kann unterscheiden, ob der Internetbenutzer Befehle wie PUT<br />
(schreiben) oder GET (lesen) an den FTP-Server sendet. Ist nun im FTP-Proxy<br />
5
des Applikationsfilters festgelegt, dass jeglicher schreibende Zugriff auf diesen<br />
FTP-Server verboten ist, werden erst alle PUT-Befehle vom Applikationsfilter<br />
herausgefiltert, bevor der gesamte Datenstrom weitergeleitet wird<br />
Abbildung 4: Applikationsfilter mit verschiedenen Proxies (Quelle: siehe<br />
Literaturverzeichnis, Nr. 1. , Seite 453)<br />
Einer der vielen Vorteile des Applikationsfilters ist neben dieser<br />
anwendungsorientierten Filterung die oben genannte Möglichkeit der<br />
Authentifizierung der Benutzer und Protokollierung der übertragenden Daten.<br />
Dies hat zur Folge, dass festgehalten werden kann, welcher Client zu welchem<br />
Zeitpunkt mit welchem Server kommuniziert hat und welche Daten übertragen<br />
wurden. Auf Grund dieser Tatsache lassen sich anhand auffälliger<br />
Zugriffsmuster Angriffe frühzeitig erkennen und anschließend abwehren. So<br />
kann man als Reaktion auf einen Angriff alle folgenden Versuche des<br />
Angreifers Schaden zu verursachen blockieren.<br />
Doch es existiert auch ein Hauptnachteil beim Benutzen eines<br />
Applikationsfilters. So braucht man für jede Anwendung, die gefiltert werden<br />
soll, einen eigenen Proxy im Applikationsfilter. Existiert nämlich kein Proxy,<br />
wird die komplette Anwendung blockiert. Dies kann vor allem bei propietären<br />
Protokollen, d.h. Protokolle die nicht standardkonform sind, zum Problem<br />
werden, da in Applikationsfiltern meistens nur die wichtigsten Dienste<br />
angeboten werden.<br />
3. <strong>Firewall</strong>-Architekturen<br />
Eine <strong>Firewall</strong>-Architektur ist eine Kombination der verschiedenen Elemente<br />
eines <strong>Firewall</strong>-Systems, also der Kombination von z.B. Paketfiltern mit<br />
Applikationsfiltern. Ausschlaggebend ist dabei die Sicherheit, die eine<br />
Architektur bringt und dass Einsatzgebiet, worauf diese angewendet werden<br />
6
kann. In den folgenden Abschnitten werden zwei von vielen möglichen<br />
Kombinationen näher dargestellt.<br />
3.1. Ein Paketfilter + Single-Homed Applikationsfilter<br />
Eine erste einfache Kombination zwischen <strong>Firewall</strong>-Elementen ist das Benutzen<br />
eines Paketfilters und eines Single-Homed Applikationsfilters. Ein Single-<br />
Homed Applikationsfilter stellt dabei einen Applikationsfilter mit nur einer<br />
Netzwerkschnittstelle da, d.h. die Datenpakete betreten und verlassen den<br />
Applikationsfilter über diese Schnittstelle. Es ist dabei aber nicht sichergestellt,<br />
dass alle Datenpakete den Applikationsfilter auch durchlaufen.<br />
Bei dieser Architektur gibt es zwei Möglichkeiten (Abbildung 5), nämlich das<br />
zuerst das Single-Homed Application Gateway und dann der Paketfilter aus<br />
Sicht des zu schützenden Netzes durchlaufen wird und umgekehrt. Dieser<br />
Abschnitt befasst sich nur mit dem ersteren Fall (Abbildung 5, Linke Seite).<br />
Abbildung 5: Linke Seite: Single-Homed Application Gateway +<br />
Paketfilter (Quelle: siehe Literaturverzeichnis, Nr. 2. , Seite 174)<br />
Rechte Seite: Paketfilter + Single-Homed Application Gateway (Quelle:<br />
siehe Literaturverzeichnis, Nr. 2. , Seite 174)<br />
Bei dieser Art der Architektur steht der Paketfilter als sicherheitskritische<br />
Komponente im Vordergrund. Dieser sollte so eingestellt werden, dass er<br />
jeglichen Datenverkehr aus dem unsicheren Netz nur über den Applikationsfilter<br />
laufen lässt, der nach dem Paketfilter eine zweite Sicherheitshürde für mögliche<br />
Angreifer darstellt. Würde der Paketfilter falsch konfiguriert sein, und die Daten<br />
nicht zum Applikationsfilter weiterleiten, hätte der Angreifer viele<br />
7
Möglichkeiten dem sicheren Netz Schaden zuzufügen, da keine weiteren<br />
Schutzmaßnahmen existieren.<br />
Diese Art der <strong>Firewall</strong> stellt sich als sehr flexibel heraus, da ein Angreifer zuerst<br />
den Paketfilter und das Application Gateway passieren muss, um ins sichere<br />
Netz zu gelangen. Ein Benutzer aus dem sicheren Netz jedoch kann entweder<br />
den Applikationsfilter benutzen oder auch umgehen, was z.B. nützlich ist, wenn<br />
man eine Anwendung benutzt, für die keine Proxies im Applikationsfilter<br />
existieren.<br />
Diese <strong>Firewall</strong>-Architektur bietet kein besonders großes Maß an Sicherheit, da<br />
wie oben schon erwähnt der Paketfilter als Sicherheitskomponente an vorderster<br />
Front agiert und für viele Netze die Sicherheit, die ein Paketfilter bietet, nicht<br />
ausreicht. Deshalb sollte sie nur dann benutzt werden, wenn man sowohl dass<br />
sichere und das unsichere Netz kennt und ggf. überwachen kann, was z.B.<br />
zwischen Abteilungen im Intranet einer Firma der Fall sein kann., wenn man die<br />
Personalabteilung schützen will.<br />
3.2. Zwei Paketfilter als Screened Subnet + Dual-Homed<br />
Applikationsfilter<br />
Eine weitere <strong>Firewall</strong>-Architektur entsteht durch den Einsatz von zwei<br />
Paketfiltern als Screened Subnet und einem Dual-Homed Applikationsfilter. Ein<br />
Screened Subnet ist dabei ein Teilnetzwerk, dem jeweils ein Paketfilter vor- und<br />
nachgeschaltet wird. Dieses wird oft auch als demilitarisierte Zone bezeichnet.<br />
Ein Dual-Homed Applikationsfilter ist ein Applikationsfilter mit zwei<br />
Netzwerkschnittstellen, sodass die Datenpakete den Applikationsfilter durch<br />
eine Schnittstelle betreten und über die zweite wieder verlassen können.<br />
In dieser Architektur befindet sich der Applikationsfilter im Screened Subnet<br />
(Abbildung 6), genauer gesagt zwischen beiden Paketfiltern. So ist er zum einen<br />
vor Angriffen aus dem sicheren als auch aus dem unsicheren Netz geschützt.<br />
Das Screened Subnet wird dabei zwischen das unsichere und das zu schützende<br />
Netz gelegt.<br />
8
Abbildung 6: Zwei Paketfilter als Screened Subnet + Dual-Homed<br />
Applikationsfilter (Quelle: siehe Literaturverzeichnis, Nr. 2. , Seite 180)<br />
Diese Art der <strong>Firewall</strong>-Architektur wird auch als High-Level Security <strong>Firewall</strong><br />
System bezeichnet, da es ein Höchstmaß an Sicherheit bietet. So ist der<br />
Applikationsfilter von beiden Seiten her durch Paketfilter geschützt und kann<br />
nicht umgangen werden, d.h. alle Datenpakete müssen durch ihn durch. Das<br />
zieht jedoch wieder einen Nachteil mit sich, da für jeden Dienst, den man nutzen<br />
will, auch die Proxies im Applikationsfilter existieren müssen. Diese<br />
Kombination wird eingesetzt, wenn man das unsichere Netz weder genau kennt<br />
noch überwachen kann, weshalb ein größeres Gefahrenpotenzial davon ausgeht.<br />
Deshalb wird sie häufig bei der Verbindung von einem Firmennetzewerk mit<br />
Internet genutzt<br />
4. Grenzen von <strong>Firewall</strong>-Systemen<br />
Zum Abschluss des Themas <strong>Firewall</strong>-<strong>Technologie</strong> werden Grenzen von<br />
<strong>Firewall</strong>-Systemen aufgezeigt, die durch die <strong>Firewall</strong>-Systeme nicht selbst<br />
gelöst werden können.<br />
Ein erstes Problem von <strong>Firewall</strong>-Systemen auf den Punkt Sicherheit bezogen<br />
sind Bedrohungen, die sich aus den übertragenden Daten ergeben. So können<br />
<strong>Firewall</strong>s weder Viren, Trojaner noch andere Bedrohungen abwehren, die sich<br />
aus dem Inhalt der Datenpakete zusammensetzen. Das geht aus der Menge der<br />
Möglichkeiten hervor, wie man zur heutigen Zeit Daten kodieren und<br />
9
komprimieren kann. Deshalb sollte zu einem effektiven Schutz eines System<br />
auch stets ein aktueller Virenscanner installiert sein.<br />
Ein anderes Problem ist die innere Bedrohung, die aus dem Netz, dass man<br />
eigentlich schützen will, stammt. Wie am Anfang bereits erwähnt, schottet eine<br />
<strong>Firewall</strong> zwei unterschiedliche Netze voneinander ab, verhindert aber nicht<br />
Bedrohungen, die aus dem selben Netz kommen. So kann ein Angreifer dem zu<br />
schützenden Netz Schaden zufügen, in dem er über einen Computer des inneren<br />
Netzes sich Zugang zum gesamten inneren Netz selbst verschafft und dort<br />
seinen Absichten verwirklicht. Aus diesem Grund sollte man zum einen nie mit<br />
sicherheitskritischen Daten leichtsinnig umgehen oder vollkommen auf die<br />
Sicherheitswirkung einer <strong>Firewall</strong> vertrauen, zum anderen sollte ein<br />
umfassendes Sicherheitsmanagement und interne Kontrollen in z.B. einer Firma<br />
stets zum Alltag gehören.<br />
Abschließend lässt sich sagen, dass <strong>Firewall</strong>s ihren Teil zur Sicherheit von<br />
Netzen erheblich beitragen. Jedoch sollte man auch stets im Gedächtnis<br />
behalten, dass diese immer nur auf bereits bestehende Sicherheitslücken<br />
reagieren und sozusagen vorhandene Löcher stopfen. Das eigentliche<br />
Kernproblem, nämlich das aktive Einbeziehen des Themas Sicherheit beim<br />
Entwickeln von Software, wird mit einer <strong>Firewall</strong> nicht beseitig. Die <strong>Firewall</strong><br />
dient nur als eine Art Maßnahme, die Auswirkungen vorhandener<br />
Sicherheitsmängel einzugrenzen und diese nicht selbst zu beheben.<br />
5. Literaturverzeichnis<br />
1. Claudia Eckert: "IT-Sicherheit", Oldenbourg Wissenschaftsverlag GmbH,<br />
2001, Abschnitt 11.1<br />
2. Norbert Pohlmann: "<strong>Firewall</strong>-Systeme – Sicherheit für Internet und<br />
Intranet", 2. aktualisierte und erweiterte Auflage, MITP-Verlag GmbH,<br />
1998, Abschnitt 5 und 6<br />
3. William R. Cheswick, Steven M. Belovin, Aviel D. Rubin: "<strong>Firewall</strong>s und<br />
Sicherheit im Internet – Schutz vor cleveren Hackern", 2. aktualisierte<br />
Auflage, Addison-Wesley Verlag, 2004, Abschnitt 9 und 11<br />
4. Othmar Kyas: "Sicherheit im Internet", International Thomson<br />
Publishing, 1998, Abschnitt 13, 14 und 15<br />
5. Wikipedia, die freie Enzyklopädie, unter dem Begriff Paketfilter und<br />
<strong>Firewall</strong>:<br />
o http://de.wikipedia.org/wiki/Paketfilter<br />
o http://de.wikipedia.org/wiki/<strong>Firewall</strong><br />
10