Open-source Single Sign-On with CAS (Central Authentication Service)



Similar documents
Pierce County IT Department GIS Division Xuejin Ruan Dan King

CASifier une application

Biometrics for Global Web Authentication: an Open Source Java/J2EE-Based Approach

Authentication and access control in Sympa mailing list server

ClearPass A CAS Extension Enabling Credential Replay

Authentication and access control in Sympa mailing list software

Architecture of Enterprise Applications III Single Sign-On

Middleware integration in the Sympa mailing list software. Olivier Salaün - CRU

Computer Systems Security 2013/2014. Single Sign-On. Bruno Maia Pedro Borges

How To Configure The Jasig Casa Single Sign On On A Workstation On Ahtml.Org On A Server On A Microsoft Server On An Ubuntu (Windows) On A Linux Computer On A Raspberry V

Lost in Authentication CAS Clients and Best Practices

TIBCO Spotfire Platform IT Brief

Single sign-on enabled OpenCms

Perceptive Experience Single Sign-On Solutions

SSO Plugin. Release notes. J System Solutions. Version 3.6

Crawl Proxy Installation and Configuration Guide

Authentication and Single Sign On

Authentication Methods

From centralized to single sign on

SCAS: AN IMPROVED SINGLE SIGN-ON MODEL BASE ON CAS

Single Sign-On for the UQ Web

mod_auth_pubtkt a pragmatic Web Single Sign-On solution by Manuel Kasper, Monzoon Networks AG mkasper@monzoon.net

Single Sign On. SSO & ID Management for Web and Mobile Applications

Mac OS X Directory Services

Integration with Active Directory. Jeremy Allison Samba Team

WebNow Single Sign-On Solutions

"Charting the Course... Enterprise Linux Networking Services Course Summary

Single Sign On In A CORBA-Based

GL-275: Red Hat Linux Network Services. Course Outline. Course Length: 5 days

Windows Security and Directory Services for UNIX using Centrify DirectControl

ENTERPRISE LINUX NETWORKING SERVICES

TROUBLESHOOTING RSA ACCESS MANAGER SINGLE SIGN-ON FOR WEB-BASED APPLICATIONS

Using Kerberos for Web Authentication. Wesley Craig University of Michigan

GL275 - ENTERPRISE LINUX NETWORKING SERVICES

Technical White Paper - JBoss Security

Identity Management in Liferay Overview and Best Practices. Liferay Portal 6.0 EE

Using SAP Logon Tickets for Single Sign on to Microsoft based web applications

Web Services Security: OpenSSO and Access Management for SOA. Sang Shin Java Technology Evangelist Sun Microsystems, Inc. javapassion.

Building Secure Applications. James Tedrick

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

DIGIPASS Authentication for Microsoft ISA 2006 Single Sign-On for Outlook Web Access

INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE

SAP Certified Technology Professional - Security with SAP NetWeaver 7.0. Title : Version : Demo. The safer, easier way to help you pass any IT exams.

Implementing CAS. Adam Rybicki Jasig Conference, San Diego, CA March 7, 2010

Lab Tasks 1. Configuring a Slave Name Server 2. Configure rndc for Secure named Control

Novell Access Manager

CA SiteMinder. Implementation Guide. r12.0 SP2

Nginx 1 Web Server Implementation

Shibboleth Identity Provider (IdP) Sebastian Rieger

SAML Security Option White Paper

New Single Sign-on Options for IBM Lotus Notes & Domino IBM Corporation

BlueCoat s Guide to Authentication V1.0

User Management in ServerView 6.30

Lecture 11 Web Application Security (part 1)

Using Shibboleth for Single Sign- On

CERN Single Sign On. Emmanuel Ormancey CERN IT/IS. CERN IT Department CH-1211 Genève 23 Switzerland

TIBCO Spotfire Web Player 6.0. Installation and Configuration Manual

Expresso Quick Install

OpenSSO: Cross Domain Single Sign On

Single sign-on websites with Apache httpd: Integrating with Active Directory for authentication and authorization

esoc SSA DC-I Part 1 - Single Sign-On and Access Management ICD

External Authentication with WebCT. What We ll Discuss

GL550 - Enterprise Linux Security Administration

E-LibUkr portal: Case study of Shibboleth and EZProxy in Ukraine.

Centrify Mobile Authentication Services

ENTERPRISE LINUX SECURITY ADMINISTRATION

Likewise Security Benefits

