Donnerstag, 27. Oktober 2005 |
Topthema
Die Firewall ist ein zentraler Bestandteil aller Schutzmaßnahmen,
wenn zwei oder mehr Netze miteinander verbunden werden. Sie besteht aus
einem oder mehreren Paketfiltern und Application Level Gateways und dem
zugehörigen organisatorischen und technischen Konzept. In dieser Folge
erfahren Sie, wie ein Paketfilter arbeitet.
Einige Kenntnisse des TCP/IP-Protokolls sind für das Verständnis
der Firewall hilfreich. Der Aufbau der jeweiligen Pakete, insbesondere
der
Header, wird immer dann erklärt, wenn es notwendig ist. Der Aufbau der
Protokollschichten wird im Folgenden kurz zusammengefasst:
Grundlage: Das TCP/IP-Schichtenmodell
Das TCP/IP-Protokoll basiert auf vier Schichten. Jede davon
leitet die
Daten beim Senden von der übergeordneten an die nächsttiefere
Schicht weiter und fügt dabei die eigenen Verwaltungsinformationen
hinzu. Beim Empfang werden entsprechend jeweils nur die auf der
jeweiligen
Schicht der Gegenseite hinzugefügten Informationen ausgewertet.
- Netzzugangsschicht
- Die Netzzugangsschicht bildet die Schnittstelle zur
verwendeten Netzwerktechnologie, z.B. Ethernet. Sie kennt die Struktur
und Adressierung des zu Grunde liegenden Netzes.
Für die Zuordnung der Hardwareadresse des Netzwerks zur IP-Adresse des
Betriebssystems wird das Address Resolution Protocol (ARP, definiert in
RFC 826) verwendet.
Auf der Netzzugangsschicht kommunizieren Systeme innerhalb eines
Netzwerks direkt miteinander, ohne auf die Unterstützung durch andere
Systeme angewiesen zu sein.
- Netzwerkschicht
- Die Netzwerk- oder Internetschicht ist für die
Kommunikation zwischen Systemen in verschiedenen Netzwerken zuständig.
Die Kommunikation erfolgt über das Internet Protocol (IP, RFC
791). IP ist ein verbindungsloses Protokoll, d.h. es erlaubt
den Austausch von Daten zwischen zwei Systemen ohne vorherigen
Verbindungsaufbau. Es findet weder eine Überprüfung der korrekten
Übertragung noch eine Fehlererkennung statt. Fehlerhafte Pakete, die
nicht rekonstruiert werden können, werden verworfen.
Das Internet Control Message Protocol (ICMP, RFC
792) dient dem Austausch von Statusinformationen zwischen den
IP-Implementierungen verschiedener Systeme.
Anhand von Routing-Tabellen wird entschieden, auf welchem Weg ein
IP-Paket an welches andere System geschickt werden muss, um den
gewünschten Empfänger zu erreichen.
- Transportschicht
- Die Transportschicht stellt eine Verbindung zwischen zwei
Endpunkten der jeweiligen Anwendung her.
Zur Adressierung der Anwendung werden die so genannten Ports verwendet (Liste bekannter Ports).
Das Transport Control Protocol (TCP, RFC
793) ist ein verbindungsorientiertes Protokoll: Nach dem
Verbindungsaufbau ist sichergestellt, dass die von der
Anwendungsschicht des sendenden Systems an das TCP übergebenen Daten
fehlerfrei und in der richtigen Reihenfolge an die Anwendungsschicht
des empfangenen Systems übermittelt werden oder das sendende System
eine entsprechende Fehlermeldung enthält.
Das User Datagram Protocol (UDP, RFC
768) ist ein verbindungsloses Protokoll. Es wird vor allem
zur Übertragung kleiner Datenmengen verwendet, bei denen sich der
Aufbau einer sicheren Verbindung nicht lohnt. Das Fehlen jeglicher
Sicherheitsfunktionen führt dazu, dass UDP-Pakete sehr leicht zu
fälschen sind.
- Anwendungsschicht
- Auf der Anwendungsschicht ist eine Vielzahl von
Protokollen angesiedelt, z.B. das Hypertext Transfer Protocol (HTTP, RFC
2616) und HTTP Over TLS (HTTPS, RFC
2818) für den Transport von Webseiten oder das Simple Mail
Transfer Protocol (SMTP,
RFC 821), das Post Office Protocol (POP3, RFC
1939) und das Internet Message Access Protocol (IMAP, RFC
3501) für den Transport von E-Mails.
Der Paketfilter
Der Paketfilter arbeitet auf der Netzzugangs-, Netzwerk- und
Transportschicht des TCP/IP-Schichtenmodells. Die Header aller
empfangenen
Pakete (IP, ICMP, TCP und UDP) werden ausgewertet und mit vorgegebenen
Filterregeln verglichen. Ausgewertet werden z.B. Sende- und
Zieladresse,
Portnummer der Anwendung sowie TCP-Statusinformationen. Die
Filterregeln
bestimmen, welche Pakete mit welchen Eigenschaften den Paketfilter in
welcher Richtung passieren dürfen bzw. abgewiesen werden.
Ein erstes Beispiel
Aus dem Internet soll auf den Webserver mit der Adresse
80.237.217.196
über HTTP zugegriffen werden. Die Regeln für einen vor dem
Webserver positionierten Paketfilter sehen folgendermaßen aus:
| Nr. |
Senderadresse |
Port |
Zieladresse |
Port |
Protokoll |
Flags |
Aktion |
|
| 1. |
0.0.0.0 |
>= 1024 |
80.237.217.196 |
80 |
TCP |
|
permit |
| 2. |
80.237.217.196 |
80 |
0.0.0.0 |
>= 1024 |
TCP |
ACK |
permit |
| 3. |
0.0.0.0 |
any |
80.237.217.196 |
any |
any |
any |
reject |
- Regel 1 erlaubt (permit)
die Durchleitung von Paketen von einem beliebigen
Absender (0.0.0.0) an den Webserver, wenn der Zielport 80 ist und die
Anfrage von einem Port ab 1024 kommt. Port 80 ist der für HTTP
reservierte Port.
- Regel 2 erlaubt die
Durchleitung der Antworten des Webservers; diese Pakete haben das
Acknowledgement-Flag (ACK) gesetzt.
- Regel 3 sorgt dafür, dass alle
anderen Pakete zurückgewiesen werden.
In dieser Folge lernten Sie die Grundlagen des TCP/IP-Schichtenmodells
und von Paketfiltern kennen. In der
nächsten
Folge
wird die Filterung der Daten durch den Paketfilter näher betrachtet.
Wenn
Sie Fragen oder Themenvorschläge haben, können Sie
diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum
einbringen!
Carsten
Eilers
About Security – Übersicht zum aktuellen Thema "Firewall"