Benjamin Bratkus. Im Zeitalter der Webanwendungen ist es dem Anwender ein Bedürfnis, seine Benutzerinformationen und seine Identität sicher zu halten.

Ähnliche Dokumente
Acrolinx IQ. Sichern der Kommunikation mit Acrolinx IQ Server mit HTTPS

1. Integration von Liferay & Alfresco 2. Single Sign On mit CAS

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

:: Anleitung Hosting Server 1cloud.ch ::

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

estos UCServer Multiline TAPI Driver

Qt-Projekte mit Visual Studio 2005

Infinigate (Schweiz) AG. Secure Guest Access. - Handout -

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Planung für Organisation und Technik

eduroam mit SecureW2 unter Windows 7 Stand: 27. Januar 2015

DHL Online Retoure - Magento Extension zur Erstellung der Retouren-Labels durch den Kunden im Frontend

Tutorial -

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

SSH Authentifizierung über Public Key

Administrator Handbuch

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Anbindung von Thunderbird an (mit Kalender und Kontakten) Besuchen Sie uns im Internet unter

White Paper. Installation und Konfiguration der PVP Integration

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

Gemeinsamer Bibliotheksverbund: Übertragung von Datenexporten für den Verbundkatalog Öffentlicher Bibliotheken

Handbuch xgdm-was Extension Version 1.0

OP-LOG

Kurzanleitung GigaMove

Anleitung Captain Logfex 2013

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Clients in einer Windows Domäne für WSUS konfigurieren

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Installation Hardlockserver-Dongle

Konfiguration der Yeastar MyPBX IP-Telefonanlagen mit iway Business SIP Trunk

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Clientkonfiguration für Hosted Exchange 2010

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Kleines Handbuch zur Fotogalerie der Pixel AG

ODBC-Treiber Programmübersicht

Outlook 2013

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Authentication Policy. Konfigurationsbeispiel ZyXEL ZyWALL USG-Serie. Juni 2010 / HAL

openk platform Dokumentation Setup Liferay Version 0.9.1

Betriebshandbuch. MyInTouch Import Tool

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Wissenswertes über LiveUpdate

Windows 7 Winbuilder USB Stick

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Installation Remotedesktopgateway, Rolle auswählen: Karsten Hentrup An der Schanz Aachen

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Installation Anleitung für JTheseus und MS SQL Server 2000

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Kurzanleitung RACE APP

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

TeamSpeak3 Einrichten

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

OutLook 2003 Konfiguration

LDAP Integration. Menüpunkt: System > Time To Do: Die Uhzeit/Zeitzone der SonicWALL mit dem AD-Server abgleichen

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

1 Konto neu in Mailprogramm einrichten

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Konfiguration von Exchange 2000 zum versenden und empfangen von Mails & Lösung des SEND after POP Problems

Installationsanleitung SSL Zertifikat

Benutzerkonto unter Windows 2000

Hilfe zur Urlaubsplanung und Zeiterfassung

a.sign Client Lotus Notes Konfiguration

Task: Nmap Skripte ausführen

Guide DynDNS und Portforwarding

Step by Step Webserver unter Windows Server von Christian Bartl

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

Konfigurationslanleitung für J2EE und Eclipse im KBS-Pool

Windows Server 2008 (R2): Anwendungsplattform

Anleitung über den Umgang mit Schildern

Zugriff auf OWA Auf OWA kann über folgende URLs zugegriffen werden:

Leitfaden Installation des Cisco VPN Clients

Comtarsia SignOn Familie

Benachrichtigungsmöglichkeiten in SMC 2.6

UserManual. Konfiguration SWYX PBX zur SIP Trunk Anbindung. Version: 1.0, November 2013

Leitfaden zur Nutzung von binder CryptShare

ANYWHERE Zugriff von externen Arbeitsplätzen

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

BMW TREUE SERVICE. SRP MARKETING MODUL. ANLEITUNG ZUM EINSPIELEN DER LEUCHTTURMKAMPAGNEN IN DIE KSD.

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Mediumwechsel - VR-NetWorld Software

Transkript:

Einmal angemeldet und es geht los. ) Schulung ) AUTOR Benjamin Bratkus Orientation in Objects GmbH ) Beratung ) Veröffentlicht am: 1.10.2007 ABSTRACT ) Entwicklung ) Im Zeitalter der Webanwendungen ist es dem Anwender ein Bedürfnis, seine Benutzerinformationen und seine Identität sicher zu halten. ) Artikel ) Dennoch liegt es in der Natur des Menschen einen möglichst einfachen und bequemen Mechanismus zu finden, um die gewünschte Sicherheit mit einem möglichst geringem Maß an Aufwand zu erhalten. In diesem Zusammenhang kommt der sogenannte CAS (Central Authentification Service) zum tragen. CAS bietet die Möglichkeit, sich an verschiedenste Benutzerdaten Bestände zu binden, um die Erkennung und die Identität des Benutzers zu gewährleisten. Orientation in Objects GmbH Weinheimer Str. 68 D-68309 Mannheim Tel. +49 (0) 6 21-7 18 39-0 Fax +49 (0) 6 21-7 18 39-50 www.oio.de info@oio.de Java, XML, UML, XSLT, Open Source, JBoss, SOAP, CVS, Spring, JSF, Eclipse

