Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 MBK-LABORVERSUCH Firewall Grundlagen Grundlagen zur Versuchsdurchführung im Fach Multimediale Breitbandkommunikation (MBK) Autoren: Stephanie Endlich Stephan Gitz Matthias Härtel Thomas Hein Prof. Dr. Richard Sethmann Hochschule Bremen Fachbereich Elektrotechnik und Informatik Studiengang Medieninformatik Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 1/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 In dieser Versuchsbeschreibung sollen grundlegende Begriffe eingeführt werden, die für das Verständnis des Versuches vonnöten sind. Da die Beschreibung sich auf den Versuch konzentriert, wird empfohlen sich bei weitergehendem Interesse über die angegebenen www-Links zu informieren, gleichzeitig wird auf das vorliegende Vortragsmaterial zum Versuch verwiesen. Inhalt: Versuch 1: 1. Einführung zum Thema Firewalls / Demilitarisierte Zone (DMZ) 2. Grundlagen zu LAN-Topologien 3. Protokolle: a. TCP b. UDP c. IP d. ICMP e. Portvergabe 4. Telnet 5. Statische Routen 6. NAT Versuch 2: 1. 2. 3. 4. 5. 6. Accesslisten (ACLs) Acceptable Use Policy (AUP) FTP (aktiv und passiv) Kommunikationscharakteristika von Web-, Mail-, FTP- und DNS-Servern Portscanner Weitere Links, Büchertipps Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 2/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen zum Versuch 1: 1. Einführung zum Thema Firewalls / Demilitarisierte Zone (DMZ) Eine Definition von Firewall: Eine Firewall ist ein organisatorisches und technisches Konzept zur Trennung von Netzbereichen, dessen korrekte Umsetzung und dauerhafte Pflege. Es schützt das dazu gehörende Netzwerk vor unberechtigten Zugriffen oder auch Angriffen. a) Ein Firewall-Konzept: Paketfilter Paketfilter sind Filter, die ab OSI-Layer 3 die einzelnen Pakete eines Protokolls untersuchen. Sie sind an einzelne Interfaces gebunden und werden durch Router realisiert. Paketfilter können in den Router eingehende oder ausgehende Pakete untersuchen, je nach Richtung werden spezielle Regeln aufgestellt. Auf der Netzwerkschichtebene werden die Ziel- und Quelladressen, sowie die Art des Protokolls überprüft. Auf der Ebene der Transportschicht werden die Portnummern kontrolliert. Paketfilter sind durch ihre Filterketten an bestimmte Schnittstellen gebunden. Man unterscheidet statische und dynamische Paketfilter. Statische Paketfilter bestehen aus einem festen Regelsatz und werden anhand der Acceptable Use Policy (AUP) an das entsprechende Interface gebunden. Dynamische Paketfilter haben einen Regelsatz, der von der Firewall selbst als Reaktion auf bestimmte Ereignisse modifiziert wird, abhängig von der Art des Verbindungsaufbaus werden Verbindungen zugelassen oder geblockt. Statische und Dynamische Paketfilter werden anhand von Accesslisten (ACLs) implementiert. Gebräuchliche Regeln zum Aufstellen von Paketfiltern werden durch sogenannte Policies definiert. Default Policies, also standardmäßige Voreinstellungen, lauten beispielsweise: „Alles ist erlaubt.“ oder „Alles ist verboten.“ – was im ersten Fall bedeutet, dass nicht benötigte Ports gesperrt werden, im zweiten Fall werden nur die benötigten Ports geöffnet. Die Default Policy bei Cisco-Routern sind so eingestellt, dass alles, was nicht explizit erlaubt, verboten ist. Datenverkehr muss also anhand sogenannter Accesslisten ausdrücklich erlaubt werden. b) Die Architektur – Demilitarisierte Zone (DMZ) Neben der Zentralen Firewall und Gestaffelten Firewall existiert eine dritte Architektur, die Demilitarisierte (DMZ) Zone (oder auch Entmilitarisierte Zone genannt). Eine DMZ ist Teil eines Lokalen Netzwerks und trennt das interne LAN vom Internet bzw. Öffentlichem Netz ab. Das interne LAN muss auf dem Weg ins Internet also die DMZ durchlaufen, während der umgekehrte Weg aber verboten sein soll. In der DMZ befinden sich Dienste, die vom Öffentlichen Netz aus (wie beispielsweise der Webserver, der eine Internetseite einer Firma nach außen freigibt) erreichbar sein sollen. Um zu verhindern, dass jegliche Sicherheitslücken von außen ausgenutzt werden, wird so von vorneherein festgelegt, dass Verbindungen aus dem Internet nur bis in diese Zone gelangen. Angreifbare Dienste werden somit in eine DMZ ausgelagert, so dass diese vom internen LAN völlig abgetrennt sind. Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 3/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Unsicheres Netz Internes LAN Prof. Dr. Richard Sethmann DMZ Datei V1_2_Grundlagen_Firewalls.doc 4/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 2. Grundlagen zu LAN-Topologien Grundlagen der RTK-Vorlesung werden vorausgesetzt. Hier eine kurze Wiederholung: Hubs, oder auch Multiport-Repeater genannt, sind Geräte, die auf Layer 1 arbeiten. Jedes Signal, das an einem Port des Hubs ankommt, wird aufgefrischt, synchronisiert und dann an alle Ports weitergeschickt. Es findet keine Filterung des Netzverkehrs statt. Switches, oder auch Multiport-Bridges genannt, sind Geräte der Schicht 2 (Anmerkung: es existieren auch Switches, die auf Layer 3 arbeiten). Im Gegensatz zu Hubs treffen sie Entscheidungen der Weiterleitung von Paketen anhand der MAC-Adressen, Daten werden also nur an bestimmte Ports und nicht an alle weitergesendet. 3. Protokolle: Einführung in die Internetprotokolle Ein Protokoll hat die Aufgabe, die Kommunikation zwischen Netzwerkkomponenten zu regeln, so dass eine störungsfreie Übertragung möglich ist. Mindestens zwei Komponenten können so miteinander in der gleichen Art und Weise kommunizieren. Es können so unabhängig von der physikalischen Eigenschaft Daten ausgetauscht werden. Kommunikationspartner müssen daher entsprechend adressiert werden, so dass eine Steuerung des Datenflusses überhaupt stattfinden kann. Um den Datenfluss richtig zu steuern, muss ein Protokoll auch Fehlerroutinen und Fehlerbehebungsmechanismen bereitstellen. Grundsätzlich gibt es zwei Arten von Protokollen, verbindungsorientierte und verbindungslose Protokolle. Verbindungsorientiert heißt, dass bevor überhaupt der eigentliche Datenaustausch stattfindet eine Verbindung zum Kommunikationspartner aufgebaut wird (Beispiel: TCP). Bei verbindungslosen Protokollen werden die eigentlichen Daten direkt gesendet, d.h. der Sender bekommt keine Bestätigung, dass die Verbindung zum Empfänger ordnungsgemäß aufgebaut wurde bzw. dass die Daten angekommen sind (Beispiel: UDP). a. Transmission Control Protocol (TCP): TCP ist ein Protokoll der Transportschicht (Layer 4) und arbeitet verbindungsorientiert. Verbindungsorientiert heißt, dass eine Verbindung zu einem Rechner explizit auf- aber auch abgebaut wird. Es sorgt für eine Datensegmentierung. Die Kommunikationspartner einigen sich beim Verbindungsaufbau über die Größe der zu sendenden Daten. Der ankommende Datenstrom wird von TCP wieder zusammengesetzt, so dass die darüber liegenden Schichten nichts von der Segmentierung mitbekommen. Anhand von Prüfsummen, Empfangsquittung, Sequenznummern und Zeitüberwachung sorgt TCP über das 3-Wege-Handshaking für eine sichere Datenübertragung, TCP gilt damit als zuverlässiges Protokoll. Das 3-Wege-Handshaking sorgt für eine Flusskontrolle der Daten. Es ist Grundlage dafür, dass alle nicht angekommenen Daten erneut an den Zielrechner gesendet werden und sorgt für eine Synchronität der Ende-zu-Ende-Verbindung. Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 5/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Ablauf des 3-Wege-Handshaking: Verbindungsaufbau: Rechner A Rechner B sendet SYN-Segment seq=x empfängt SYN-Segment sendet SYN seq=y, ACK: x+1 empfängt SYN + ACK sendet ACK: y+1 empfängt ACK-Segment Verbindungsabbau: Rechner A Rechner B sendet FIN-Segment seq=x empfängt FIN-Segment sendet FIN seq=y, ACK: x+1 empfängt FIN + ACK sendet ACK: y+1 empfängt ACK-Segment Erklärung: Seq: Sequenznummer SYN: Synchronisations-Flag, signalisiert einen Verbindungsaufbau ACK: Acknowledge-Flag, signalisiert eine bestehende Verbindung FIN: FIN-Flag, signalisiert einen Verbindungsabbau TCP sorgt für eine Datenübertragung im Vollduplex-Modus. Das TCP Segment besteht aus dem TCP Header und den Daten variabler Länge. Diese wird bei dem jeweiligen Verbindungsaufbau festgelegt. Jedes Segment bekommt eine Nummer zugewiesen, die die Reihenfolge der Daten im gesamten Datenstrom festhält. Anhand einer Prüfsumme Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 6/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 wird jedes Segment einzeln auf Fehlerhaftigkeit geprüft, bei Feststellung von Fehlerhaftigkeit oder Duplikation eines Segments wird dieses verworfen. Jedes TCP Segment wird in etwa auf ein IP-Paket abgebildet. Im Folgenden werden die einzelnen Felder des Segments aufgezählt: - Source Port: Port des Senders - Destination Port: Port des Empfängers - Sequence Number: Sequenznummer, die zur Sicherung einer korrekten Sequenzierung der ankommenden Daten benutzt wird - Acknowledgment Number: Bestätigungsnummer, die das als nächstes erwartete TCP-Octet anzeigt - HLEN: Headerlänge, in 32-Bit Worten - Reserved – auf Null gesetzt - Code Bits – Kontrollfunktionen um beispielsweise eine Sitzung zu beginnen oder zu beenden, Beispiele: URG, ACK, PSH, RST, SYN, FIN - Window – Anzahl von Octets, die der Sender aufnehmen kann - Checksum – berechnete Summe eines Headers und des Datenfeldes - Urgent Pointer – Dringlichkeitszeiger, zeigt auf das Ende dringender Daten im TCP-Datenfeld - Option-one Option – maximale Größe des TCP Segments - „Padding“ - Fülldaten - Data – Daten des darüber liegenden Protokolls Die maximale Größe des Sendefensters liegt bei 216 Bytes. Der Sender bestimmt die (variable) Größe der zu sendenden Daten durch die Window Size oder auch Windowing genannt. Anhand von Sliding Window wird versucht, Daten so effizient wie möglich zu übertragen. TCP ist ein ideales Protokoll für sitzungsbasierte Datenübertragungen und Client-ServerAnwendungen. TCP/IP: Das Transmission Control Protocol/Internet Protocol ist ein standardisiertes Transportprotokoll, das eine sichere Verbindung zwischen heterogenen Netzwerken garantieren soll. Gleichzeitig definiert TCP/IP auch eine Protokoll-Suite, d.h. es ist eine Sammlung von verschiedenen Protokollen und Diensten. Cisco-Curriculum – Semester 1 – Chapt 12 – TCP und UDP b. User Datagram Protocol (UDP) Das User Datagram Protokoll ist ebenfalls ein Protokoll der Transportschicht, dem Layer 4 des OSI-Models. UDP arbeitet anders als TCP verbindungslos und stellt damit ein unzuverlässiges Protokoll dar. Nachrichten werden in der Form von User Datagrams übertragen. Eine Überprüfung, ob Daten angekommen sind oder nicht, bzw. eine Bestätigung durch den Zielrechner, Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 7/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 findet nicht statt. Eine korrekte Übermittlung der Reihenfolge kann ebenfalls nicht als gesichert gelten, eine Flusskontrolle existiert nicht. Das UDP Segment teilt sich wie TCP ebenfalls in einzelne Datenfelder auf. Diese sind: - Source Port: Port des Senders - Destination Port: Port des Empfängers - Length: Länge des Segments - Checksum: Prüfsumme - Data: Nutzdaten Anders als bei TCP werden keine Sequenznummern und keine Bestätigungsnachrichten übertragen. Um eine fehlerhafte Übertragung zu erkennen und ein erneutes Senden zu veranlassen, müssen andere Protokolle benutzt werden. Der Vorteil bei diesem Protokoll ist, dass Netzwerkressourcen im Gegensatz zu TCP weniger belastet werden. TCP und UDP benutzen dieselben Ports. Portnummern sind nützlich, um den Datenaustausch im Netz aufrechterhalten zu können und mit entsprechenden Anwendungen kommunizieren zu können. Ports werden neben der IP-Adresse zur Adressierung benutzt. Cisco-Curriculum – Semester 1 – Chapt 12 – TCP und UDP c. Internet-Protokoll (IP) Aufbau: IP ist ein verbindungsloses Protokoll der Netzwerkschicht, das Daten von der Transportschicht übernimmt und an die untere Schicht weiterleitet. Der Datenstrom wird vom Sender in Pakete entsprechender Länge zerlegt, diese werden wiederum beim Empfänger zusammengesetzt und an die obere Schicht weitergeleitet. In jedem IP-Paket ist eine Ziel- und eine Quelladresse angegeben, so dass beispielsweise Router anhand der Zieladresse entscheiden, wie und wohin das Paket weitergeleitet werden soll. IP fragmentiert also die Datenpakete bei Bedarf und adressiert jedes einzelne Paket mit einer 32-Bit Adresse. Die maximale Größe eines Paketes beträgt 64 KBytes. IP-Adressierung: Jeder Host und Router hat im Internet eine öffentliche IP-Adresse. Diese Adresse besteht aus einem Netz- und einem Host-Teil und wird normalerweise in Form von gepunkteten Dezimalzahlen geschrieben. Beispiel: 192.41.6.20. D.h. sie besteht aus 4 Byte (4 x 8Bits), die durch Punkte voneinander getrennt werden. Die niedrigste IP-Adresse ist 0.0.0.0, die höchste 255.255.255.255 (28=256). Anhand der Netzadresse kann der Router entscheiden, in welches Netz ein Paket geschickt werden soll. Zusätzlich werden zu jeder IP-Adresse Subnetzmasken definiert. Subnetzmasken sind ebenfalls wie IP-Adressen 32-Bit-Adressen und werden benutzt, um eine IP-Adresse in weitere Subnetze unterteilen zu können. Weiter unterscheidet man noch Öffentliche und Private Adressen. Private Adressen sind für den internen Gebrauch vorgesehen und werden daher keiner Organisation zugewiesen. Diese Adressen wurden von IANA (Internet Assigned Numbers Authority) festgelegt: 10.0.0.0 bis 10.255.255.255 172.16.0.0 bis 172.31.255.255 192.168.0.0 bis 192.168.255.255 Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 8/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Diese Adressen werden im Internet nicht geroutet. Man unterscheidet folgende Standard-Subnetzmasken innerhalb der verschiedenen Netzwerkklassen: Class-A-Adressraum besitzt folgenden Host-Adressbereich: 1.0.0.0 bis 127.255.255.255 Class-B-Adressraum besitzt folgenden Host-Adressbereich:128.0.0.0 bis 191. 255.255.255 Class-C-Adressraum besitzt folgenden Host-Adressbereich: 192.0.0.0 bis 223. 255.255.255 Address Class Bits der Subnet-Mask Subnet-Mask Network Prefix Class A 11111111 00000000 00000000 00000000 255.0.0.0 /8 Class B 11111111 11111111 00000000 00000000 255.255.0.0 /16 Class C 11111111 11111111 11111111 00000000 255.255.255.0 /24 (Anmerkung: Es existiert auch noch eine D- und E-Klasse, ersteres ist für den Bereich Multicast reserviert, zweites für die zukünftige Nutzung) Standard-Subnetzmasken reichen jedoch nicht aus, um eine IP-Adresse in mehrere Adressräume aufzuteilen, mit Hilfe von Subnetting ist dies jedoch möglich. Subnetting bedeutet eine Unterteilung eines Netzwerkes in logische Subnetzwerke. Wie Subnetting funktioniert bzw. wie diese speziellen Subnetzmasken aufgestellt werden, kann in der Zwischenpräsentation oder im Cisco-Curriculum nachgelesen werden. Ein Defaultgateway ist eine festgelegte IP-Adresse in der Routingtabelle des Routers, die gewährleistet, dass Verbindungen, deren Zieladresse nicht in der Tabelle definiert ist, an diese Adresse weitergeleitet werden. Cisco-Curriculum Semester 1 – 10.1 - Subnetting d. ICMP Das ICMP-Protokoll ist in das IP-Protokoll integriert und ergänzt dieses um Statusinformationen. Ein Empfänger kann beispielsweise aufgefordert werden, auf eine ICMP-EchoAnforderung mit einer Echo-Antwort zu reagieren. Sollte keine Antwort eintreffen, kann normalerweise davon ausgegangen werden, dass der Zielhost nicht erreichbar ist. In der Praxis wird das Protokoll über den Ping-Befehl in der Eingabeaufforderung ausgeführt. Das IP-Netz funktioniert nicht ohne ICMP. Weitere Literatur: http://einstein.informatik.uni-oldenburg.de/rechnernetze/icmp.htm Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 9/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 4. Portvergabe Portnummern sind nützlich, um den Datenaustausch im Netz aufrechterhalten zu können und mit entsprechenden Anwendungen kommunizieren zu können. Portnummern werden neben der IP-Adresse zur Adressierung benutzt. TCP und UDP benutzen dieselben Ports. Bestimmte Portnummern sind fest vergeben: Mail: SMTP: 25, POP3: 110 FTP: 20/21 DNS: 53 http:: 80 Cisco-Curriculum – Semester 1 – Chapt 12 – TCP und UDP 5. Telnet Anhand von Telnet kann man feststellen, ob ein Verbindungsaufbau zum Zielrechner bis in die Anwendungsschicht möglich ist. Zum Einloggen in den Zielrechner ist ein Username und ein Passwort erforderlich. Telnet überträgt das Passwort in Klartext und kann daher im Versuch gut mit Ethereal herausgelesen werden. Cisco-Curriculum: Semester 1 - Chapt 15.4.1, Semester 2 – Chapt 10.3.2 6. Statische Routen Statische Routen werden beispielsweise auf Hosts oder Routern eingestellt, wenn man den Kommunikationsweg vorgeben oder wenn man den Einsatz eines Routingprotokolls unterbinden will. Cisco-Curriculum – Semester 2 – Chapt 11.2 7. NAT Network-Address-Translation ist ein Verfahren, um IP-Adressen von Rechnern in einem lokalen Netz in eine bestimmte Adresse zu übersetzen. Meist kommt NAT zum Einsatz, wenn Private Adressen in Öffentliche Adressen umgesetzt werden sollen. Eine Anbindung in ein anderes Netz ist so einfach möglich. NAT wird auf Routern anhand einer Zuordnungstabelle implementiert, in der pro Verbindungsaufbau jeweils die IP-Adressen mit den Port-Nummern zugeordnet werden. Probleme tauchen insbesondere bei der Zuordnung von Protokollen zu den Ports bzw. den IP-Adressen auf, da UDP ein verbindungsloses Protokoll und damit in den Sessions nicht so einfach zu erkennen ist wie das TCP-Protokoll. Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 10/17 FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen Firewall MBK-Labor NAT-Beispiel Es existieren zwei Typen von NAT: - Source NAT: Quelladresse des ersten Pakets wird verändert AnfrageNAT: 1 Zieladresse des ersten Pakets wird verändert - Destination aus.. Æ 210.93.105.201:80 Weitere Informationen192.168.0.101:1025 zu NAT sind in der Zwischenpräsentation zu finden. wird… 204.204.7.1:33385 Æ Ausgangsadressen 210.93.105.201:80 Bei der Implementierung von NAT muss ein Pool für die definiert werden. Als nächstes muss eine ACL mit den internen Adressen angelegt werden und danach Nat an2 den entsprechenden Interfaces angebunden werden. Anfrage Weiter Hilfestellungen sind im Cisco-Pedia zu finden. aus.. 192.168.0.100:1025 Æ 210.93.105.201:80 wird… 204.204.7.1:33386 Æ 210.93.105.201:80 Antwort 1 192.168.0.101:1025 Å 204.204.7.1:33385 Å 210.93.105.201:80 Antwort 2 192.168.0.100:1025 Å 204.204.7.1:33386 Å210.93.105.201:80 Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 11/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen zum Versuch 2: 1. Accesslisten (ACLs) Accesslisten oder auch Access Control Lists sind Teil einer Firewall und haben die Funktion, Netzverkehr zu filtern. IP-Adressen und höhere Protokolle (upper-layer protocols) werden anhand dieser Tabellen zwischen Quell- und Zielrechner (auch Ports) verwaltet. Jedes Packet wird mit Hilfe der Accessliste geprüft und entsprechend weitergeleitet oder geblockt. Für jedes Protokoll müssen die Filter-Bedingungen einzeln für jedes Interface definiert werden. Die Filterung an den Interfaces kann bei Eintreffen oder bei Austreten der Daten geschehen. Die Reihenfolge der Bedingungen ist wichtig, da beispielsweise Ablehnungen von bestimmten Paketen nach Freigabe aller Pakete nicht mehr beachtet werden, da, wenn eine erste Bedingung zutrifft, nachfolgende Bedingungen nicht mehr beachtet werden. Am Ende einer jeden ACL steht ein implizites „deny any“, d.h. alles, was nicht explizit erlaubt ist, ist verboten. ACLs können in einem Standardmodus (standard ACLs) oder in einem erweitertem Modus (extended ACLs) bearbeitet werden. Standard ACLs erlauben es nur, den gesamten Datenverkehr von einem Netz oder einer Protokollgruppe zuzulassen oder abzuweisen. Sie prüfen von daher die Absenderadresse eines Paketes. Im Gegensatz dazu können bei Extended ACLs komplexere Adressspezifikation-en und ganz bestimmte Protokolle zugelassen oder abgewiesen werden. Je nach Modus muss man die Accessliste mit der entsprechenden Accesslistennummer versehen, die Nummern 1 bis 99 stehen für die Standard Accesslisten, 100 bis 199 für die erweiterten. Anhand von IP-Adressen und sogenannter Wildcard-Masken kann definiert werden, welcher Teil der IP-Adresse überprüft werden soll. Eine Wildcard-Maske besteht aus 32-Bit (4 mal 8 Bits bzw. 4 Oktetten) und beschreibt, welche Bits der IP-Adresse geprüft werden sollen. „0“ steht für „überprüfen des entsprechenden Bit-Wertes“, „1“ für „nicht prüfen des entsprechenden Bit-Wertes“. D.h. 0.0.0.0 hinter der IP-Adresse lässt alle einkommenden Bits der Adresse prüfen, 0.0.0.255 prüft nur die ersten drei Oktetts in einer IP-Adresse, bei 255.255.255.255 („255“ entspricht „1“) werden keine der ankommenden Bits geprüft usw.. Nach Definition einer ACL wird diese einem oder mehreren Routerinterfaces „außen“ oder „innen“ zugeordnet. Es kann nur eine ACL pro Router-Port und Richtung angelegt werden. Wenn Bedingungen einer ACL geändert werden sollen, muss die gesamte Tabelle gelöscht und wieder neu erstellt werden. Im Unterschied zu einfachen ACLs können bei den erweiterten ACLs sowohl die Quell- als auch Zielrechneradressen überprüft werden. Spezifische Protokolle, Portnummern und andere Parameter können nur in diesem Modus gefiltert werden. Einfache Listen prüfen nur die Quelladresse und erlauben oder verweigern dann gesamte Protokollgruppen. Syntax einer ACL ist unter CiscoPedia nachzuschlagen oder ist in der Zwischenpräsentation zu finden. Cisco-Curriculum: Semester 3 – Kapitel 6 Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 12/17 FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen Firewall MBK-Labor 2. Acceptable Use Policy (AUP) Eine AUP ist die Grundlage für ein Sicherheitskonzept, in der die Regeln für die umzusetzende Topologie definiert sind. 3. File Transfer Protocol (FTP) Es sind hier zwei Arten von File-Transfer auf TCP-Ebene zu unterscheiden: aktiv und passiv. Im aktiven Modus baut der anfragende Rechner eine Verbindung von einem Port, der größer als Port 1023 ist, zum Port 21 des Servers auf (-> Kommando-Kanal). Der Server bestätigt die Verbindung und baut eine Verbindung von seinem Port 20 zu einem Port der größer als Port 1023 des Client auf (Daten-Kanal). Im passiven Modus werden die Verbindungen vom Client aus auf den Port 21 des Servers aufgebaut. Dieser teilt dem Client auf Anforderung (PASV=passiv) eine Portnummer mit, zu der der Client die Verbindung aufbaut. 4. Kommunikationscharakteristika von Web-, Mail-, FTP- und DNS-Servern In den nachfolgenden Abbildungen ist der jeweilige Verbindungsaufbau zwischen verschiedenen Diensten dargestellt. Dabei werden zu jedem Kommunikationsprofil auf den Firewall-Versuch bezogene Beispiele in Tabellenform angegeben. Webserver Client Port > 1023 Http/GET ; TCP von Netz Verbindungsaufbau Port lokales Netzwerk >1023 DMZ Internet Port 80 E; TCP SPONS E R / p t Ht Port > 1023 Adresse Server >1023 >1023 Prof. Dr. Richard Sethmann zu Netz Adresse Protokoll Port Internet/DMZ 80 TCP Internet 80 TCP 80 TCP DMZ Datei V1_2_Grundlagen_Firewalls.doc 13/17 FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen Firewall MBK-Labor Mail-Server (SMTP) Client Port > 1023 Server Anfrage; TCP t ; TC P Antwor Port > 1023 von Netz Verbindungsaufbau Adresse Port Protokoll DMZ >1023 Internet zu Netz Adresse lokales Netzwerk >1023 DMZ Port 25 Internet >1023 DMZ Port 25 TCP 25 TCP 25 TCP Mail-Server (POP3) Client Port > 1023 Anfrage; TCP von Netz Verbindungsaufbau Adresse Port lokales Netzwerk >1023 >1023 Prof. Dr. Richard Sethmann Port 110 t ; TC P Antwor Port > 1023 Internet Server zu Netz Adresse Protokoll Port DMZ 110 TCP DMZ 110 TCP Datei V1_2_Grundlagen_Firewalls.doc 14/17 FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen Firewall MBK-Labor DNS-Server DNS-Client Port > 1023 DNS-Server Anfrage; UDP/TCP /TCP t; UDP Antwor Port > 1023 von Netz Verbindungsaufbau Adresse Port 53 Port zu Netz Adresse Port DMZ 53 lokales Netzwerk >1023 DNS-Server Lookup-A nfrag Port 53 (> 1023) von Netz e; UDP ( TCP) Verbindungsaufbau Adresse Port UDP/TCP DNS-Server (TCP) ; UDP t r o w t -An Lookup Port 53 (> 1023) Protokoll Port 53 zu Netz Adresse Protokoll Port DMZ 53 Internet 53 UDP DMZ >1023 Internet 53 TCP Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 15/17 FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 Grundlagen Firewall MBK-Labor FTP-Server (aktiv) FTP-Client Port control conne ction ; SYN > 1023 Port > 1023 FTP-Server Port 21 tion Control connec control conn ection ; „PO RT 2000“ Port > 1023 Port 2000 tion control connec Port 21 n; SYN data connectio Port 20 data connec tion Verbindungsaufbau control connection data connection Port 20 von Netz Adresse zu Netz Adresse Protokoll Port DMZ Internet >1023 >1023 Internet DMZ 21 21 TCP TCP DMZ Internet 20 20 Internet DMZ >1023 >1023 TCP TCP Port FTP-Server (passiv) FTP-Client FTP-Server Port control conne ction ; SYN > 1023 Port n tio ec nn co l ro Cont 21 Port control conn ection ; „PA > 1023 SV “ Port 00“ 40 K „O n; tio 21 control connec Port > 1023 Port > 1023 von Netz Adresse lokales Netz Locales Netz DMZ (Internet) DMZ (Internet) data connec tion; SYN Port >1023 >1023 >1023 >1023 Prof. Dr. Richard Sethmann data connection Port 4000 n; data connectio Verbindungsaufbau control connection zu Netz Adresse Protokoll Port DMZ 21 DMZ >1023 Internet (DMZ) 21 Internet (DMZ) > 1023 Datei V1_2_Grundlagen_Firewalls.doc TCP TCP TCP TCP 16/17 Grundlagen Firewall MBK-Labor FB Elektrotechnik und Informatik Medieninformatik Datum: 30.04.2003 5. Portscanner Mit einem Portscanner können offene Ports auf verschiedenen Rechnern untersucht werden, dabei kann zwischen bekannten oder unbekannten Ports gesucht werden. Portscans können zum Eindringen in andere Systeme benutzt werden, dabei ist es sogar möglich, die eigene IP-Adresse zu maskieren. Einzelne Flags (siehe Aufbau von TCP) können ebenfalls eingestellt und somit die Art der Verbindung überprüft werden. Beispiel: TCP-SYN-Scanning oder auch „half open scan“ genannt. Hier wird nur ein SYN-Paket an einen Port geschickt und anhand der Antwort (SYN-ACK oder RST) festgestellt, dass ein Port bereits aktiv ist. Bei UDP erfolgt eine Bestätigung von Seiten des zu überprüfenden Rechners oft durch ein ICMP-unreachable-Paket, wenn an dem Port kein spezieller Dienst gebunden ist. 6. Weitere Links, Büchertipps Links: „Erkennen und Behandlung von Angriffen aus dem Internet“ – Wolf, Häger und Schorn – www.bsi.de/literat/tagung/cebit99/ „Sicherheit in Netzen“ – Plate und Holzmann – www.netzmafia.de/skripten/sicherheit Büchertipps: “TCP/IP Illustrated - Volume1”– The Protokolls (Richard Stevens) „Das Firewall Buch“ - Wolfgang Barth „Computernetzwerke“ – Andrew S. Tanenbaum Prof. Dr. Richard Sethmann Datei V1_2_Grundlagen_Firewalls.doc 17/17