Single-Sign-On wird immer häufiger von Unternehmen gefordert. Die Vorteile liegen klar auf der Hand: Der Arbeitsfluss wird nicht durch ständige Kennworteingaben unterbrochen, der Benutzer muss sich nicht so viele Kennwörter merken und wählt daher erfahrungsgemäß ein komplexeres Kennwort, der Administrationsaufwand sinkt und letztlich steigt auch die Sicherheit, da sensible Daten nur noch auf einem System vorgehalten werden müssen. SSO macht allerdings nur dann Sinn, wenn das verwendete Protokoll auch auf breiter Ebene unterstützt wird.
Hier hat sich in den letzten Jahren das Open Source Protokoll Kerberos immer mehr hervorgetan. Mittlerweile wird es unter anderem auf Linux, MS Windows (ab 2000), Sun Solaris und Mac OS unterstützt. Teilweise gibt es sogar mehrere Implementierungen, die aber alle untereinander kompatibel sind, sodass ein Windows-Client ohne Probleme mit einem Linux-Server kommunizieren kann.
Auch beim Anwendungsprotokoll lässt Kerberos einem freie Wahl, sodass es ohne Probleme mit z.B.: ssh, http, ldap oder auch eigenen Protokollen verwendet werden kann. Zu den Programmen die Kerberos unterstützen zählen unter anderem Firefox, MS Internet Explorer, OpenSSH, OpenLDAP, Apache HTTP-Server, Cyrus und viele mehr. Für die eigene Softwareentwicklung stehen APIs für C, C#, Perl und Java zur Verfügung.
In dieser Session werden zunächst Grundlagen zu SSO und Kerberos auf kompakte Weise vermittelt. Anschließend geht es um die Vorraussetzungen für ein Unternehmensweites SSO und die möglichen Probleme die dabei auftreten können. Um das ganze anschaulicher zu machen werden schließlich noch einige Beispiele aus der Praxis vorgestellt und als Fazit die Vor- und Nachteile von Kerberos sowie die Alternativen dazu vorgestellt.
1. Kerberos als Unternehmsweites
Single-Sign-On
Mike Wiesner
Interface21
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
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!
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
3. Über mich
• Senior Consultant bei Interface21 Germany
– Hersteller des Java OSS-Frameworks Spring
• IT-Security Consulting
• Acegi-/Spring-Consulting
• Trainings
• mwiesner@interface21.com
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
4. Agenda
• Grundlagen SSO
• Kerberos
• Das Unternehmensweite SSO?
• Fazit
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
7. Systemlandschaft gestern...
X X
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
8. Systemlandschaft heute...
X X
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
9. Systemlandschaft heute...
Java, C++
X X
Java, C++, .NET
HTTP
RMI
.NET, C
IMAP
IIOP
C, PHP, J2EE
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
10. Das Ergebnis:
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
11. Das Ergebnis:
Anmeldung
Mike
Benutzername:
****
Kennwort:
OK Abbrechen
LDAP-Anmeldung
User1
Benutzername
****
Kennwort
Abbrechen OK
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
12. Das Ergebnis:
Anmeldung
Mike
Benutzername:
****
Kennwort:
OK Abbrechen
LDAP-Anmeldung
User1
Benutzername
****
Kennwort
Abbrechen OK
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
14. Lösungen
• Andere Authentifizierungen:
– Smart Cards
– Finger Scans
– Passwort Manager
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
15. Lösungen
• Andere Authentifizierungen:
– Smart Cards
– Finger Scans
– Passwort Manager
• Nachteile:
– Unterstützung durch Anwendung nötig
– Hardwarekosten
– Wechsel nicht ohne weiteres möglich
– Wie kommt der Benutzername zum Server?
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
16. Client-/Server-Authentifizierung
Benutzer=mike
Client
LDAP-Anmeldung
User1
Benutzername
****
Kennwort
Server
Abbrechen OK
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
17. Client-/Server-Authentifizierung
Benutzer=mike
Client
LDAP-Anmeldung
User1
Benutzername
****
Kennwort
Server
Abbrechen OK
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
18. Client-/Server-Authentifizierung
Benutzer=mike
Client
LDAP-Anmeldung
User1
Benutzername
****
Kennwort
Server
Abbrechen OK
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
19. Lösung Client-/Server-
Authentifizierung
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
20. Lösung Client-/Server-
Authentifizierung
• Server authentifiziert ebenfalls
– Kennwort geht immer über das Netzwerk
– Probleme bei Hardware-Authentifzierung
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
21. Lösung Client-/Server-
Authentifizierung
• Server authentifiziert ebenfalls
– Kennwort geht immer über das Netzwerk
– Probleme bei Hardware-Authentifzierung
• Verschlüsselung des Benutzernamens
– Client muss den Schlüssel kennen
– Manipulation möglich
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
23. Lösung Single-Sign-On
• Abstraktion zum Authentifizierungsverfahren
– Nur das SSO-System authentifiziert
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
24. Lösung Single-Sign-On
• Abstraktion zum Authentifizierungsverfahren
– Nur das SSO-System authentifiziert
• Sicheres übertragen des Benutzernamens
– Kein übertragen des Kennworts nötig
– SSO-Server verschlüsselt Benutzername
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
25. Lösung Single-Sign-On
• Abstraktion zum Authentifizierungsverfahren
– Nur das SSO-System authentifiziert
• Sicheres übertragen des Benutzernamens
– Kein übertragen des Kennworts nötig
– SSO-Server verschlüsselt Benutzername
• Fertige Bibliotheken/APIs
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
26. Lösung Single-Sign-On
• Abstraktion zum Authentifizierungsverfahren
– Nur das SSO-System authentifiziert
• Sicheres übertragen des Benutzernamens
– Kein übertragen des Kennworts nötig
– SSO-Server verschlüsselt Benutzername
• Fertige Bibliotheken/APIs
• Häufigstes Verfahren: Tickets
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
27. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
28. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
29. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
30. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
31. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
32. SSO Ablauf
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
33. SSO Ablauf
• Authentifizierung Client gegenüber SSO-Server
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
34. SSO Ablauf
• Authentifizierung Client gegenüber SSO-Server
• Rückgabe Ticket mit verschlüsseltem
Benutzername
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
35. SSO Ablauf
• Authentifizierung Client gegenüber SSO-Server
• Rückgabe Ticket mit verschlüsseltem
Benutzername
• Übermittlung des Tickets zum Anwendungsserver
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
36. SSO Ablauf
• Authentifizierung Client gegenüber SSO-Server
• Rückgabe Ticket mit verschlüsseltem
Benutzername
• Übermittlung des Tickets zum Anwendungsserver
• Validierung des Tickets auf dem
Anwendungsserver
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
37. SSO Ablauf
• Authentifizierung Client gegenüber SSO-Server
• Rückgabe Ticket mit verschlüsseltem
Benutzername
• Übermittlung des Tickets zum Anwendungsserver
• Validierung des Tickets auf dem
Anwendungsserver
• Bestätigter Benutzername auf dem Server
vorhanden
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
38. Ist das sicher?
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
39. Ist das sicher?
Ziel:
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
40. Ist das sicher?
Ziel:
• Sicherheit soll nicht schlechter sein als ohne SSO
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
41. Ist das sicher?
Ziel:
• Sicherheit soll nicht schlechter sein als ohne SSO
• Evtl. sogar besser?
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
42. Klassisch
Java, C++
X X
Java, C++, .NET
LDAP
HTTP
DB
RMI
.NET, C
IMAP
DB
IIOP
DB
DB
C, PHP, J2EE
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
43. Klassisch
Java, C++
X X
Java, C++, .NET
LDAP
HTTP
DB
RMI
.NET, C
IMAP
DB
IIOP
DB
DB
C, PHP, J2EE
Viele
Datenspeicher
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
44. Klassisch
Java, C++
X X
Java, C++, .NET
LDAP
HTTP
DB
RMI
.NET, C
IMAP
DB
IIOP
Viele
DB
Kennwortübertagungen
DB
C, PHP, J2EE
Viele
Datenspeicher
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
45. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
46. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
Ein
Datenspeicher
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
47. Ticket mit
SSO
Benutzername
Client
LDAP-Anmeldung
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
Ticket Validierung
(= Benutzername)
Authentifizierung
Ein
Datenspeicher
SSO-Server
Kennwort
einmal
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
48. Höhere Sicherheit mit SSO!
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
49. Höhere Sicherheit mit SSO!
• Angrisfläche wird kleiner
– Nur ein Datenspeicher und Authentifizierungs-System
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
50. Höhere Sicherheit mit SSO!
• Angrisfläche wird kleiner
– Nur ein Datenspeicher und Authentifizierungs-System
• Kennwortübertragung verringert
– Nur einmal nötig
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
51. Höhere Sicherheit mit SSO!
• Angrisfläche wird kleiner
– Nur ein Datenspeicher und Authentifizierungs-System
• Kennwortübertragung verringert
– Nur einmal nötig
• I.d.R. bessere Kennwörter
– Eingabe nur einmal nötig
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
52. Höhere Sicherheit mit SSO!
• Angrisfläche wird kleiner
– Nur ein Datenspeicher und Authentifizierungs-System
• Kennwortübertragung verringert
– Nur einmal nötig
• I.d.R. bessere Kennwörter
– Eingabe nur einmal nötig
• Vorraussetzung:
– Das SSO-System ist sicher!
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
53. Agenda
• Grundlagen SSO
• Kerberos
• Das Unternehmensweite SSO?
• Fazit
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
55. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
56. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
57. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
• Beschreibung: RFC 1510
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
58. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
• Beschreibung: RFC 1510
• Ticket basiertes System in vertrauten Netzwerken
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
59. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
• Beschreibung: RFC 1510
• Ticket basiertes System in vertrauten Netzwerken
• Netzwerk selbst muss nicht „sicher“ sein
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
60. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
• Beschreibung: RFC 1510
• Ticket basiertes System in vertrauten Netzwerken
• Netzwerk selbst muss nicht „sicher“ sein
• Server müssen sich bei Kerberos registrieren
– Gegenseitige Authentifizierung möglich
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
61. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
• Beschreibung: RFC 1510
• Ticket basiertes System in vertrauten Netzwerken
• Netzwerk selbst muss nicht „sicher“ sein
• Server müssen sich bei Kerberos registrieren
– Gegenseitige Authentifizierung möglich
• SSO bereits von Anfang an eingebaut
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
62. Kerberos Steckbrief
• 1983: Projekt Athena beim MIT
• 1993: Aktuelle Version 5
• Beschreibung: RFC 1510
• Ticket basiertes System in vertrauten Netzwerken
• Netzwerk selbst muss nicht „sicher“ sein
• Server müssen sich bei Kerberos registrieren
– Gegenseitige Authentifizierung möglich
• SSO bereits von Anfang an eingebaut
• basiert auf symmetrische Verschlüsselung
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
63. SSO mit Kerberos
Ticket mit
Benutzername
Client
Kerberos-Anmeldung
Ticket Validierung
(= Benutzername)
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
zuvor ausgetauscht
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
64. SSO mit Kerberos
Ticket mit
Benutzername
Client
Kerberos-Anmeldung
Ticket Validierung
(= Benutzername)
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
zuvor ausgetauscht
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
65. SSO mit Kerberos
Ticket mit
Benutzername
Client
Kerberos-Anmeldung
Ticket Validierung
(= Benutzername)
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
zuvor ausgetauscht
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
66. SSO mit Kerberos
Ticket mit
Benutzername
Client
Kerberos-Anmeldung
Ticket Validierung
(= Benutzername)
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
zuvor ausgetauscht
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
67. SSO mit Kerberos
Ticket mit
Benutzername
Client
Kerberos-Anmeldung
Ticket Validierung
(= Benutzername)
User1
Benutzername
Ticket mit
Benutzername
****
Kennwort
Server
Abbrechen OK
zuvor ausgetauscht
Authentifizierung
SSO-Server
LDAP
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
68. Kennungen
• Service-Principal:
– Dienstkennung/Servername@REALM
– z.B.: HTTP/server.secpod.de@SECPOD.DE
• Benutzername:
– Benutzername@REALM
– z.B.: mike@SECPOD.DE
• Realm immer groß schreiben!
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
69. Verbreitung Betriebssysteme
• Standard Authentifizierung seit Windows 2000
– Eigene (Standardkonforme) Implementierung durch
Microsoft
• Implementierungen für Linux/Unix:
– MIT
– Heimdal
• Sun Solaris
• Mac OS X
• Eigenes Dateisystem: AFS
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
70. Verbreitung Anwendungen
• Apache Webserver (mod_auth_kerb)
• Microsoft IIS
• OpenSSH
• PAM
• Samba
• OpenLDAP
• Dovecot (imap + pop)
• Apple Mail.app
• ...
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
71. API
• Kerberos API nicht direkt empfohlen
• Abstraktion: GSS-API
– Generic Security Services API
– bei Windows SSPI
• Bindings für z.B. Java und C
• Kerberos via HTTP: SPNEGO
– Simple and Protected GSSAPI Negotiaton Mechanism
– Firefox, Safari, Internet Explorer, Apache Webserver,
Microsoft IIS, ...
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
72. Agenda
• Grundlagen SSO
• Kerberos
• Das Unternehmensweite SSO?
• Fazit
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
74. Unternehmesweites SSO?
• Häufig ist es bereits der Fall:
– Bei Windows ist es Standard
– Bei Solaris wird es empfohlen
– Bei Linux, FreeBSD und Mac OS X gibt es bewährte
Unterstützung
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
75. Unternehmesweites SSO?
• Häufig ist es bereits der Fall:
– Bei Windows ist es Standard
– Bei Solaris wird es empfohlen
– Bei Linux, FreeBSD und Mac OS X gibt es bewährte
Unterstützung
• Wieso nutzt es dann nicht schon jeder?
– Mangelende Fachliteratur (nur 1 Buch)
– Keine Unterstützung bei Java (bis Version 1.4)
– Wenig How-To Anleitungen im Internet
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
77. Unternehmesweites SSO?
• Also:
– Keine technische Hürden
– Keine Unternehmerischen Hürden
– „Nur“ fehlendes Know-How
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
78. Unternehmesweites SSO?
• Also:
– Keine technische Hürden
– Keine Unternehmerischen Hürden
– „Nur“ fehlendes Know-How
• Aber es wird besser:
– Spring Security unterstützt demnächst Java GSS-API
– Anleitungen werden immer mehr
– Professioneller Support ist vorhanden
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
79. Beispiel 1
• Windows XP/2000 Clients
– Internet Explorer, Firefox
• Windows 2003 Server mit Active Directory
• Debian GNU/Linux Server
– Apache Webserver
– PHP Webanwendung
• Ziel:
– Transparentes SSO bei der Webanwendung durch den
Browser
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
80. Beispiel 1
Windos XP Clients Ticket mit
Benutzername
Benutzername als
Apache Webserver
+ mod_auth_kerb Umgebungsvariable
PHP-
Webanwendung
zuvor ausgetauscht
Authentifzierung Debian GNU/Linux
Windows 2003 Server
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
81. Beispiel 1
• Client
– Keine Installation notwendig
• Debian GNU/Linux Server
– mod_auth_kerb beim Apache installieren
• Windows 2003 Server
– Keytab für Apache Webserver erzeugen (ktpass)
• PHP-Anwendung
– Auslesen der Variable REMOTE_USER
– geht auch mit Perl, Tomcat, etc.
• Alternative Anmeldung über BASIC möglich
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
82. Beispiel 2
• Windows XP und Linux Clients
– PuTTy, OpenSSH
• Windows 2003 Server
• Linux und Solaris Server
– OpenSSH
• Ziel:
– Anmeldung an allen Server mit der „Windows-Kennung“
– Idealerweise mit transparentem SSO
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
83. Beispiel 2 (ohne SSO)
Windos XP / Linux Clients Benutzername
+ Kennwort
PAM-Modul
Ticket mit
Authentifzierung Benutzername
X
zuvor ausgetauscht
Linux / Solaris Server
PAM-Modul
zuvor ausgetauscht
X
Linux / Solaris Server
Windows 2003 Server
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
84. Beispiel 2 (mit SOO)
Windos XP / Linux Clients Ticket mit
Benutzername
PAM-Modul
Ticket mit
Benutzername
X
zuvor ausgetauscht
Authentifzierung Linux / Solaris Server
PAM-Modul
zuvor ausgetauscht
X
Linux / Solaris Server
Windows 2003 Server
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
85. Beispiel 2
• Client
– Bei SSO + Windows: Spezieller Putty notwendig
– Ansonsten: OpenSSH
• Server
– Bei SSO: Kerberos OpenSSH Feature
– Ohne SSO: Kerberos PAM Modul
• Windows 2003 Server
– Keytab für Server erzeugen (ktpass)
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
86. Beispiel 3
• Windows XP und Linux Clients
– Eigener Java Client
• Windows 2003 Server
• Beliebig
– Eigener Java Server
• Ziel:
– Übernahme der Betriebssystemanmeldung vom Client
– Sichere Übermittlung des Benutzernamens zum Server
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
87. Beispiel 3
Windos XP / Linux Clients
Ticket mit
Benutzername
Java Client
Java Server
zuvor ausgetauscht
Authentifzierung Beliebiger Server
Windows 2003 Server
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
88. Beispiel 3
• Client
– Java Anwendung
• Server
– Java Anwendung
• Windows 2003 Server
– Keytab für Anwendung erzeugen (ktpass)
• Ticket kann beliebig übermittelt werden
– RMI, HTTP, ...
• Keine Kerberos-Lib auf Server notwendig
• Demnächst Unterstützung durch Spring Security
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
89. Agenda
• Grundlagen SSO
• Kerberos
• Das Unternehmensweite SSO?
• Fazit
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
91. Fazit
• Infrastruktur häufig schon vorhanden
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
92. Fazit
• Infrastruktur häufig schon vorhanden
• Unterstützung bei Standard-Produkten vorhanden
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
93. Fazit
• Infrastruktur häufig schon vorhanden
• Unterstützung bei Standard-Produkten vorhanden
• Einfache Verwendung im Web durch Apache und
Microsoft IIS
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
94. Fazit
• Infrastruktur häufig schon vorhanden
• Unterstützung bei Standard-Produkten vorhanden
• Einfache Verwendung im Web durch Apache und
Microsoft IIS
• Verwendung bei Client-/Server-Anwendungen
durch GSS-API
– Unterstützung durch Security Frameworks (JAAS, Spring
Security)
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
95. Alles kein Problem?
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
96. Alles kein Problem?
• KDC ist Single Point of Failure
– Alle Anwendungen sind Abhängig davon
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
97. Alles kein Problem?
• KDC ist Single Point of Failure
– Alle Anwendungen sind Abhängig davon
• Auf jeden Fall redundant auslegen
– Unterstützung durch Implementierungen
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
98. Alles kein Problem?
• KDC ist Single Point of Failure
– Alle Anwendungen sind Abhängig davon
• Auf jeden Fall redundant auslegen
– Unterstützung durch Implementierungen
• KDC muss besonders geschützt werden
– Kompromittierung erlaubt Zugri auf alle Systeme
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
99. Alles kein Problem?
• KDC ist Single Point of Failure
– Alle Anwendungen sind Abhängig davon
• Auf jeden Fall redundant auslegen
– Unterstützung durch Implementierungen
• KDC muss besonders geschützt werden
– Kompromittierung erlaubt Zugri auf alle Systeme
• Einführung nicht auf Basis von Try/Error möglich
– Unerkannte Sicherheitslücken
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
101. Fazit
• Vorteile überwiegen die Nachteile
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
102. Fazit
• Vorteile überwiegen die Nachteile
• Know-How lässt sich aufbauen oder einkaufen
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
103. Fazit
• Vorteile überwiegen die Nachteile
• Know-How lässt sich aufbauen oder einkaufen
• Abschließende Security Audits sind möglich
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
104. Fazit
• Vorteile überwiegen die Nachteile
• Know-How lässt sich aufbauen oder einkaufen
• Abschließende Security Audits sind möglich
• Produktivitätssteigerung auf jeden Fall gegeben
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
105. Fazit
• Vorteile überwiegen die Nachteile
• Know-How lässt sich aufbauen oder einkaufen
• Abschließende Security Audits sind möglich
• Produktivitätssteigerung auf jeden Fall gegeben
• Systemverwaltung wird einfacher
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.
106. Fragen?
Mike Wiesner - Interface21 Germany
?
mwiesner@interface21.com
Skype: mikewiesner
http://www.interface21.de
http://www.mwiesner.com
Copyright 2004-2006, Interface21 GmbH. Copying, publishing, or
distributing without expressed written permission is prohibited.