Client/Server-Systeme



Ähnliche Dokumente
Client/Server-Systeme

Client/Server-Systeme

Client/Server-Systeme

Client/Server-Systeme

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

NAT & VPN. Adressübersetzung und Tunnelbildung. Bastian Görstner

Client/Server-Systeme

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2009 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 11 RACF

VIRTUAL PRIVATE NETWORKS

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Secure Sockets Layer (SSL) Prof. Dr. P. Trommler

VPN: Virtual-Private-Networks

Uni-Firewall. Absicherung des Überganges vom Hochschulnetz zum Internet am Wingate (Helmut Celina)

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Virtual Private Network. David Greber und Michael Wäger

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Anleitung zur Nutzung des SharePort Utility

Virtual Private Network

Informatik für Ökonomen II HS 09

Security Associations Schlüsseltausch IKE Internet Key Exchange Automatischer Schlüsseltausch und Identitätsnachweis

IT-Sicherheit Kapitel 11 SSL/TLS

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Beispielkonfiguration eines IPSec VPN Servers mit dem NCP Client

How to install freesshd

Workshop: IPSec. 20. Chaos Communication Congress

TLS ALS BEISPIEL FÜR EIN SICHERHEITSPROTOKOLL

Connectivity Everywhere

Mail encryption Gateway

Sicherheit in Netzwerken. Leonard Claus, WS 2012 / 2013

Das neue Volume-Flag S (Scannen erforderlich)

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Verteilte Systeme Unsicherheit in Verteilten Systemen

Verteilte Systeme. Übung 10. Jens Müller-Iden

Firewalls für Lexware Info Service konfigurieren

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

FTP-Leitfaden RZ. Benutzerleitfaden

Fachbereich Medienproduktion

Programmiertechnik II

Secure Socket Layer V.3.0

Firewalls für Lexware Info Service konfigurieren

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Konfigurationsbeispiel USG

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Einführung in die Netzwerktechnik

Security + Firewall. 3.0 IPsec Client Einwahl. 3.1 Szenario

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Security + Firewall. 4.0 PPTP Client Einwahl. 4.1 Szenario

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Konfigurationsanleitung Network Address Translation (NAT) Funkwerk. Seite Copyright Stefan Dahler Oktober 2008 Version 1.

Comtarsia SignOn Familie

Seite Wireless Distribution System (Routing / Bridging) 3.1 Einleitung

-Verschlüsselung

Verschlüsselung von Daten mit TrueCrypt

SSL-Protokoll und Internet-Sicherheit

Fragen und Antworten. Kabel Internet

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

EchoLink und Windows XP SP2

Das Kerberos-Protokoll

Zehn SSH Tricks. Julius Plen z

MobiDM-App Handbuch für Windows Mobile

How-to: Webserver NAT. Securepoint Security System Version 2007nx

VPN (Virtual Private Network)

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Sicherer Netzzugang im Wlan

Datenempfang von crossinx

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7


Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Nachrichten- Verschlüsselung Mit S/MIME

Dynamisches VPN mit FW V3.64

Andy s Hybrides Netzwerk

Remote Control - LeCroy Oszilloskop WaveSurfer 3000 mit LabVIEW via VICP LAN-Schnittstelle

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Exkurs: IPSec. Brandenburg an der Havel, den 5. Juni 2005

Radius Server. Bericht im Studiengang Computerengineering an der HS-Furtwangen. Student: Alphonse Nana Hoessi Martikelnr.:227106

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

Transport Layer Security Nachtrag Angriffe

Websites mit Dreamweaver MX und SSH ins Internet bringen

Client-Server mit Socket und API von Berkeley

VPN IPSec Tunnel zwischen zwei DI-804HV / DI-824VUP+

Virtual Private Network

Inhalt. Erreichbarkeit von VPN-Gateways hinter einem Genexis FTTH-Abschlussrouter

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Installation mit Lizenz-Server verbinden

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

FTP-Leitfaden Inhouse. Benutzerleitfaden

msm net ingenieurbüro meissner kompetent - kreativ - innovativ

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

SSH-Zugang zu Datenbanken beim DIMDI

Grundkurs Routing im Internet mit Übungen

IT-Sicherheit Kapitel 13. Sicherheit

VPN Tracker für Mac OS X

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

PKI (public key infrastructure)

Transkript:

Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth WS 2008/2009 Teil 6 Sicherheitsprotokolle css 0633 ww6 wgs 01-98

Sicherheitsprotokolle voll symmetrisch Kerberos unternehmensintern asymmetrische Authentifizierung OSI Schicht 6 SSL PGP SSH Web, SHTML Mail Telnet, rlogin, FTP IPSec Aussenstellen PPTP Schicht 2,3 von Unternehmen L2TP cs 0574 ww6 wgs 12-03

Secure Socket Layer - SSL Schicht 5-7 Anwendungen 4 Socket Schnittst. 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

Secure Socket Layer Secure Socket Layer is a client-server communication protocol developed by Netscape for securing communications that use TCP/IP sockets. It uses asymmetric (public key) and symmetric key cryptography: For server authentication To provide data privacy and integrity For optional client authentication via digital certificate The SSL protocol is executed at the application level and therefore an application has to be designed to support SSL in order to benefit from the SSL protection. Although SSL is very well known as a way to secure http communications, any kind of TCP/IP socket communication is a candidate for SSL protection, with proper code support. However, SSL is also known to be a very demanding protocol in terms of computing resources in the session initialization phase known as the handshake. These resources are needed to support the heavy calculation required by the asymmetric (that is, public key) cryptography that the handshake uses. The handshake is followed by a data transfer phase, also called the SSL record protocol, which uses symmetric cryptography.

Secure Socket Layer (SSL) Transport Layer Security (TLS) Schicht 5-7 4 3 1-2 Das SSL Protokoll wird in der Schicht 5 ausgeführt. Anwendungen müssen deshalb angepasst werden, dass sie für SSL vorgesehene Ports an Stelle der für Sockets vorgesehenen Ports benutzen. Beim Übergang von SSL 3.0 auf SSL3.1 wurde SSL offiziell in TLS 1.0 (Transport Layer Security) umbenannt. Heute werden beide Bezeichnungen austauschbar verwendet.

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. 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 des Empfängers cs 0651 ww6 wgs 12-03

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 Symmetric Hashing Cryptographic encryption algorithms functions to keep data to ensure for user confidential message authentification integrity reliable communication protocol e.g. TCP/IP Secure Socket Layer Componenten TLS 1.0, 1.1 und 1.2 sind die standardisierten Weiterentwicklungen von SSL 3.0 (TLS 1.0 steht neu für SSL 3.1). Heute unterstützen alle gängigen Browser TLS cs 0634 x ww6 wgs 11-99

1. The client connects to the server indicating that it wants to perform SSL ( hello SSL message). Note that the client hello message also conveys a sessionid. 2. The server agrees to carry on an SSL conversation ( server hello ). The handshake begins. 3. The client and server agree on a common symmetric algorithm to be used for the data transfer that follows the handshake. The server imposes the list of possible algorithms and its order of preference in this list, which is compared to the client s own list. 4. The server provides its public key in its certificate to the client this is also called server authentication, and is a mandatory step of the SSL handshake. 5. The client verifies the integrity of the server s certificate, using the certificate of the Certification Authority that signed the server s certificate. Depending on the client design, if this certificate is not available due to an incomplete setup of the client s system or because the server s Certification Authority is not known from the end user, the client may ask the end user to agree on pursuing the communication or to abort it. 6. The client now has the server s public key and uses it to encrypt a random number, which is then sent to the server. The server retrieves the value of this random number using its private key. Note that it is the decryption of the secret random number using the server s private key that costs so much computing resource during the SSL handshake. This operation can be avoided, as explained below, by re-using the so-called session ID. 7. At this point only the client and server know this secret random number (the pre master secret), which can then be used to generate the keys to encrypt and decrypt the data, using the symmetric algorithm previously selected. The client and the server then close the handshake phase and enter the data transfer phase (also called SSL record protocol).

