Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2005/2006 Teil 6 Sicherheitsprotokolle css 0633 ww6 wgs 01-98 Sicherheitsprotokolle voll symmetrisch Kerberos unternehmensintern Schicht 6 asymmetrische Authentifizierung SSL PGP SSH Web, SHTML Mail Telnet, rlogin, FTP OSI Schicht 2,3 IPSec PPTP L2TP cs 0574 ww6 Aussenstellen von Unternehmen wgs 12-03 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 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 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 Verbreitung von z/OS • 95% der weltweit größten 2000 Unternehmen setzen zSeries und S/390 Rechner mit den z/OS und OS/390 Betriebssystemen als ihren zentralen Server ein. • Zwischen 65 und 70 % aller geschäftsrelevanten Daten werden im EBCDIC Format auf zSeries und S/390 Rechnern gespeichert. • Ältere Modelle verfügten über einen kryptografischen Coprozessor. Bei den neueren z9 und z990 Modellen ist die kryptografische Coprozessor Funktion in die CPU integriert. Ca. 100 kryptografische Maschinenbefehle. Es 0257 ww6 wgs 07-03 Leistungsabfall beim Einsatz von SSL Krypto-Koprozessoren es 1312 ww6 wgs 11-00 Intel 80386 Micro Prozessor Intel 80387 Gleitkomma Koprozessor Ohne 80387 verursacht die Ausführung eines GleitkommaMaschinenbefehls eine Programmunterbrechung. Die Unterbrechungsroutine führt die Gleitkommaoperation aus. Intel 80486 Micro-Prozessor traditionelle CPU Funktion Gleitkomma Koprozessor Beim Intel 808486 und Pentium/AMD ist die Gleitkommafunktion in das Micro-Prozessor Chip integriert IBM z990 Micro-Prozessor traditionelle CPU Funktion Krypto Koprozessor Bei den IBM z990 und 890 Micro-Prozessoren ist die KryptoKoprozessor Funktion in das Micro-Prozessor Chip integriert. Ca. 150 zusätzliche Maschinenbefehle. 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 asymmetrisches Schlüsselverfahren, entwickelt in Zürich) RSA cs0505 ww6 wgs 05-97 PGP, S/Mime, GnuPG S/MIME ist die sichere Version von MIME (Multipurpose Internet Mail Extension. Die meisten eMail Klienten unterstützen auch MIME. S/MIME benutzt X.509 Zertifikat, PGP benutzt Web of Trust 30 % vs 70 % Marktanteil Nur Mail vs. Mail + andere Anwendungen Zertifizierung durch CA kostet etwa 50 Euro/Jahr Krypto Kampagne der Zeitschrift c’t ( etwa 20 000 Schlüssel ) , kostenlose Zertifizierung gegen Vorlage des Personalausweises. Vor Gericht nicht ausreichend. GnuPG (Gnu Privacy Guard) ist eine GNU General Public License Alternative zu PGP. Verwendet nicht den patentierten IDEA Algorithmus. cs 0665 wgs 12-03 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 • Außenstellen eines Unternehmens über das Internet • Außendienstmitarbeiter, Laptop über 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 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 SSL versus IPSec SSL für Remote Access • höhere Sicherheitsprobleme im Vergleich zu Standortverbindungen,z.B. zentraler Virenscanner erfordert zwischenzeitliches Entschlüsseln durch Proxy Server • Verlangsamung der Verarbeitung > 90 % IPSec für Standortverbindungen • Firewall blockiert evtl. IPSec • bessere Eignung für VoIP Beide Verfahren verwenden DES, 3DES und AES, SSL auch RC4 Homebanking Computer Interface (HBCI) Financial Transaction Services (FinTS) Offener Standard für den Bereich Electronic Banking und Kundenselbstbedienung. Von den deutschen Banken entwickelt und vom Zentralen Kreditausschuss (ZKA) beschlossen. Kunden-Authentifizierung und Nachrichtenverschlüsselung mit einer Chip Karte. Erfordert Chip Karten Leser, der an den PC angeschlossen wird. Enthält 112 Bit 3DESSchlüssel. Alle sensitiven kryptographischen Prozesse laufen im Chip ab. Alternativ auch RSA Verschlüsselung (mehrere Verfahren). cs 0682 ww6 cs\pubs\FinzTran.pdf wgs 10-05 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 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". Problem: Aufteilung der Zugriffsberechtigung von einem Objekt auf mehrere Gruppen. Unter Unix existiert hierfür eine „erweiterte ACL“ Funktion. vs1508 ww6 wgs 05 -96 Rollenbasierte Zugriffssteuerung. Separate Zugriffssteuerungen für die Systemanmeldung und den Zugriff auf Objekte, Ressourcen, Programme, Dateien, Prozesse bzw.Daemons, Dienste und Anwendungen. Profile für die Zuordnung von Benutzern zu vordefinierten Gruppen mit voreingestellten Zugriffsrechten. In das Betriebssystem integriert. Protokolliert alle Benutzeraktionen und -zugriffe. Aktivitäten können verfolgt und dem ursprünglich authentifizierten Benutzer zugeordnet werden. Implementierungsbeispiele: • Computer Associates ACF2 (OS/390, z/OS) • Computer Associates eTrust Access Control (Linux, Unix, Windows) • IBM RACF (OS/390, z/OS) • Security Enhanced Linux (SE-Linux) cs 0576 ww6 wgs 01-05 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 Security Enhanced Linux (SELinux) Discretionary Access Control (DAC) ist der Standard Linux Ansatz. Der Besitzer einer File kann Read-, Write- und Executerechte setzen. Mandatory Access Control (MAC) bedeutet, der Systemadministrator bestimmt die Sicherheitsstrategie. Benutzer können nicht dagegen verstoßen. SELinux ist Teil des Linux Security Servers und ist Bestandteil des 2.6 Kernels. SELinux implementiert MAC durch die Benutzung von Type Enforcement (TE) und von Role Based Access Controls (RBAC). Type Enforcement bedeutet, jedem Objekt des Systems ist ein Type zugeordnet. Der Sicherheitsadministrator definiert ein Regelwerk, welches die Zugriffsrechte zwischen Paaren von Types definiert. Role Based Access Controls ordnet dem Benutzer eine Reihe von Rollen zu, die Zugriffe und andere aktionen erlauben oder einschränken. Z.B kann ein Benutzer begrenzte Root-Rechte erhalten um den Mail Server zu verwalten, ohne Root-Rechte auf den Rest des Systems. cs 0680 ww6 wgs 07-05 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 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 0640 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 3020 ww6 wgs 12-04 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. Source Routing Normalerweise erfolgt das IP Routing dynamisch. Die Alternative ist Source Routing. Hierbei wird die Route spezifiziert. Hacker benutzen Source Routing um einen anderen Rechner (trusted Maschine) als Sender vorzutäuschen. Nur wenige wichtige Dienste verwenden source routing. Firewalls sollten deshalb alle Source Routing Pakete herausfiltern. css06116 ww6 wgs 01-98 Cs 0674 ww6 wgs 07-03 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 Zwei Arten von Application Firewalls (Proxy Server) Circuit Level Firewall • Zwischenstufe für alle TCP/IP Verbindungen • 2 Verbindungen (Sessions) zwischen local Host und Proxy, und zwischen Proxy und remote Host • Inhalt der übertragenen Nachricht wird nicht untersucht Stateful Inspection Firewall • • • • Untersuchen des Inhalts der übertragenen Nachricht Authentifizierung Virenscanner für SSL Nachrichten Logging cs 0679 ww6 wgs 12-03 cs 0641 wgs 09-00 Socks Server Ein Circuit Level Proxy Server erfordert eine Anpassung aller beteiligten Anwendungen. Dies kann mit Hilfe einer Socks Package entsprechend dem Internet Standard RFC 1928 geschehen. In diesem Fall wird der Proxy Server als Socks Server bezeichnet. Die Client Anwendung has to be socksified. Mit Hilfe der Runsocks Package kann dies für unterstützte Anwendungen (z.B. telnet, ftp und Netscape) und für unterstützte Betriebssysteme dynamisch, ohne Rekompilierung erfolgen (http://www.socks.permeo.com/). Anderer Ansatz: AIX (IBM PowerPC) Rechner verfügen über • rtelnet an Stelle von telnet • rftp an Stelle von ftp Die normalen C/C++ library Socket Calls sind durch SOCKS library Calls ersetzt.. Eine TELNET Verbindung z.B. sieht so aus: 1. Benutzer started die rtelnet Anwendung um sich in einen remote Host einzuloggen. 2. rtelnet sendet die TELNET Anforderung an den SOCKS server (sockd) des Application level Firewalls. 3. sockd überprüft die Identität des Benutzers, und wenn korrekt, stellt die Verbindung zu dem remote Host her. 4. Danach agiert der SOCKS Server als eine secure Pipeline zu dem remote Host. Der TELNET Benutzer merkt hiervon nichts. cs 0637 ww6 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 unsicheren 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 Internet Zugang und Firewall System Kommunalen Rechenzentrums Stuttgart cd 0671 ww6 wgs 03-03 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 Netzwerk Address Translation Internet 139.18.4.97 von 80.131.84.10 nach 139.18.4.97 von 139.18.4.97 nach 80.131.84.10 80.131.84.10 NAT Table Intern Firewall Router 192.168.0.2 192.168.0.4 192.168.0.5 192.168.0.7 extern 139.18.4.97 134.2.14.19 193.99.144.71 129.42.16.99 192.168.0.1 von 192.168.0.2 nach 139.18.4.97 von 139.18.4.97 nach 192.168.0.2 192.168.0.2 cs 0663 ww6 192.168.0.4 192.168.0.5 192.168.0.7 wgs 01-04 Never install a Firewall Dipl. Inf. Sebastian Schreiber SySS GmbH Friedrich-Dannenmann-Str. 2 72070 Tübingen http://www.syss.de/