Single Sign-On mit
   Kerberos V5
        Mike Wiesner
    info@mwiesner.com
Copyright (C) 2007 Mike Wiesner

Dieses Werk kann durch jedermann gemäß den
Bestimmungen der Lizenz für die freie Nutzung
...
Agenda
๏   Identitätsmanagement
๏   Single Sign-On
๏   Kerberos Grundlagen
๏   Implementierungen
๏   Installation & Konfigu...
Agenda
๏ Identitätsmanagement
 ➡ Begriffe
 ➡ Identitätsnachweis
 ➡ Kryptographische Grundlagen
๏ Single Sign-On
๏ Kerberos...
Identitätsmanagement Begriffe
•    Authentifizierung (Authentication)
    • Identitätsfeststellung
    • z.B. Personalauswe...
Identitätsnachweis
•   Benutzername/Kennwort

•   Key bzw. Zertifikat

•   Smart Card

•   Foto

•   Fingerabdruck

•   Iri...
Kryptographische Grundlagen
•    symmetrische Verschlüsselung
    • Ein Key zum Ver- und Entschlüsseln
    • schwierige Ve...
Agenda
✓ Identitätsmanagement
๏ Single Sign-On
 ➡ Was bedeutet Single Sign-On?
 ➡ Wieso brauchen wir das?
 ➡ Lösungsansätz...
Was bedeutet Single Sign-On?
•   Benutzerauthentifizierung nur einmal

•   Anschließend Zugriff auf (alle) Systeme

•   Füh...
Wieso brauchen wir das?
•    Produktivitätssteigerung
    • Arbeitsfluss wird nicht gestört
    • Einfachere Administration...
