Single Sign On mit Kerberos V5

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Single Sign On mit Kerberos V5 - Presentation Transcript

    1. Single Sign-On mit Kerberos V5 Mike Wiesner info@mwiesner.com
    2. Copyright (C) 2007 Mike Wiesner Dieses Werk kann durch jedermann gemäß den Bestimmungen der Lizenz für die freie Nutzung unveränderter Inhalte genutzt werden. Die Lizenzbedingungen können unter http://www.uvm.nrw.de/ opencontent abgerufen oder bei der Geschäftsstelle des Kompetenznetzwerkes Universitätsverbund MultiMedia NRW, Universitätsstraße 11, D-58097 Hagen, schriftlich angefordert werden. Eine Nutzung außerhalb dieser Lizenz bedarf der schriftlichen Genehmigung des Rechteinhabers. Dieser Hinweis darf nicht entfernt werden!
    3. Agenda ๏ Identitätsmanagement ๏ Single Sign-On ๏ Kerberos Grundlagen ๏ Implementierungen ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    4. Agenda ๏ Identitätsmanagement ➡ Begriffe ➡ Identitätsnachweis ➡ Kryptographische Grundlagen ๏ Single Sign-On ๏ Kerberos Grundlagen ๏ Implementierungen ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    5. Identitätsmanagement Begriffe • Authentifizierung (Authentication) • Identitätsfeststellung • z.B. Personalausweis, Pass, ... • Autorisierung (Authorization) • Zuweisung von Rechten • z.B. Mitgliedsausweis, Access Control Lists • Überwachung (Auditing) • Aufzeichnen von Authentifizierungen und Autorisierungen • z.B. Auth-Log bei Linux Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    6. Identitätsnachweis • Benutzername/Kennwort • Key bzw. Zertifikat • Smart Card • Foto • Fingerabdruck • Iris Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    7. Kryptographische Grundlagen • symmetrische Verschlüsselung • Ein Key zum Ver- und Entschlüsseln • schwierige Verwaltung, dafür sehr schnell • z.B. DES, 3DES, AES, RC5 • Verwendung: Kerberos, SSL • asymmetrische Verschlüsselung • Zwei Keys jeweils zum Ver- und Entschlüsseln • einfachere Verwaltung aber dafür langsam • z.B. RSA, DSA, ElGamal • Verwendung: PGP, Signaturen, SSL Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    8. Agenda ✓ Identitätsmanagement ๏ Single Sign-On ➡ Was bedeutet Single Sign-On? ➡ Wieso brauchen wir das? ➡ Lösungsansätze ๏ Kerberos Grundlagen ๏ Implementierungen ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    9. Was bedeutet Single Sign-On? • Benutzerauthentifizierung nur einmal • Anschließend Zugriff auf (alle) Systeme • Führt i.d.R. keine Autorisierung durch • Eine Stufe darunter: Single Credential • Ein Benutzername/Kennwort für alle Systeme Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    10. Wieso brauchen wir das? • Produktivitätssteigerung • Arbeitsfluss wird nicht gestört • Einfachere Administration • Erhöhte Sicherheit, denn ohne SSO... • wird oft das gleiche Kennwort benutzt • wird das Kennwort auf mehreren Systemen gespeichert • geht das Kennwort mehrmals über das Netzwerk • Nachteil: Bei einer Kompromittierung erhält der Angreifer Vollzugriff. Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    11. Lösungsansätze • „Lokale Lösungen“ • Benutzername/Kennwort wird lokal gespeichert (z.B. durch Browser, Outlook, ...) • Portale • Einloggen bei einem zentralen Portal • Portal steuert weitere Zugriffe • Ticket Systeme • Ticket mit Identitätsnachweis wird bei der ersten Anmeldung erstellt • Authentifizierung anschließend über dieses Ticket Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    12. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ๏ Kerberos Grundlagen ➡ Was ist Kerberos? ➡ Funktionsweise ➡ Vor-/Nachteile ๏ Implementierungen ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    13. Was ist Kerberos? • Kerberos... • ... ist ein verteilter Authentifizierungsdienst. • ... ist konzipiert für offene und unsichere Netze. • ... ermöglicht Single Sign-On. • ... ist Plattform- und Systemunabhängig. • ... verwendet symmetrische Verschlüsselung. • ... ist in RFC 1510 beschrieben. Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    14. Principals & Realms • Kerberos Principals bestehen aus: • component[/component]...@REALM • z.B.: mike/admin@SECPOD.DE • Die erste component gibt den Benutzernamen an. • Die zweite (optionale) component die „Rolle“. • Der Realm gibt die Authentifizierungs-Domäne an. Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    15. KDC • KDC = Key Distribution Center • Besteht aus: • Principal Database • Speichert Principals und Keys • Authentication Server (AS) • Erstellt das Ticket Granting Ticket (TGT) • Ticket Granting Server (TGS) • Erstellt Service Tickets für ein TGT Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    16. Client Principal Client timestamp krbgt principal name Client Requested lifetime AS session key krbtgt principal name Ticket lifetime User's key AS session key Client principal Authentication Server Ticket lifetime KDC timestamp Client IP address TGT TGS key Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    17. Service principal AS session key Client principal Ticket lifetime KDC timestamp Client IP address TGT TGS key Client Client principal Client timestamp TGS Authenticator AS Session key Requested lifetime Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    18. TGS session key Service principal name Ticket lifetime AS Session key TGS session key Client principal Client Ticket lifetime KDC timestamp Client IP address TG S Service Ticket Service key Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    19. Service Specific Information TGS session key Client principal Ticket lifetime KDC timestamp Client IP address Client Service Ticket Service key Client principal Service Client timestamp Authenticator TGS Session key Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    20. Vorteile von Kerberos • Sichere, gegenseitige Authentifizierung aller Beteiligten • Keine Verbindung zwischen KDC und Services nötig • Geringe Belastung des KDCs • Autorisierung wird dem Service überlassen • Plattform- und Systemunabhängig Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    21. Nachteile von Kerberos • Keys müssen zu den Services verteilt werden • Uhrzeiten müssen synchronisiert sein (ntpdate, rdate) • nicht ohne weiteres mit Firewalls einsetzbar (NAT) • mangelnde Unterstützung bei den Clients (derzeit) Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    22. Vorteile gegenüber NTLM • Kerberos ist Standard • „Passwort“ geht nur einmal über das Netz • Gegenseitige Authentifizierung • Delegation möglich • Keine Kommunikation zwischen Server und KDC • Tickets werden beim Client gecached => schneller Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    23. weitere Protokolle/APIs • Generic Security Services API (GSSAPI): • generisches Interface zur Unterstützung von „strong Authentication“, wie z.B. Kerberos • wird oft von Services verwendet um Kerberos zu unterstützen • Security Support Provider Interface (SSPI): • Microsoft Pendant zu GSSAPI • Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO): • Übermittlung eines Kerberos-Tickets z.B. per HTTP Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    24. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ✓ Kerberos Grundlagen ๏ Implementierungen ➡ MIT ➡ Heimdal ➡ Microsoft ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    25. MIT • Referenzimplementierung • für Linux und Windows erhältlich • weit verbreitet • wird in den USA entwickelt • Unterstützt seit 1.3 unter anderem RC4 und AES zur Verschlüsselung • wird von vielen Anwendungen unterstützt Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    26. Heimdal • neuere Implementierung • nur für Linux erhältlich • wird außerhalb der USA entwickelt • bessere Master/Slave Synchronisierung • Unterstützung von (3)DES, AES und RC4 • Kerberos API und GSSAPI unterscheiden sich jedoch von den MIT APIs Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    27. Microsoft • neueste Implementierung (seit Windows 2000) • unterstützt nur Kerberos 5 • unterstützt nur RC4 und DES, kein 3DES • Unix Clients mit Windows KDC ist möglich • Windows Clients mit Unix KDC ist nicht ohne weiteres möglich. • kein GSSAPI (dafür SSPI) Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    28. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ✓ Kerberos Grundlagen ✓ Implementierungen ๏ Installation & Konfiguration Linux ➡ KDC einrichten ➡ Client einrichten ➡ Kerberized Service einrichten ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    29. Fallbeispiel Linux client kdc server (MIT-Kerberos) (ssh) • Betriebssystem: Debian GNU/Linux 3.1 (sarge) • Domain: secpod.de, Realm: SECPOD.DE • Benutzer: root, mike Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    30. KDC einrichten (1) • KDC installieren • Realm erzeugen • Admin Benutzer anlegen und testen • Admin Benutzer Rechte zuweisen • Keytab mit Kadmin Principals erzeugen • Benutzer anlegen und testen • DNS Serviceeinträge vornehmen (optional) Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    31. KDC einrichten (2) Installation kdc# apt-get install krb5-kdc krb5-admin-server Realm erzeugen kdc# kdb5_util create -s Admin Benutzer anlegen und testen kdc# kadmin.local kadmin.local: addprinc mike/admin kadmin.local: listprincs kadmin.local: exit kdc# /etc/init.d/krb5-kdc restart kdc# kinit mike/admin kdc# klist Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    32. KDC einrichten (3) Admin Benutzer Rechte zuweisen kdc# vi /etc/krb5kdc/kadm5.acl mike/admin@SECPOD.DE * Keytab mit Kadmin Principals erzeugen kdc# kadmin.local kadmin.local: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin kadmin/ changepw kadmin.local: exit kdc# /etc/init.d/krb5-adminserver restart Benutzer anlegen und testen kdc# kadmin kadmin: addprinc mike kadmin: addprinc root kadmin: exit kdc# kdestroy kdc# kinit mike kdc# klist Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    33. KDC einrichten (4) In der DNS-Zone für secpod.de (forward) folgende Einträge einfügen: _kerberos._udp.SECPOD.DE. IN SRV 1 0 88 kdc.secpod.de. _kerberos._tcp.SECPOD.DE. IN SRV 1 0 88 kdc.secpod.de. _kerberos-adm._tcp.SECPOD.DE. IN SRV 1 0 749 kdc.secpod.de. _kpasswd._udp.SECPOD.DE. IN SRV 1 0 464 kdc.secpod.de. Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    34. Client einrichten (1) • Kerberos Client-Pakete installieren • Testen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    35. Client einrichten (2) Kerberos Client-Pakete installieren: client# apt-get install krb5-user krb5-clients ssh-krb5 Testen: client# kinit mike/admin client# kadmin Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    36. Kerberos Login anlegen (1) • Host-Principal anlegen und Key exportieren • lokalen Benutzer anlegen • PAM Modul installieren • PAM einrichten • testen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    37. Kerberos Login anlegen (2) Host-Principal anlegen und Key exportieren client# kadmin kadmin: addprinc host/client.secpod.de kadmin: ktadd host/client.secpod.de kadmin: exit lokalen Benutzer anlegen client# adduser -–disabled-password mike PAM Modul installieren client# apt-get install libpam-krb5 PAM einrichten client# vi /etc/pam.d/common-auth auth sufficient pam_krb5.so forwardable auth required pam_unix.so nullok_secure client# vi /etc/pam.d/common-password password sufficient pam_krb5.so use_authtok password sufficient pam_unix.so ... client# vi /etc/login.defs CLOSE_SESSIONS yes login mike klist Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    38. Kerberized SSH (1) • Kerberized SSH installieren • Principal anlegen und Key exportieren • Benutzer anlegen • testen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    39. Kerberized SSH (2) Kerberized SSH installieren server# apt-get install ssh-krb5 krb5-user Principal anlegen und Key exportieren server# kinit mike/admin server# kadmin kadmin: addprinc host/server.secpod.de kadmin: ktadd host/server.secpod.de kadmin: exit Benutzer anlegen server# adduser –-disabled-password mike Testen client# login mike mike@client$ ssh server mike@server$ klist mike@server$ exit mike@client$ klist Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    40. weitere Services • Cyrus IMAP • OpenLDAP • Putty • Reflection X • Eudora • Apple Mail.app • Telnet • ... Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    41. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ✓ Kerberos Grundlagen ✓ Implementierungen ✓ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ➡ Windows Clients mit Linux KDC ➡ Linux Clients mit Windows KDC ➡ Linux Kerberized Service mit Windows KDC ๏ Ausblick
    42. Windows Clients mit Linux KDC • mit Hilfe eines Windows Domain Controllers via Cross-Realm Trust • Authentifizierung über den Linux KDC • Autorisierung über Windows Domain Controller • mit Windows Standalone PCs über das Tool ksetup • Authentifizierung über den Linux KDC • Autorisierung über lokale Benutzerrechte • Achtung: Einige Windows Programme haben Probleme mit einem Linux-KDC! Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    43. Linux Clients mit Windows KDC • Windows Domain Controller in der /etc/ krb5.conf als kdc eintragen • Kerberos Client muss RC4 Verschlüsselung unterstützen • Kennwortänderung und Administration nur mit Hilfe von Samba möglich Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    44. Fallbeispiel Linux/Windows • Betriebssystem: MS Windows 2003 Server Standard • Domain: winsecpod.de, Realm: WINSECPOD.DE • Benutzer: administrator, mike winkdc server (MS Kerberos) (samba,http) Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    45. Samba einrichten (1) • Samba-Pakete installieren • Samba konfigurieren • Windows Domäne beitreten • testen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    46. Samba einrichten (2) Samba-Pakete installieren server# apt-get install samba Samba konfigurieren server# vi /etc/samba/smb.conf security = ADS client use spnego = yes realm = WINSECPOD.DE password server = winkdc.winsecpod.de add user script = /usr/sbin/useradd -g winusers -m %u use kerberos keytab = yes Windows Domäne beitreten server# net join -U administrator server# /etc/init.d/samba restart Testen - Windows Explorer öffnen und „\\\\server“ eingeben. Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    47. HTTP einrichten (1) • Benutzer im ActiveDirectory anlegen • Apache Kerberos Modul installieren • Service Key erzeugen • Apache Kerberos Modul konfigurieren • testen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    48. HTTP einrichten (2) Benutzer mike im ActiveDirectory anlegen Apache Kerberos Modul installieren server# apt-get install libapache2-mod-auth-kerb Service Key erzeugen - ktpass Installieren (CD support/tool) - Benutzer http_server im Active Directory anlegen mit den Optionen „Kennwort läuft nie ab“ und „Benutzer kann das Kennwort nicht ändern“ winkdc C:\\> ktpass -out http.keytab -princ HTTP/ server.winsecpod.de@WINSECPOD.DE -pass * -mapuser http_server - http.keytab auf den Server kopieren Apache Kerberos Modul konfigurieren server# vi /var/www/test/.htaccess AuthType Kerberos AuthName „Kerberos Test Login“ KrbAuthRealms WINSECPOD.DE Krb5Keytab /http.keytab KrbServiceName HTTP require valid-user Testen - URL im Internet Explorer aufrufen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    49. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ✓ Kerberos Grundlagen ✓ Implementierungen ✓ Installation & Konfiguration Linux ✓ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
    50. Ausblick • Public-Key • Initial Authentication (PKINIT) • Cross-Realm (PKCROSS) • Smart Cards • Bessere Verschlüsselung • RC4 • AES • Webservices • WS-Security Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
    51. Buchempfehlung Kerberos The Definitive Guide Jason Garmen ISBN: 0596004036 Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com

    + Mike WiesnerMike Wiesner, 3 years ago

    custom

    11465 views, 0 favs, 5 embeds more stats

    Kerberos ist ein verteilter Authentifizierungsdiens more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 11465
      • 11264 on SlideShare
      • 201 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 147
    Most viewed embeds
    • 192 views on http://www.mwiesner.com
    • 6 views on http://blogs.globalinfinity.de
    • 1 views on http://209.85.129.104
    • 1 views on https://s3.amazonaws.com
    • 1 views on http://static.slideshare.net

    more

    All embeds
    • 192 views on http://www.mwiesner.com
    • 6 views on http://blogs.globalinfinity.de
    • 1 views on http://209.85.129.104
    • 1 views on https://s3.amazonaws.com
    • 1 views on http://static.slideshare.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories