Software & Infrastruktur

TYPO3 und Zertifikate: Single Sign-On

Wer kennt ihn nicht, den großen Wust an Zugangsdaten und das ständige neue Einloggen bei verschiedenen Systemen. Nicht selten geht dabei der Überblick verloren. Abhilfe verspricht das Konzept Single Sign-On.

Da häufig unterschiedlich Dinge mit Single Sign-On assoziiert, werden, ist eine Erläuterung der hier vorgestellten Methode notwenig. Das Prinzip beruht darauf, dass sich ein Benutzer nur einmal an seinem Betriebssystem anmeldet und anschließend beim Aufruf der verschiedenen Webanwendungen keine weitere Authentifizierung benötigt. Dabei ist es gleichgültig welches Betriebssystem er verwendet. Die Authentifizierung an der Webanwendung übernimmt ein Benutzerzertifikat, das im Webbrowser hinterlegt ist. Das Benutzerzertifikat kann man mit einem Personalausweis vergleichen, anhand dem der Webserver erkennt, welcher Benutzer sich gerade bei ihm anmelden möchte. Gelingt die Authentifizierung, reicht der Webserver die Benutzerinformationen an TYPO3 weiter. Dabei ist zu beachten, dass der Benutzer an dieser Stelle nur authentifiziert, nicht aber autorisiert wird. Die Zugangsberechtigungen steuert TYPO3 mit Hilfe der Benutzerverwaltung.

Wie funktionieren Zertifikate?

Zertifikate beruhen auf Vertrauensverhältnissen. Benutzer- und Serverzertifikaten kann man vertrauen, wenn Sie von vertrauenswürdigen Zertifizierungsstellen unterschrieben oder herausgegeben wurden. In jedem Webbrowser sind bereits einige Stammzertifikate von Zertifizierungsstellen wie GeoTrust, Thawte oder Verisign hinterlegt. Daher vertrauen Webbrowser Zertifikaten, die von diesen Zertifizierungsstellen unterschrieben wurden. Jedes Zertifikat besitzt einen öffentlichen und einen privaten Schlüssel. Der öffentliche Schlüssel kann weitergegeben werden, der private Schlüssel darf niemals weitergegeben werden.

Erstellung einer Zertifizierungsstelle

Von VeriSign [1] und anderen Anbietern unterzeichnete Zertifikate sind relativ teuer. Bei dem hier beschriebenen Szenario ist es daher sinnvoll, eine eigene Zertifizierungsstelle einzurichten. Dieser Artikel beschreibt dies exemplarisch mit OpenSSL [2] unter Linux. Dazu sind einige Vorbereitungen notwendig. Zunächst müssen die Ordner „certs“, „crl“, „newcerts“, „private“ und „p12“ angelegt werden. Außerdem wird eine leere Datei mit dem Namen „index.txt“ und eine weitere Datei namens „serial“ mit dem Inhalt „01“ benötigt. Die Datei „openssl.cnf“ kann aus dem OpenSSL-Verzeichnis in das aktuelle Verzeichnis kopiert werden. In dieser Datei werden alle wichtigen Einstellungen vorgenommen. etwa die Gültigkeitsdauer des Zertifikats. Nachdem die beschriebenen Vorbereitungen abgeschlossen sind, wird der Schlüssel für die Zertifizierungsstelle mit folgender Zeile erstellt:

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.