IceWarp Server - SSO (Single Sign-On)

Proxied Authentication in SSO Setups with Common OSS. Open Identity Summit 2015 Prof. Dr. René Peinl Berlin,

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

Spring Security 3. rpafktl Pen source. intruders with this easy to follow practical guide. Secure your web applications against malicious

Google Apps and Open Directory. Randy Saeks

enterprise^ IBM WebSphere Application Server v7.0 Security "publishing Secure your WebSphere applications with Java EE and JAAS security standards

Step-by-Step guide for SSO from MS Sharepoint 2010 to SAP EP 7.0x

SERENA SOFTWARE Authors: Bill Weingarz, Pete Dohner, Kartik Raghavan, Amitav Chakravartty

CENTRAL AUTHENTICATION SERVICE (CAS) SSO FOR EMC DOCUMENTUM REST SERVICES

Agenda. How to configure

SAML-Based SSO Solution

External and Federated Identities on the Web

Integrating VMware Horizon Workspace and VMware Horizon View TECHNICAL WHITE PAPER

Shibboleth N-Tier Support. Chad La Joie

OpenAM. 1 open source 1 community experience distilled. Single Sign-On (SSO) tool for securing your web. applications in a fast and easy way

Architecture Guidelines Application Security

Copyright

Requirements Collax Security Gateway Collax Business Server or Collax Platform Server including Collax SSL VPN module

Samsung KNOX EMM Authentication Services. SDK Quick Start Guide

Extranet Access Management Web Access Control for New Business Services

WHITE PAPER. Smart Card Authentication for J2EE Applications Using Vintela SSO for Java (VSJ)

Long User ID and Password Support In JD Edwards EnterpriseOne

Kerberos and Single Sign-On with HTTP

Copyright: WhosOnLocation Limited

Centrify Mobile Authentication Services for Samsung KNOX

Transcription:

Open-source Single Sign-On with CAS (Central Authentication Service) Pascal Aubry, Vincent Mathieu & Julien Marchal Copyright 2004 ESUP-Portail consortium

Open-source Single Sign-On with CAS Single Sign-On Why SSO? The main principles of web SSO The choice of CAS CAS (Central Authentication Service) How does it work? How to CAS-ify applications Web applications Non-web applications Limits The effort of the ESUP-Portail consortium around CAS

Why Single Sign-On? Unique accounts but several authentications Each time users access an application Security (password stealing) Protect password transmission Do not transmit passwords to applications Simplify applications Delegate developments without delegating authentication Abstract authentication LDAP, NIS, database, NT, Active Directory, X509 certificates,

SSO: the user s point of view service service app. #1 app. #2 app. #3 app. #1 app. #2 app. #3 without SSO with SSO

SSO: principles on the web Authentication is centralized One (redundant) authentication Transparent HTTP redirections From applications to the authentication (when not authenticated) From the authentication to applications (when authenticated) Tokens propagate identities Cookies, CGI parameters

CAS: why did we choose it? Security Password is never transmitted to applications Opaque tickets are used N-tier installations Without transmitting any password! Portability (client libraries) Java, Perl, JSP, ASP, PHP, PL/SQL, Apache and PAM modules Permanence Developed by Yale University World-wide used (mainly Universities) Adopted by all the French educational community J2EE platform Very light code (about 1000 lines) Open source Integrated into uportal

CAS: why did we choose it? service user database service user database app. #1 app. #2 app. #3 app. #1 app. #2 app. #3 authentication netid password netid password without SSO with CAS

CAS: why did we choose it? service user database service user database app. #1 app. #2 app. #3 app. #1 app. #2 app. #3 authentication netid password netid password without SSO with CAS

User authentication CAS HTTPS

User authentication user database CAS netid password HTTPS TGC TGC TGC: Ticket Granting Cookie User s passport to the CAS Private and protected cookie (the only one used by CAS, optional) Opaque re-playable ticket

Accessing an application after authentication ST: Service Ticket Browser s passport to the CAS client (application) Opaque and non re-playable ticket Very limited validity (a few seconds) CAS ST ID application ST TGC HTTPS ST TGC

Accessing an application after authentication ST: Service Ticket Browser s passport to the CAS client (application) Opaque and non re-playable ticket Very limited validity (a few seconds) CAS ST ID application ST TGC HTTPS ST Redirections are transparent to users TGC

Accessing an application without authentication CAS application Authentication form HTTPS

