Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2003/04 Teil 6 Firewalls css 0633 ww6 wgs 01-98 SSL, PGP, S-Mime Sender Empfänger ___________________________________________________ 1. Nachricht 2. Session Key 3 Nachricht 4. Public Key 5 Nachricht 1. Sender erstellt Nachricht 2. Sender generiert Session Key (symmetrisch, DES, IDEA, RC4, AES Algorithmus) 3. Sender holt Public Key von Empfänger (asymetrisch, RSA Algorithmus) 4. Sender verschlüsselt Session Key mit dem Public Key 5. Nachricht wird mit dem Session Key verschlüsselt cs 0651 ww6 wgs 12-03 Secure Socket Layer - SSL Schicht 5-7 Anwendungen Socket Schnittst. 4 3 2 1 Intranet Internet An Stelle der regulären Socket Schnittstelle wird die sehr ähnliche SSL Schnittstelle eingesetzt. SSL bewirkt zuätzlich zur normalen Socket Funktionalität eine Verschlüssselung beim Senden und eine Entschlüsselung beim Empfangen von Nachrichten. css06117 ww6 wgs 01-98 SSL Protocol: Handshaking für eine SSL Sitzung Das SSL Protokoll liefert Verbindungssicherheit über unsichere Kommunikationswege. Es hat die folgenden Merkmale: • Datenverschlüsselung. Die Verbindung kann durch Verschlüsseln der zwischen Client und Server auszutauschenden Daten sicher gemacht werden. Dies ermöglicht den sicheren Transfer von privater Information wie Kreditkartennummern. • Kommunikationsintegrität. Die Verbindung ist zuverlässig. Der Nachrichtentransport schließt einen Nachrichtenintegritätsprüfung ein, die auf einer sicheren Hashfunktion beruht. • Authentifizierung. Der Client kann den Server authentifizieren, und ein authentifizierter Server kann den Clienten authentifizieren. Damit wird sichergestellt, daß Information nur zwischen den gewünschten Partnern ausgetauscht wird. Der Authentifizierungmechanismus basiert auf dem Austausch von digitalen Zertifikaten (X.509v3 Zertifikate). cs 0647 ww6 wgs 11-00 Web Server Application Code Secure Socket Layer Public key Cryptographic functions for user authentification Symmetric encryption to keep data confidential Hashing algorithms to ensure message integrity reliable communication protocol e.g. TCP/IP Secure Socket Layer Stack und Componenten cs 0634 x ww6 wgs 11-99 SSL Protokoll Generisches Protokoll, ursprünglich von Netscape für den Browser entwickelt. Von den meisten Web Servern unterstützt. Stream Protokoll: Handshake eröffnet Verbindung verschlüsselter Datenaustausch (opaque Data Mode) Handshake schließt Verbindung Beim Start einer Verbindung tauschen Klient und Server „Hello“ Nachrichten aus. Einigung auf: Version des SSL Protokolls Definition der Verschlüsselungsalgorithmen Austausch der Schlüssel Datenkompressionsparameter Daten werden in verschlüsselten Blöcken ausgetauscht; jeder Block wird durch eine verschlüsselte Prüfsumme verifiziert. 4 Schlüssel, je 1 Paar für Klient- Server und Server-Klient Kommunikation. Unterschiedliche Verschlüsselungsalgorithmen können eingesetzt werden, darunter DES und RC4. Klient und Server können X.509 Certificate anfordern. Vorgesehen ist die SSL integration in Winsock 2.0. Transparent für existierende Winsock Anwendungen. cs0536 ww6 wgs 09-98 Leistungsabfall beim einsatz von SSL Krypto-Koprozessoren es 1312 ww6 wgs 11-00 PGP - Pretty Good Privacy Phil Zimmermann, 1991 PGP ist ein über das Internet frei verfügbares Software Paket mit den folgenden Funktionen: Verschlüsselung von Dateien und von Electronic Mail Authentifizierung Digitale Unterschrift Verwendet unterschiedliche Verschlüsselungsalgorithmen: IDEA ( 128 Bit privater Schlüssel, entwickelt in Zürich) RSA cs0505 ww6 wgs 05-97 Pretty Good Privacy Sender Empfänger ___________________________________________________ 1. Nachricht 2. Session Key 3 Nachricht 4. Public Key 5 Nachricht 1. Sender erstellt Nachricht 2. Sender generiert Session Key (symmetrisch, IDEA Algorithmus) 3. Nachricht wird mit dem Session Key verschlüsselt 4. Sender holt Public Key von Empfänger (asymetrisch, RSA Algorithmus) 5. Sender verschlüsselt Session Key mit dem Public Key Literatur: Simson Garfinkel: „PGP“. O´Reilly, 1995 cs 0605 ww6 wgs 01-98 Pretty Good Privacy Phil Zimmermann Die Nachrischt wird mit dem symmetrischen Schlüssel verschlüsselt. Der symmetrische Schlüssel wird mit dem asymmetrischen Schlüssel verschlüsselt. Vorgehensweise: 1. Sender erstellt eine Nachricht 2. Sender generiert einen „Session Key“. Dies ist ein symmetrischer Schlüssel, der mit Hilfe des IDEA Algorithmus erzeugt wird. 3. Die Nachricht wird mit Hilfe des Session Keys verschlüsselt. 4. Der Sender besorgt sich vom Empfänger den öffentlichen Schlüssel des asymetrischen Schlüssels, den der Empfänger benutzt. 5. Mit dem öffentlichen Schlüssel wird der Session Key verschlüsselt. 6. Nachricht und Session Key werden an den Empfänger übertragen. 7. Der Empfänger entschlüsselt den Session Key mit Hilfe seines (nur ihm bekannten) privaten Schlüssels. 8. Der Empfänger entschlüsselt die Nachricht mit Hilfe des (symmetrischen) Session Keys. cs 0602 ww6 wgs 05-97 -----BEGIN PGP PUBLIC KEY BLOCK----Version: PGPfreeware 6.5.3 for non-commercial use <http://www.pgp.com> mQGiBDo/QQgRBAD9P4aduG/c4uCBjDLvWqIfbVGZExNzK5Ajoce9 X+R5ZP0WhpLuWDiS0hogyncJojmELvxggUhqGDavuCwkFdd1P1Z bE/OsMqjnsZd49I9fePMP69A6E1VjW+OA/EjP/4nn9WUZzc4bAGob5 V+pThmR2OFlqllRvpbHlVSv4mJSTwCg/2wFSZukU8YOOPBHm0wh 4DplOikD/3FuxAR/EUOlA0a6ABZja2mqMLcO0X9N2zrDNQoD3U+cR +R9BcAvftuEeIPvYT6nWzMeUZCOI++cF6rjpsjYWwngaYMoVGojLht 0Q0YHeZPJzq37GFminiwnEqbOlk9jodx4ILJWcirl9ylY+AWuccdpVG cyfGXJDvy/EFWyvZBKA/9dzsh0CRB3gLvqv2M0n7uKUCuXraxB+fie 0LV8QYWR2ZHux8KDtbakJ0wGu/05lsTzjVphPwVfecSRIJjrmJ9VY1 DxdFmr59wCc+XcPH9zSUetmY+0LPztUWEw4lj2nYG5kFlSc3YpoXR mxBRr+xldu7bp6fw0u/uvkKuwoIKtXLQpVGhpZXJyeSBGYWxpc3Nh cmQgPGZhbGlzc2FyZEBmcmVlc3VyZi5mcj6JAE4EEBECAA4FAjo/Q QgECwEDAgIZAQAKCRDWwjpFn+mk3ui0AJ4uFoNagSQ/780r3gfhz ExzKQkSIACgwdlrFpXaH78Qpbr87v5Bpr50Gj+5Ag0EOj9BCBAIAPZ CV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVf PQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeF XklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Br wv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzyS PAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNf ISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JS yIZJrqrol7DVekyCzsAAgIH/2wk3/E/98/lGLhggvIlavfTSbyVfOFZLjxqw xOfEYhESWrrB3oktSMHDLJ1kbpzIt93dDpEwO3wfDuTZV0Y1dIZzW zLE4HOrf58KcewLnB3jlSpUYlMtTTdr2i8frhSYVzbzKU3vvKQFCZ65z zQzUMFxhz8ypROTAlKD0TCl8ZvWAf1+c1Pek50DgEJt4YIVuI745pD HljNvuODY9/jC+bErcWfNRHFZA9BWBcSAsHR++wTy/pNhyloI/Xp0E aJL0Jpui+KTrzXhWCHy5RPo220VeyghDTtGB2dqUnzT5/e8WAX243 OGUSr4JEuWY6oWi/2CNais5j2rvgOTM0DREOJAEYEGBECAAYFAj o/QQgACgkQ1sI6RZ/ppN43VACeIuwJUShWfq7TtlEhRd3Gsl9AssQA njdDcZW4kv4KOspv4eugIC7vEMCW =dtwm -----END PGP PUBLIC KEY BLOCK----- cs 0648 ww6 wgs 11-00 SSH - Secure Shell de facto Standard für remote computer login. Verhindert Diebstahl von Passworten wenn diese im Internet übertragen werden. Typische Anwendungen: • remote access auf Computer Ressourcen über das Internet, • secure file transfer • remote system administration. Suite von drei Utilities - slogin, ssh, and scp - (Sichere Versionen der UNIX Utilities rlogin, rsh, and rcp). Ersatz für telnet. WinSCP ist ein Freeware SCP (Secure CoPy) Programm für Windows. SSH benutzt RSA für die Server Authentifizierung. Mehrere Optionen für die Client Authentifizierung, darunter Kerberos. IDEA ist das Default Verfahrung für die Verschlüsselung. Alternativen sind DES, 3DES, und Blowfish. Klient generiert symmetrischen Schlüssel und sendet ihn zum Server verschschlüsselt mit dessen öffentlchen Schlüssel. Die Verschlüsselung started unmittelbar nach der Server Authentifizierung, aber vor der Client Authentifizierung. Passwort des Benutzers wird über einen sicheren Kanal übertragen. cs 0677 ww6 wgs 12-03 Externe Anbindung Anschluß von kleineren Außenstellen über Wähl - ISDN Leitungen Heimarbeitsplätze, PPP Protokoll Kombination von Verschlüsselung und Packet Filter: IP Pakete werden verschlüsselt über das unsichere Netz übertragen und vom Packet Filter Firewall entschlüsselt. Durch Verschüsselung wird ein kryptographisches „Virtual Private Network“ (VPN) in einem unsicheren Netz, z.B. über das Internet, gebildet. cs 0612 ww6 wgs 11-98 Ver/Entschlüsselung Ver/Entschlüsselung Betriebsgelände A Betriebsgelände B Internet Virtual Private Network (VPN) Die Intranets auf 2 Betriebsgeländen werden über das (unsichere) Internet miteinander verbunden. Basis ist TCP/IP Die Abschirmung erfolgt über „Tunneling“ (Verpacken aller Pakete) sowie Verschlüsselung der IP-Pakete IPsec ist der Standard für die Verschlüsselung IKE ist der Standard für den Schlüsselaustausch mittels öffentlicher Schlüssel cs0619 ww6 wgs 09-98 Sicherheitsprotokoll IPsec Transport Mode vs Tunnel Mode TCP Kopf IP Kopf IP Kopf TCP Daten IP Daten verschlüsselte Daten IPsec Protokoll Authentication Header (AH) AH verschlüsselte Daten ursprünglicher IP Kopf (verschlüsselt) IPsec Kopf, dupliziert unkritische Felder des IP Kopfes Probleme „Layer-4-Switching“ ermöglicht Prioritätensteuerung, indem z.B. FTP (Port Nr. 20) mit höherer Priorität weitergegeben wird als E-Mail (Port Nr. 25). Die Port Nr. steht im TCP Kopf und kann, da verschlüsselt, nicht genutzt werden. Der zusätzliche Ipsec Kopf vergrößert die Paketlänge. Die Überschreitung einer MTU (Maximum Transfer Unit) Grenze erzeugt zusätzliche Fragmentierung. cs0620 ww6 wgs 09-98 cs 0678 ww6 wgs 12-03 Point-Point Tunneling Protocol (PPTP) Virtual Private Network, erlaubt getunnelte Point-to-Point Protocol (PPP) Verbindungen über ein IP Nettwerk. Benutzer können sich über Telefon und das Internet in ein Corporate Network einwählen (Road Warrior Protokoll). In RFC2637 beschrieben. Wurde von Microsoft mit einer kleinen Gruppe anderer Unternehmen entwickelt. PPTP ist ein OSI Schicht Schicht 2 Protokoll, kann damit auch andere Schicht 3 Protokolle nutzen. IETF entwickelt derzeitig L2TP Standard als Nachfolger für PPTP cs0614 ww6 wgs 12-03 Security Technology Design Verification Example: IPSec Design Start 1992; public debate on all security technologies condidered • Standard published 1995 • (Minor) design flaw detected in 1999 • Work continues in public. Example: Microsoft Point-to-Point Tunneling Protocoll (PPTP). Not published. • Flawed proprietory authentication protocoll • Flawed proprietory hash function • Flawed proprietory key-generation algorithm „No single company (outside the government) has the financial ressources necessary to evaluate a new cryptographic algorithm, or shake the design flaws out of a complex protocol.“ B. Schneier: „Cryptography, the Importance of not being different“. IEEE Computer, March 1999. cs 0547u ww6 wgs 09-99 Brechen von Schlüsseln: Side Channel Attacks Nutzung von Out-of-Band Information Information über Zeitabläufe, elektromagnetische Ausstrahlung, Stromverbrauch auswerten Während des Betriebs gezielt Fehler verursachen, Ergebnisse analysieren Zufallszahlengenerator für das Erzeugen von Schlüsseln Sicherheit ist kein Produkt, sondern ein Prozess cs 0552 ww6 wgs 11-00 Zugriffsberechtigung Eine Vielzahl von Subjekten hat unterschiedliche Zugriffsberechtigungen (z.B. Read, Write, Execute) auf eine Vielzahl unterschiedlicher Objekte (Dateien, Directories, ausführbare Programme, usw.). Für jedes Paar {Prozessi, Objektj} kann es unterschiedliche Zugriffsberechtigung Aij geben. eine A11 1 1 A12 2 2 A13 3 3 A14 4 4 A15 5 Subjekte (Klienten, Prozesse) cs 0626u ww6 5 Objekte Dateien, Programme wgs 05-99 Objekte, z.B. Dateien, Directories ⋅⋅⋅ 0 1 2 n 0 A0,0 A0,1 A0,2 1 A1,0 A1,n Subjekte 2 A2,0 A2,n z.B. 3 Prozesse . . . . m A0,n Capability List Am,0 Am,1 Am,2 Am,n ACL, Access Control List Zugriffskontrolliste Zugriffsmatrix vs1507 ww6 wgs 05-96 ACL Datei 1 Datei 2 Datei 3 Meier r/w x - Müller - - r/w Capabilities Schulze r r r Bauer r r/w - Access Control Lists und Capabilities cs 0627u ww6 wgs 05-99 Access Control List (ACL) Ist einem bestimmten Objekt (Datei, Directory, ausführbares Programm) zugeordnet. Enthält eine Liste der Prozesse, welche berechtigt sind, Lese- Schreib-, Execute-, .... Zugriffe auf dieses Objekt durchzuführen. Je ein Eintrag { Process Identifikation, Art der Berechtigung } für jeden Prozess. Capability List Einem bestimmten Prozess zugeordnet. Enthält eine Liste der Objekte, zu denen dieser Prozess Zugriffsrechte hat (Lese-, Schreib-, Execute-, ... ).Je ein Eintrag { Objekt Identifikation, Art der Berechtigung } für jedes Objekt. ACLs werden typischerweise mit dem Objekt abgespeichert. Bei einem nicht verteilten System werden Capabilities in der Regel vom Kernel des Betriebssystems verwaltet. vs1118 ww wgs 06 -94 Benutzer 2 x x x x Benutzer 4 x x x x x x x x x x Benutzer 1 x x x Benutzer 3 Group x x x x Benutzer 5 others Zusammenfassung von Prozessen in Klassen, und Verwendung vereinfachter ACL ( r, w, x, .. ) , aufgeteilt nach "owner", "group", und "others". vs1508 ww6 wgs 05 -96 RACF RACF benutzt das Konzept von zu schützenden„Resourcen“. Resourcen werden in „Klassen“ aufgeteilt. Beispiele für Klassen sind: • • • • • Benutzer Dateien CICS Transaktionen Datenbank Rechte Terminals Jedem Element einer Klasse wird ein „Profil“ zugeordnet. Das Profil besagt, welche sicherheitsrelevanten Berechtigingen vorhanden sind. Die Profile werden in einer Systemdatenbank, der RACF Profildatenbank, abgespeichert. Beispiel: Ein interaktiver Benutzer logged sich ein. Der Login Prozess überprüft, ob die Login Berechtigung besteht. Er überprüft weiterhin, ob das Terminal, von dem der Benutzer sich einwählt, eine Zugangsberechtigung hat. Hierzu ruft der Login Prozess RACF auf, welches die entsprechenden Profile in seiner Datenbank konsultiert. Anschließend ruft der Benutzer ein Programm auf, welches auf eine Datei zugreift. Die OPEN Routine ruft RACF auf, welches das Profil der Datei bezüglich der Zugriffsrechte befragt. Benutzer Profile enthalten „Capabilities“. Datei Profile enthalten „Access Control Listen“. Zugriffsrechte können von spezifischen granularen Bedingungen abhängig gemacht werden; z.B. der Zugriff auf eine Datenbank kann von der Nutzung eines spezifischen Anwendungsprogramms abhängig gemacht werden, oder auf bestimmte Tageszeiten begrenzt sein. Problem: Wartung der Profile. cs 0653 ww6 wgs 10-01 OS/390 Security Server RACF (Resource Access Control Facility) bewirkt • • • • • Identifizierung und Authentifizierung von Benutzern Benutzer Authorisierung für Zugriff auf geschützte Resourcen Logging und Berichte über unauthorisierte Zugriffe Überwacht die Art, wie auf Resourcen zugegriffen wird Anwendungen können RACF Macros benutzen Literatur : IBM GC28-1912-06 es 0426 ww6 wgs 08-00 RACF Datenbank Resource Profile 5 1 Resource Manager z.B. TSO Resource Manager z.B. CICS RACF (oder ASF) 2 RACROUTE RACROUTE 4 3 SAF OS/390 Kernel RACF Arbeitsweise 1. Ein Benutzer greift auf eine Resource über einen Resource Manager zu, z.B. TSO 2. Der Resource Manager benutzt einen System Call „RACROUTE“ um auf die Security Access Facility (SAF) des OS/390 Kernels zuzugreifen. present. SAF ist eine zentrale Anlaufstelle für alle sicherheitsrelevanten Aufgaben. 3. SAF ruft ein Zugriffskontrolle Subsystem auf. Dies ist normalerweise RACF. (Eine Alternative ist die Access Control Facility der Fa. Computer Associates, die ähnlich arbeitet). 4. RACF greift auf einen „Profile“ Datensatz in seiner eigenen RACF Datenbank zu und überprüft die Zugangsberechtigungen 5. Das Ergebnis teilt RACF dem anfragenden Resource Manager mit. es0436 ww6 wgs 09-01 RACF Remote Access Control Facility OS/390 spezifiziert kritische Events innerhalb des Betriebssystems als sicherheitssensitive Verzweigungen. Die OS/390 Security Authorisation Facility (SAF) bewirkt an diesen Stellen den Aufruf einer externen Security Engine. In OS/390 ist dies häufig RACF; alternative OS/390 Security Engines sind ACF/2 oder TopSecret. Neben einer Kontrolle von Events (ehe sie wirksam werden) wird ein umfassender Audit Trail erzeugt. Zugriffsrechte können von spezifischen granularen Bedingungen abhängig gemacht werden; z.B. der Zugriff auf eine Datenbank kann von der Nutzung eines spezifischen Anwendungsprogramms abhängig gemacht werden, oder auf bestimmte Tageszeiten begrenzt sein. SAF übergibt der externen Security Engine die pertinente Information. Die Security Engine kann dann auf der Basis von Access Control List (ACL) Strukturen über die Zugriffsrechte entscheiden. Problem: Maintenance der ACL´s css 0630 ww6 wgs 01-98 Sicheres Netz z.B. LAN sicherer Netzadapter Firewall nicht sicherer Netzadapter Internet Überwacht Nachrichtenfluss auf der Ebene der Netzwerkschicht (Packet Filtering Firewall) oder der Ebene der Anwendungsschicht (Application Level Firewall) cs 0661 ww6 wgs 11-02 cs 0637 ww6 wgs 09-00 Vorraussetzungen für einen Firewall Rechner Hardware und Software müssen klar und nachvollziehbar aufgebaut sein. Jedes Programm enthält potentielle Sicherheitslücken. Nur solche Programme sollten auf dem Firewall Rechner laufen, die zur Erbringung der Firewall Funktionalität unbedingt erforderlich sind. Unnötige oder überflüssige Prozesse im Hintergrund sind häufig die Ursache für Sicherheitslücken. Literatur: W. Sonnenreich, T. Yates:“ Building Linux and OpenBSD Firewalls“. Wiley, 2000. W. Cheswick, S. Bellovin:“Firewalls und Sicherheit im Internet“. Addison-Wesley, 1996. N. Pohlmann: „Firewall-Systeme“. Datacom, 1997. css 0615 ww6 wgs 01-98 cs 0638 wgs 09-00 Packet Filtering Firewall Zugriff gestattet Zugriff Verweigert Firewall Rechner Firewall ist gleichzeitig Schicht 3 Router. Firewall entscheidet auf der Basis von Filter Regeln IP Filter auf der Basis von • • • • Quell- oder Zieladresse Quell- oder Ziel- Port Nummer Protokoll ( tcp, udp, icmp .... ) Richtung Regeln werden von oben nach unten ausgewertet • erste Übereinstimmung: angegebene Aktion durchführen • keine Übereinstimmung: Paket ablehnen cs 0662 ww6 wgs 11-02 Filter Rule Example: Permit e-mail packets from the Internet to our Local Network if and only if they are destined for the Mail Gateway machine Local Area Netzwerk IP Adresse 220.0.0.1 Port #2 Filtering Port Router #1 Internet Our Filtering router must permit only following packets: • coming from the Internet to port 25 on the Mail Gateway Machine; • coming from the the Local Network and destined to any port 25. Access Control Liste für Filtering Router Port Nr. 1 Eintrag Source IP Adr. 1 2 any any Source Port any any Destination IP Adr. 220.0.0.1 any Destination Port 25 any Action permit block Access Control Liste für Filtering Router Port Nr. 2 Eintrag Source IP Adr. Source Port Destination IP Adr. 1 2 220.0.0.1 any any any any any cs 0658 ww6 Destination Port 25 any Action permit block wgs 09-01 Quelle IP Port Adresse Nr. erlaubt erlaubt Antwort eigene * Ziel Attribut Kommentar IP Port Adresse Nr. * * 25 25 * * unser Paket zu Ihrem SNMP Port ack Ihre darauf erlaubt * * * blockiert * * * ≥1024 * Ziel ist eine eigene, selbstgeschriebene Anwendung Default Beispiel für eine Firewall Filtertabelle Filtereinträge werden von oben nach unten abgetastet. Alles was nicht explizit erlaubt ist, ist verboten. Port 25 ist der SNMP Port. Port ≥1024 ist für private Anwendungen vorgesehen. Weitere Möglichkeiten für Filter Regeln sind z.B. Einschränkung auf Uhrzeit und Wochentag, Erlaubnis zum Verbindungsaufbau, u.s.w. cs 0610u ww6 wgs 11-98 cs 0639 wgs 09-00 Umgang mit IP Fragmenten Bei fragmentierten TCP Segmenten enthält nur das erste Fragment den TCP Protokollkopf und damit die Port Nummer. Kein Problem für Angriffe von außen. Das erste Filter trägt die Port Nr. und wird entsprechend gefiltert. Wird es abgewiesen, bleibt das Paket unvollständig und wird irgendwann verworfen. Beim Informationsexport müssen Fragmente abgewieden werden. Der Sender kann Fragmente ohne Portnummer basteln und extern auf einem Rechner wieder zusammensetzen. css06116 ww6 wgs 01-98 Cs 0674 ww6 wgs 07-03 cs 0640 wgs 09-00 IP Forwarding Router implementieren lediglich die Schichten 1 - 3 Rechner mit normalen Betriebssystemen können so konfiguriert werden, daß sie gleichzeitig als Router dienen können. AIX550 Betriebssystem Variable „ipforwarding“ bestimmt, ob eine Kernel Routine auf Schicht 3 ein Datagramm von einem angeschlossenen Netz an ein andres weiterreicht. css06113 ww6 wgs 01-98 Umgehung des Firewalls Schicht 5-7 Firewall Software 4 3 IP Forwarding 2 1 Intranet Internet Lösung: IP Forwarding (und Source Routing) abstellen. Alle Nachrichten werden von der Firewall Software analysiert. css0614 ww6 wgs 01-98 Application Firewall Proxy Server Application Firewall Software, die Nachrichtenübertragung auf der Anwendungsschicht (Schicht 7) nur nur für jeweils einen spezifischen Dienst zuläßt, wird als „Proxy“ bezeichnet. Für jeden Dienst muß auf dem Application Firewallrechner ein eigener Proxy errichtet werden. Der Proxy überprüft für jede Anwendung getrennt, ob der Zugriff erlaubt ist. Aus der Sicht des Anwenders sieht es so aus als würde der Klient direkt mit dem eigentlichen Server Prozeß kommunizieren. cs 0608 ww6 wgs 11-98 cs 0641 wgs 09-00 cs 0642 wgs 09-00 Demilitarzed Zone DMZ Überwachtes Grenznetz Der äußere Firewall schützt das DMZ Netz. Er bestimmt, wer aus dem Internet auf Rechner zugreifen darf, die an das DMZ Netz angeschlossen sind. Filter Regeln sind einfacher zu definieren. Der äußere Firewall ist häufig als Router Firewall implementiert. An das DMZ Netz sind weniger kritische Server angeschlossen. Die kritischen Server werden zusätzlich durch den inneren Firewall geschützt. Dieser ist häufig als Application Firewall implementiert. Intranet DMZ Innerer Firewall Name Server css0621 ww6 Internet Äußerer Firewall WEB Server wgs 01-98 DMZ Konfigurationen Mehrere Alternativen: 1. Router Firewall - Router Firewall Einfachere Definition der Filterregeln 2. Router Firewall - Application Firewall Der Router Firewall stellt die Schnittstelle zum unsichweren Netz dar 3. Router Firewall - Application Firewall - Router Firewall Der Application Firewall wird duch einen Router Firewall zusätzlich vom sicheren Netz aus geschützt Geschachtelte Sicherheit Unterschiedliche Betriebssysteme der einzelnen Firewallrechner: Sicherheitslücken wirken sich nur auf ein aktiven Firewall Rechner aus cs 0611 ww6 wgs 11-98 Reservierte IP Adressen Offizielle IP Adressen werden vom NIC oder DE-NIC vergeben. Möchte man mit nicht-offiziellen IP Adressen arbeiten, so sind hierfür in RFC 1918 Adressen für private Adressen reserviert: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 Klasse A Klasse B Klasse C (16 Netze) (256 Netze) Ein Application Firewall besitzt eine Adresse für das interne Netz und eine weitere Adresse für das externe Netz. Die interne Adresse kann eine RFC 1597 private Adresse sein. Beispiel Volkswagen, R+V Versicherung: Klasse C Adresse DMZ 10.0.0.0 Application Firewall Name Server css 0632 ww6 Internet Router Firewall WWW Server wgs 12-97 cs 0663 ww6 wgs 01-03 Socks Server This is a version of an application level firewall proxy server SOCKS servers intercept and redirect all TCP/IP requests at the firewall. It handles data to and from many types of applications such as TELNET, FTP, and Gopher. The sockd daemon provides users in a secure network access to resources outside that network by directing data through the firewall. To cross the firewall users must use client programs that are designed especially to work with the sockd server. These "SOCKS-ified" clients replace their normal TCP/IP counterparts. AIX servers prvide for example: • • rtelnet rftp in place of in place of telnet ftp The normal C library socket calls are replaced by SOCKS library calls. A TELNET connection for example works like this: 1. You start the rtelnet application to log into a remote host outside the secure network. 2. The rtelnet sends that TELNET request to the SOCKS server (sockd) in the application level firewall. 3. sockd checks the user's identity and, if correct, connects the user to the requested remote host. 4. After establishing the connection, the SOCKS server acts as a secure pipeline to the remote host. The TELNET user is unaware of its existence. To the user, this is only a one-step process. The advantage of this concept is that the real TCP/IP application (TELNET for example) runs on the client workstation, not in the firewall. This saves processing in the application level firewall. cs 0669 wgs 01-03