EINLEITUNG Der Mechanismus des Single Sign On ist keine Weltneuheit. Das Besondere an einem CAS ist, dass die CAS Anwendung die erfolgreiche Authentifizierung eines Benutzers sogenannte "Tickets" an die mit Ihr verbundenen Anwendungen melden kann. So kann man mit Hilfe von CAS ein Single Sign On Szenario einfach realisieren. Das Open Source Portal Liferay 4.2 [1] mit einer Menge an heterogenen integrierten Anwendungen unterstützt CAS. Es kann durch Konfiguration des Clients an die CAS Server Anwendung angebunden werden. Die Integration eines Portals wie Liferay 4.2 erweist sich als sinnvoll, da es neben dem Portal, das beispielsweise als zentrale Intranet Instanz genutzt wird, weitere Webapplikationen innerhalb der selben Domäne gibt, die aufgrund historischer oder technologischer Beweggründe nicht in das Portal integriert wurden, aber dennoch CAS unterstützen können. So könnte aus Sicht der Firma der Domänen Benutzer nun für CAS genutzt werden, um dem Mitarbeiter mit einer einzigen Anmeldung sofort Zugriff auf seine persönlichen Ressourcen zu beschaffen. Dieser Artikel stellt ein Beispiel zur Umsetzung des eben umschriebenen Szenarios dar und soll einen Überblick der Aufwände, die mit dieser Konfiguration verbunden sind, bringen. CAS HISTORIE Der Central Authentication Service wurde ursprünglich an der University of Yale entwickelt. Durch das grosse Interesse an diesem Mechanismus, wird CAS jetzt von der von der Community Java Architectures Special Interest Group (JA-SIG) als Open Source Projekt weitergeführt.[2] KONFIGURATION UND ERSTELLUNG DER CAS ANWENDUNG Für den erfolgreichen Start der CAS Anwendung mit Anbindung an den Active Directory oder LDAP, muss die Anwendung um zwei zusätzliche Bibliotheken erweitert werden. Zum einen benötigt die Server Version 3.0.5, das namentlich nahezu gleiche "cas-server-ldap-3.0.5.jar" und zum anderen das "ldaptemplate-1.0.2.jar". Beide Bibliotheken müssen nach dem erfolgreichen Herunterladen der Server Anwendung und der eben genannten Bibliotheken, in dem Server in das Verzeichnis "localplugins\lib" eingefügt werden. Anschliessend muss die "${project.home}/webapp/web-inf/deployerconfigcontext.xml" für die Anbindung an das LDAP konfiguriert werden. Hier stehen von Hause aus zwei Mechanismen für die Anbindung an das LDAP zur Verfügung. LDAP fastbind authentication: Diese Authentifizierung des angegebenen Benutzers, ist die einfache Art und Weise, sich mit dem LDAP zu verbinden. Dem Anwender dieser Methode muss die Struktur des LDAP Servers klar beziehungsweise bekannt sein. Das bedeutet er muss wissen, wo die Benutzer der Domäne in dem LDAP Server Baum liegen, um den Erfolg dieser Methode zu gewährleisten. LDAP search-and-bind authentication: Diese Methode sucht nach dem Benutzer und Passwort Paar, welches der Anwender über die Benutzeroberfläche eingegeben hat. Hilfreich natürlich, wenn die Struktur des LDAP unzureichend bekannt ist, jedoch erfordert diese Methode genau einen zusätzlichen LDAP Benutzer der die Berechtigung zu suchen besitzt oder das LDAP oder Active Directory muss so konfiguriert sein, dass es anonym durchsuchbar ist. In diesem Beispiel wird die "LDAP search-and-bind authentication" Methode verwendet. GRUNDLAGEN DES SINGLE SIGN ON Um eine serverseitige SSO Lösung zu realisieren sind verschiedene Lösungsansätze verfügbar. Zwei der möglichen Lösungsansätze kommen bei CAS zum Tragen. Zum einen handelt es sich um eine Ticket basierte Umsetzung von Single Sign On und zum anderen um einen zentralen Anmeldungsserver, der die mit diesem verbunden Anwendungen über die erfolgreiche Authentifizierung des Benutzers, unter Nutzung der Tickets, informiert.[3] UMSETZUNG Die Implementierung von CAS ist eine Java Servlet Anwendung. Das Servlet nutzt hier zwei markante URLs: Die Login- und die Validierungs-URL. Die Funktionsweise der Anwendung ist mit einem zentralen Anmeldungsserver in Kombination mit einem Ticket Server vergleichbar. Um CAS wie in diesem Beispiel beschrieben nutzen zu können, benötigt man als ersten Schritt die Server Anwendung des CAS Systems (hier Version 3.0.5). Diese Anwendung muss, abhängig von der Art und Weise der Benutzerverwaltung, erweitert werden. Für das konkrete Szenario werden die Benutzer in einem Active Directory verwaltet. Hinzu kommt die Konfiguration des Servlet Containers, der die Laufzeitumgebung für das CAS System bildet. Seite 2 von 6