The pre-master secret value is actually used to derive the values of several different symmetric keys on each side: Keys for data encryption and decryption in each direction and keys for data integrity checking. It is important to understand when an SSL handshake is actually to occur and how one can reduce the amount of these costly handshakes. A handshake has to occur every time a TCP connection is initiated by the client, which means that SSL protected protocols that are keeping the connection open for a long time, such as TN3270 does, are executing handshakes very seldom. On the other hand, protocols that are closing the connection frequently, as http should do after each html page, are then very costly in handshakes. The use of persistent sessions with http 1.1 is then reducing the number of handshakes. The SSL protocol has a built-in mechanism to reduce the number of handshakes: The sessionid re-use. Actually, the SSL server can be set up to remember the pre-master secret previously established with the client and the corresponding sessionid. When a client re-establishes a TCP connection to resume an SSL conversation with a server, it actually presents the previous sessionid that was established with this server in the client hello message. If the server remembers the pre-master secret linked to this sessionid, it then signals the client that a new handshake is not needed; they will re-use the previous pre-master secret value. They then directly enter the data transfer phase. The server is set up to remember the sessionid with the SSLtimeOut parameter, which tells for how long the server keeps the previous premaster secret in its memory. The duration of the SSLtimeOut, commonly in the order of several minutes or hours, is an installation trade-off between security and performance, as the longer the timeout the longer the time left to an attacker to discover the value of the symmetric keys. Even if the pre-master secret value is reused, the derived keys are different every time from the keys actually used in the previous session, which reduces the exposure to a key discovery attack.

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 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. 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. PuTTY freier SSH- und Telnet-Client für Microsoft Windows, Unix und MacOS WinSCP ist ein Freeware SCP (Secure CoPy) Programm für Windows. cs 0677 ww6 wgs 12-03

Leistungsabfall beim Einsatz von SSL Einsatz von Krypto-Koprozessoren Bei den modernen z9 Mainframe Rechnern ist die Kryptofunktion in das CPU Chip integriert. Es existieren Funktionen wie DES oder SHA-1, die als Maschinenbefehle direkt ausgeführt werden. es 1312 ww6 wgs 11-00

Intel 80386 Intel 80387 Micro Gleitkomma Prozessor Koprozessor Ohne 80387 verursacht die Ausführung eines Gleitkomma- Maschinenbefehls 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 Krypto- Koprozessor Funktion in das CPU Chip integriert. Dies beinhaltet z.b. Maschinenbefehle, die einen Puffer mit einer Klartext Nachricht direkt mit DES nach dem Electronic Code Block Mode (ECB) oder dem Cipher Block Chaining (CBC) umwandeln oder alternativ ein SHA-1 Digest erzeugen.

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 3DES- Schlüssel. Alle sensitiven kryptographischen Prozesse laufen im Chip ab. Ein Beispiel ist die WebSign-HBCI Banking der Deutschen Bank. cs 0682 ww6 cs\pubs\finztran.pdf wgs 10-05

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 Internet Betriebsgelände B 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 TCP Daten IP Kopf IP Daten IPsec Protokoll Authentication Header (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

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

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

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 3DES- Schlüssel. Alle sensitiven kryptographischen Prozesse laufen im Chip ab. Ein Beispiel ist die WebSign-HBCI Banking der Deutschen Bank. cs 0682 ww6 cs\pubs\finztran.pdf wgs 10-05

TrueCrypt Free open-source disk encryption software for Windows Vista/XP, Mac OS X, and Linux Main Features: * Creates a virtual encrypted disk within a file and mounts it as a real disk. Encrypts an entire hard disk partition or a storage device such as USB flash drive. Encryption is automatic, real-time (on-the-fly) and transparent. Provides two levels of plausible deniability, in case an adversary forces you to reveal the password: 1) Hidden volume (steganography more information may be found here). 2) No TrueCrypt volume can be identified (volumes cannot be distinguished from random data). Encryption algorithms: AES-256, Serpent, and Twofish. Mode of operation: XTS. A keyring stores known encryption keys. http://www.truecrypt.org/

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 eine unterschiedliche Zugriffsberechtigung Aij geben. A 11 1 1 A 12 2 2 A 13 3 3 A 14 4 4 A 15 5 5 Subjekte (Klienten, Prozesse) Objekte Dateien, Programme cs 0626u ww6 wgs 05-99