Lösungsansätze
•    „Lokale Lösungen“
    • Benutzername/Kennwort wird lokal
       gespeichert (z.B. durch Browser, Outlo...
Agenda
✓ Identitätsmanagement
✓ Single Sign-On
๏ Kerberos Grundlagen
 ➡ Was ist Kerberos?
 ➡ Funktionsweise
 ➡ Vor-/Nachte...
Was ist Kerberos?
•    Kerberos...
    • ... ist ein verteilter Authentifizierungsdienst.
    • ... ist konzipiert für offe...
Principals & Realms
•    Kerberos Principals bestehen aus:
    • component[/component]...@REALM
    • z.B.: mike/admin@SEC...
KDC
•   KDC = Key Distribution Center

•    Besteht aus:
    • Principal Database
      • Speichert Principals und Keys
  ...
Client Principal
                                Client timestamp
                              krbgt principal name
Clien...
Service principal

                               AS session key
                               Client principal
         ...
TGS session key
                          Service principal name
                              Ticket lifetime

          ...
Service Specific Information

                              TGS session key
                               Client principa...
Vorteile von Kerberos
•   Sichere, gegenseitige Authentifizierung aller
    Beteiligten

•   Keine Verbindung zwischen KDC ...
Nachteile von Kerberos
•   Keys müssen zu den Services verteilt werden

•   Uhrzeiten müssen synchronisiert sein (ntpdate,...
Vorteile gegenüber NTLM
•   Kerberos ist Standard
•   „Passwort“ geht nur einmal über das Netz
•   Gegenseitige Authentifiz...
weitere Protokolle/APIs
•    Generic Security Services API (GSSAPI):
    • generisches Interface zur Unterstützung von
   ...
Agenda
✓ Identitätsmanagement
✓ Single Sign-On
✓ Kerberos Grundlagen
๏ Implementierungen
 ➡ MIT
 ➡ Heimdal
 ➡ Microsoft
๏ ...
MIT
•   Referenzimplementierung

•   für Linux und Windows erhältlich

•   weit verbreitet

•   wird in den USA entwickelt...
Heimdal
•   neuere Implementierung

•   nur für Linux erhältlich

•   wird außerhalb der USA entwickelt

•   bessere Maste...
Microsoft
•   neueste Implementierung (seit Windows 2000)

•   unterstützt nur Kerberos 5

•   unterstützt nur RC4 und DES...
Agenda
✓ Identitätsmanagement
✓ Single Sign-On
✓ Kerberos Grundlagen
✓ Implementierungen
๏ Installation & Konfiguration Lin...
Fallbeispiel Linux


                                      client

     kdc                                               ...
KDC einrichten (1)
•   KDC installieren
•   Realm erzeugen
•   Admin Benutzer anlegen und testen
•   Admin Benutzer Rechte...
KDC einrichten (2)
Installation
kdc# apt-get install krb5-kdc krb5-admin-server
Realm erzeugen
kdc# kdb5_util create -s
Ad...
KDC einrichten (3)
Admin Benutzer Rechte zuweisen
kdc# vi /etc/krb5kdc/kadm5.acl
     mike/admin@SECPOD.DE *
Keytab mit Ka...
KDC einrichten (4)
In der DNS-Zone für secpod.de (forward) folgende Einträge einfügen:
_kerberos._udp.SECPOD.DE.          ...
Client einrichten (1)
•   Kerberos Client-Pakete installieren
•   Testen




           Single Sign-On mit Kerberos - (C) ...
Client einrichten (2)
Kerberos Client-Pakete installieren:
client# apt-get install krb5-user krb5-clients ssh-krb5

Testen...
Kerberos Login anlegen (1)
•   Host-Principal anlegen und Key exportieren
•   lokalen Benutzer anlegen
•   PAM Modul insta...
Kerberos Login anlegen (2)
Host-Principal anlegen und Key exportieren
client# kadmin
kadmin: addprinc host/client.secpod.d...
Kerberized SSH (1)
•   Kerberized SSH installieren
•   Principal anlegen und Key exportieren
•   Benutzer anlegen
•   test...
Kerberized SSH (2)
Kerberized SSH installieren
server# apt-get install ssh-krb5 krb5-user
Principal anlegen und Key export...
weitere Services
•   Cyrus IMAP
•   OpenLDAP
•   Putty
•   Reflection X
•   Eudora
•   Apple Mail.app
•   Telnet
•   ...


...
Agenda
✓ Identitätsmanagement
✓ Single Sign-On
✓ Kerberos Grundlagen
✓ Implementierungen
✓ Installation & Konfiguration Lin...
Windows Clients mit Linux KDC
•    mit Hilfe eines Windows Domain Controllers via
     Cross-Realm Trust
    • Authentifizi...
Linux Clients mit Windows KDC
•   Windows Domain Controller in der /etc/
    krb5.conf als kdc eintragen

•   Kerberos Cli...
Fallbeispiel Linux/Windows
•   Betriebssystem: MS Windows 2003 Server
    Standard
•   Domain: winsecpod.de, Realm: WINSEC...
Samba einrichten (1)
•   Samba-Pakete installieren
•   Samba konfigurieren
•   Windows Domäne beitreten
•   testen




    ...
Samba einrichten (2)
Samba-Pakete installieren
server# apt-get install samba
Samba konfigurieren
server# vi /etc/samba/smb...
HTTP einrichten (1)
•   Benutzer im ActiveDirectory anlegen
•   Apache Kerberos Modul installieren
•   Service Key erzeuge...
HTTP einrichten (2)
Benutzer mike im ActiveDirectory anlegen
Apache Kerberos Modul installieren
server# apt-get install li...
Agenda
✓   Identitätsmanagement
✓   Single Sign-On
✓   Kerberos Grundlagen
✓   Implementierungen
✓   Installation & Konfigu...
Ausblick
•    Public-Key
    • Initial Authentication (PKINIT)
    • Cross-Realm (PKCROSS)
•   Smart Cards

•    Bessere V...
Buchempfehlung
                                        Kerberos
                                        The Definitive Guid...
Nächste SlideShare
Wird geladen in …5
×

Single Sign On mit Kerberos V5

31.954 Aufrufe

Veröffentlicht am

Kerberos ist ein verteilter Authentifizierungsdienst, der plattform- und systemunabhängiges Single-Sign-On ermöglicht. Mittlerweile wird Kerberos von etlichen Diensten unterstützt und ermöglicht so ein effektives und sicheres Arbeiten im Netz. Die Administration wird durch Kerberos transparenter und einfacher. Da mittlerweile auch in Windows 2000-Domänen Kerberos- Authentifizierung Standard ist, vereinfacht es ebenfalls die Integration von Windows/Linux. In dieser Session geht es um die Grundlagen von Kerberos V5 und die Installation sowie dem Betrieb auf einem Debian 3.1 System.
Vorgestellt wird das Einrichten eines KDCs, die Einbindung in PAM, der Betrieb eines kerberized Services und die Integrationsmöglichkeiten mit Windows

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
31.954
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1.133
Aktionen
Geteilt
0
Downloads
147
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Single Sign On mit Kerberos V5

  1. 1. Single Sign-On mit Kerberos V5 Mike Wiesner info@mwiesner.com
  2. 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. 3. Agenda ๏ Identitätsmanagement ๏ Single Sign-On ๏ Kerberos Grundlagen ๏ Implementierungen ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
  4. 4. Agenda ๏ Identitätsmanagement ➡ Begriffe ➡ Identitätsnachweis ➡ Kryptographische Grundlagen ๏ Single Sign-On ๏ Kerberos Grundlagen ๏ Implementierungen ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ✓ Kerberos Grundlagen ๏ Implementierungen ➡ MIT ➡ Heimdal ➡ Microsoft ๏ Installation & Konfiguration Linux ๏ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
  25. 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. 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. 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. 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. 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. 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. 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. 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. 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. 34. Client einrichten (1) • Kerberos Client-Pakete installieren • Testen Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com
  35. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 49. Agenda ✓ Identitätsmanagement ✓ Single Sign-On ✓ Kerberos Grundlagen ✓ Implementierungen ✓ Installation & Konfiguration Linux ✓ Integrationsmöglichkeiten Linux/Windows ๏ Ausblick
  50. 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. 51. Buchempfehlung Kerberos The Definitive Guide Jason Garmen ISBN: 0596004036 Single Sign-On mit Kerberos - (C) 2007 Mike Wiesner - info@mwiesner.com

×