// Erweiterung des AuthenticationMangers // um den passsenden Authentication Handler... <property name="authenticationhandlers"> <list> <bean class="org.jasig.cas.authentication.handler.support. HttpBasedServiceCredentialsAuthenticationHandler" /> <bean class="org.jasig.cas.adaptors.ldap. BindLdapAuthenticationHandler" > <property name="filter" value="samaccountname=%u" /> <property name="searchbase" value="cn=users,dc=schulung, DC=oio,DC=de" /> <property name="contextsource" ref="contextsource" /> </bean> </list> </property>... //Eintrag für die referenzierte Context Source <bean id="contextsource" class="org.jasig.cas.adaptors.ldap. util.authenticatedldapcontextsource"> <property name="authenticatedreadonly" value="true" /> <property name="username" value="cn=portadmin,cn=users, DC=schulung,DC=oio,DC=de" /> <property name="password" value="testsystem" /> <property name="urls"> <list> <value>ldap://testsystem.schulung.oio.de/</value> <value>ldap://testsystem.schulung.oio.de/</value> </list> </property> <property name="baseenvironmentproperties"> <map> <entry> <key> <value>java.naming.security.authentication</value> </key> <value>simple</value> </entry> </map> </property> </bean> Beispiel 1: Datei "deployerconfigcontext.xml" Nach der Erweiterung des CAS Systems muss dieses nun mit Apache Maven1 [4] gebaut werden und das erstellte Webarchiv in dem selben Tomcat, in dem das Portal läuft integriert werden. SSL ZERTIFIKATSERZEUGUNG Für den erfolgreichen Einsatz einer SSL Verbindung mit dem Apache Tomcat muss noch ein SSL Zertifikat erzeugt werden. Hierzu gibt es verschiedene Möglichkeiten ein solches zu bekommen. Für die Entwicklerversion in unserem Beispiel, wird das Java Keytool genutzt, das standardmässig mit Java geliefert wird. [5] keytool -genkey -alias tomcat -keypass changeit -keyalg RSA Beispiel 2: Erzeugung des SSL Zertifikats Nach dem Kommando zur Zertifikatserzeugung muss der Dialog ausgefüllt werden, wichtig an dieser Stelle ist, dass als "first and last name" ein valider Rechnername(Host) eingegeben wird. Enter keystore password: changeit What is your first and last name? localhost What is the name of your organizational unit? What is the name of your organization? What is the name of your City or Locality? What is the name of your State or Province? What is the two-letter country code for this unit? Is CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct? [no]: yes Beispiel 3: Dialog zur Zertifikatserzeugung BEREITSTELLUNG DES ERZEUGTEN ZERTIFIKATS FÜR DEN SCHLÜSSELBUND DES BENUTZERS Um das eben erzeugte Zertifikat sinnvoll nutzen zu können, muss es zuerst in eine Datei (%FILENAME% als Platzhalter, z.b. server.cert) exportiert und anschliessend in den Schlüsselbund importiert werden. // Export keytool -export -alias tomcat -keypass changeit -file %FILE_NAME% // Import keytool -import -alias tomcat -file %FILE_NAME% -keypass changeit -keystore %JAVA_HOME%/jre/lib/security/cacerts Beispiel 4: Bereitstellung des erzeugten Zertifikats für den Schlüsselbund KONFIGURATION DES TOMCAT SERVLET CONTAINERS Die Konnektoren des Tomcat müssen angepasst werden. <Connector port="8443" maxhttpheadersize="8192" maxthreads="150" minsparethreads="25" maxsparethreads="75" enablelookups="false" disableuploadtimeout="true" acceptcount="100" scheme="https" secure="true" clientauth="false" sslprotocol="tls" /> Beispiel 5: Datei "server.xml" des Tomcat Für eine produktive Umsetzung sollten aus Sicherheitsaspekten das CAS System und die Server, die die Laufzeitumgebungen der Anwendungen sind, getrennt sein. EINBINDUNG DES CAS CLIENT IN LIFERAY Anschliessend müssen die Anwendungen, in diesem Beispiel das Portal, mit dem Client der zur Interaktion mit dem CAS Server System benötigt wird, ausgestattet werden. Hierzu muss im Fall von Liferay die Client Bibliothek in das entsprechende Verzeichnis für Bibliotheken "ROOT/web-inf/lib" eingefügt und anschliessend der Server neu gestartet werden. In diesem Beispiel wird die Version 2.0.11 des Clients benötigt. Seite 3 von 6