Objekte, z.b. Dateien, Programme 0 1 2 n 0 A 0,0 A 0,1 A 0,2 A 0,n 1 A 1,0 A 1,n Subjekte 2 A 2,0 A 2,n z.b. : Personen, 3 Capability Klienten, List Prozesse.... m A m,0 A m,1 A m,2 A m,n ACL, Access Control List Zugriffskontrolliste Zugriffsmatrix Capabilities werden mit den Subjekten gespeichert. ACLs werden mit den Objekten gespeichert. Beispiel: Directory Eintrag einer Datei speichert ACLs. Benutzer Authorisierungs-Record speichert Capabilities. vs1507 ww6 wgs 05-96

ACL Datei 1 Datei 2 Datei 3 Meier r/w x - Müller - - r/w Schulze r r r Capabilities Bauer r r/w - Access Control Lists und Capabilities cs 0627u ww6 wgs 05-99

Benutzer 2 Benutzer 4 x x x x x x x x x x x x x x Benutzer 1 x x x x x x x Benutzer 3 Benutzer 5 Group 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. Role Based Access Control (RBAC) 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 Subjekten und Objekten zu vordefinierten Gruppen mit voreingestellten Zugriffsrechten. Profile werden in einer speziellen Datenbank gespeichert und bei jeder sicherheitsrelevanten Aktion mittels einer Scriptsprache interpretiert ( if then else ). Zugriffssteuerung ist 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 (z/os) Computer Associates etrust Access Control (Linux, Unix, Windows) IBM RACF (z/os) Security Enhanced Linux (SE-Linux) cs 0576 ww6 wgs 01-05

z/os Security Server Resource Access Control Facility 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 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

RACF Datenbank Resource Profile 5 Resource Resource 1 Manager Manager RACF z.b. TSO z.b. CICS (oder ACF2) 2 RACROUTE 3 RACROUTE 4 SAF z/os 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 z/os 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 z/os spezifiziert kritische Events innerhalb des Betriebssystems als sicherheitssensitive Verzweigungen. Die z/os Security Authorisation Facility (SAF) bewirkt an diesen Stellen den Aufruf einer externen Security Engine. In z/os ist dies häufig RACF; alternative z/os 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

intern Sicheres Netz z.b. LAN sicherer Netzadapter Firewall nicht sicherer Netzadapter extern 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 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 Port Filtering Port IP Adresse # 2 Router # 1 220.0.0.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 Source Destination Destination Action IP Adr. Port IP Adr. Port 1 any any 220.0.0.1 25 permit 2 any any any any block Access Control Liste für Filtering Router Port Nr. 2 Eintrag Source Source Destination Destination Action IP Adr. Port IP Adr. Port 1 220.0.0.1 any any 25 permit 2 any any any any block cs 0658 ww6 wgs 09-01

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

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 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 Internet Innerer Firewall Äußerer Firewall Name Server WEB Server css0621 ww6 wgs 01-98

Never install a Firewall Sie haben nicht das erforderliche Fachwissen Dipl.-Inf. Sebastian Schreiber SySS GmbH Friedrich-Dannenmann-Str. 2 72070 Tübingen http://www.syss.de/

Netzwerk Address Translation Internet 139.18.4.97 von 80.131.84.10 von 139.18.4.97 nach 139.18.4.97 nach 80.131.84.10 Intern 80.131.84.10 NAT Table extern Firewall Router 192.168.0.2 139.18.4.97 192.168.0.4 134.2.14.19 192.168.0.5 193.99.144.71 192.168.0.7 129.42.16.99 von 192.168.0.2 nach 139.18.4.97 192.168.0.1 von 139.18.4.97 nach 192.168.0.2 192.168.0.2 192.168.0.4 192.168.0.5 192.168.0.7 cs 0663 ww6 wgs 01-04