Accessing an application without authentication CAS ST ID application netid password HTTPS TGC ST ST No need to be previously authenticated to access an application TGC

Remarks Once a TGC acquired, authentication is transparent for the access to any CAS-ified application of the workspace Once authenticated by an application, a session should be used between the browser and the application

Authenticating users with CAS CAS authentication left to administrators ESUP-Portail CAS Generic Handler Mixed authentication XML configuration CAS LDAP directory database NIS domain X509 certificates Kerberos domain Windows NT domain flat files

Using the ESUP-Portail CAS GH <authentication debug="on"> <handler> <classname> org.esupportail.cas..handlers.ldap.fastbindldaphandler </classname> <config> <filter>uid=%u,ou=people,dc=esup-portail,dc=org</filter> <> <url>ldap://ldap.esup-portail.org</url> </> </config> </handler> <handler> <classname> org.esupportail.cas..handlers.nis.nishandler </classname> <config> <domain>esup-portail</domain> <encryption>pammd5</encryption> <> <host>nismaster.esup-portail.org</host> <host>nisslave.esup-portail.org</host> </> </config> </handler> </authentication>

CAS-ifying a web application Use provided libraries Add a few lines of code Note: you can also protect static resources With mod_cas, an Apache module

CAS-ifying a web application An example using phpcas (ESUP-Portail) <?php // include phpcas library include_once('cas/cas.php'); // declare our script as a CAS client phpcas::client(cas_version_2_0,'auth.univ.fr',443,''); // redirect to the CAS if needed phpcas::authenticateifneeded(); // at this point, the user is authenticated?> <h1>successfull Authentication!</h1> <p>user's login: <?php echo phpcas::getuser();?>.</p>

N-tier installations service CAS ID PGT ST application (CAS proxy) PGT TGC ST PGT: Proxy Granting Ticket Application s passport for a user to the CAS Opaque and re-playable ticket

N-tier installations CAS ID PT PT service PT PT : Proxy Ticket Application s passport for a user to a tier service Opaque and non re-playable ticket Very limited validity PGT application (CAS proxy) PGT TGC ST PGT: Proxy Granting Ticket Application s passport for a user to the CAS Opaque and re-playable ticket

CAS-ifying a non web application One of the strongest points of CAS Use the pam_cas PAM module Example of PAM configuration: auth sufficient /lib/security/pam_ldap.so auth sufficient /lib/security/pam_pwdb.so shadow nullok auth required /lib/security/pam_cas.so

The pam_cas PAM module client application login/password login/ticket client application login/password login/password application pam_ldap pam_pwdb pam_cas ticket LDAP directory /etc/passwd CAS Pam_cas authenticates users with a CAS ticket

CAS-ifying an IMAP Objectives Access an IMAP from a web application that does not know the password of the user connected Let traditional mail clients authenticate normally (with a password) Do not modify the IMAP The solution: pam_cas :-)

CAS-ifying an IMAP traditional mail client login / password ST login / PT CAS-ified webmail (CAS proxy) IMAP login / password login / password pam_ldap pam_pwdb pam_cas PT LDAP directory /etc/passwd CAS

CAS-ifying Cyrus IMAPd traditional mail client login / password login / PT CAS-ified webmail (CAS proxy) ST login / password Cyrus imapd sasl pam_ldap pam_pwdb pam_cas PT LDAP directory /etc/passwd CAS

CAS-ifying Cyrus IMAPd traditional mail client login / password login / PT CAS-ified webmail (CAS proxy) ST Cache efficiency: 95% Cyrus imapd sasl Cyrus IMAP daemon Unix socket sasl_authd login / password cache pam_ldap pam_pwdb pam_cas PT sasl_authd daemon LDAP directory /etc/passwd CAS

Limits (and perspectives) CAS deals with authentication, not authorization Mixing CAS and Shibboleth? No redundancy No native load-balancing (but low load) No fault-tolerance (but very good reliability) No Single Sign-Off A very poor documentation

The effort of the ESUP-Portail consortium Writing documentation Adding libraries (phpcas, esup-mod_cas, esup-pam_cas) Adding features to the CAS Authentication handlers (LDAP, NIS, files, databases, NT domains, ) Mixed authentication Authentication debug mode Rendering customization (appearance, internationalization) CAS quick start (Jakarta Tomcat + Yale CAS + CAS GH) Supporting the French CAS community Through forums and mailing lists

Enjoy CAS!