ANBINDUNG VON LIFERAY AN DAS ACTIVE DIRECTORY Zur Authentifizierung muss neben der CAS Anwendung ebenso auch das Portal System so konfiguriert werden, dass es die Benutzer gegen das gleiche Active Directory oder LDAP System authentifiziert. Hierzu können zum einen die Administrative Benutzeroberfläche oder zum anderen die entsprechenden Konfigurationsdateien verwendet werden. Der Einfachheit halber wird hier nun die Konfiguration über die Benutzeroberfläche gezeigt. Die Angaben, die hier getätigt werden müssen, entsprechen den Angaben der CAS Anwendung.[6] <filter> <filter-name>cas Filter</filter-name> <filter-class> edu.yale.its.tp.cas.client.filter.casfilter </filter-class> <init-param> <param-name> edu.yale.its.tp.cas.client.filter.loginurl </param-name> <param-value> https://localhost:8443/cas-web/login </param-value> </init-param> <init-param> <param-name> edu.yale.its.tp.cas.client.filter.validateurl </param-name> <param-value> https://localhost:8443/cas-web/proxyvalidate </param-value> </init-param> <init-param> <param-name> edu.yale.its.tp.cas.client.filter.serviceurl </param-name> <param-value> http://localhost:8080/c/portal/login </param-value> </init-param> </filter> Beispiel 6: Erweiterungen der web.xml von Liferay Anschliessend müssen für die Version 4.2 von Liferay noch zwei weitere Konfigurationen umgesetzt werden. Zum einen muss die "system-ext.properties" und zum anderen die "portal-ext.properties" erweitert werden. Abbildung 1: Administrative Portlet Anwendung zur Anbindung von Liferay an das LDAP oder Active Directory KONFIGURATION VON LIFERAY FÜR CAS Nachdem der CAS Client in das Verzeichnis für Bibliotheken von Liferay eingebunden wurde, kann nun die web.xml des Portals angepasst werden, so dass der CAS Server genutzt wird. Der Login Servlet Filter wird bereits von Liferay bereitgestellt (ab Version 4.2), muss aber noch aktiviert werden. An dieser Stelle muss noch einmal gesagt werden, dass die verwendeten Konfigurationen oder Einstellungen nicht für den produktiven Einsatz verwendet werden sollten. //system-ext.properties - // der CAS Filter muss aktiviert werden com.liferay.filters.sso.cas.casfilter=true //portal-ext.properties - // der Autologin muss auf den CAS Login gesetzt werden auto.login.hooks= com.liferay.portal.security.auth.basicautologin, com.liferay.portal.security.auth.casautologin Beispiel 7: Liferay Konfigurationsdateien Es geht los! Beide Anwendungen sind nun aufeinander abgestimmt und der Benutzer kann sich über das Login des CAS an den Anwendungen anmelden. Abbildung 2: Anmeldungsmaske von CAS Seite 4 von 6

ZUSAMMENFASSUNG Durch die Verbindung von CAS mit weiteren Anwendungen, die eine Zusammengehörigkeit aufweisen, kann dem Benutzer das Arbeiten mit diesen Anwendungen erleichtert werden. Natürlich ist eine derartige Zentralisierung von sicherheitsrelevaten Daten ein heisses Thema und muss gut überlegt sein. Neben dem Portal, das in diesem Beispiel an das CAS System angebunden wurde, können viele weitere Open Source Anwendungen auf diesen Mechanismus zugreifen und damit arbeiten, so dass auch CAS in die Strecke Ihrer Open Source Produkte und Projekte passt. Ausserdem sind für viele Programmiersprachen die Client Bibliotheken vorhanden, so dass auch Anwendungen, die beispielsweise mit PHP entwickelt wurden, in dieses Szenario integriert werden können. Das CAS System und das Single Sign On sind in jedem Fall eine Bereicherung im Bereich Open Source und Benutzerauthentifizierung. Seite 5 von 6

REFERENZEN [1] Liferay Portal (http://www.liferay.com) [2] JA SIG (http://www.ja-sig.org/) [3] SSO frei Haus Rummeyer, Oliver ; Düsterhaus, Jörg (http://entwickler.com/itr/online_artikel/show.php3?nodeid=97&id=843) [4] Apache Maven (http://maven.apache.org) [5] Liferay Wiki CAS (http://wiki.liferay.com/index.php/single_signon_-_integrating_liferay_with_cas_server) [6] Liferay Wiki LDAP (http://wiki.liferay.com/index.php/ldap) Seite 6 von 6