ClearPass A CAS Extension Enabling Credential Replay



Similar documents
Architecture of Enterprise Applications III Single Sign-On

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

Lost in Authentication CAS Clients and Best Practices

Pierce County IT Department GIS Division Xuejin Ruan Dan King

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

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

Shibboleth N-Tier Support. Chad La Joie

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

A detailed walk through a CAS authentication

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

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

CAS Protocol 3.0 specification

Sakai and uportal Integration Options

Enterprise Portal Built by and for Higher Education

Building Secure Applications. James Tedrick

Spring Security 3.

Centrify Mobile Authentication Services

Salesforce Opportunities Portlet Documentation v2

High Availability CAS

Setup Corporate (Microsoft Exchange) . This tutorial will walk you through the steps of setting up your corporate account.

Samsung KNOX EMM Authentication Services. SDK Quick Start Guide

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

Liferay Enterprise ecommerce. Adding ecommerce functionality to Liferay Reading Time: 10 minutes

Centrify Mobile Authentication Services for Samsung KNOX

Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 ( )

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

OVERVIEW. DIGIPASS Authentication for Office 365

Configuration Worksheets for Oracle WebCenter Ensemble 10.3

PingFederate. Salesforce Connector. Quick Connection Guide. Version 4.1

SonicWALL SSL VPN 3.0 HTTP(S) Reverse Proxy Support

Administering Jive Mobile Apps

White Paper March 1, Integrating AR System with Single Sign-On (SSO) authentication systems

Weblogic as a Service Provider for CERN Web Applications: APEX & Java EE

Single Sign On for UNICORE command line clients

Liferay, Alfresco, SSO and LDAP Full Integration

SAP Mobile - Webinar Series SAP Mobile Platform 3.0 Security Concepts and Features

Reverse Proxy Guide. Version 2.0 April 2016

THE NEW DIGITAL EXPERIENCE

SINGLE SIGN-ON SETUP T ECHNICAL NOTE

Copyright

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

Policy Based Encryption E. Administrator Guide

Policy Based Encryption E. Administrator Guide

Setup Guide Access Manager Appliance 3.2 SP3

Perceptive Experience Single Sign-On Solutions

SAP NetWeaver Single Sign-On. Product Management SAP NetWeaver Identity Management & Security June 2011

DIGIPASS as a Service. Google Apps Integration

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

Developing an Interoperable Blackboard Proxy Tool

Single sign-on enabled OpenCms

Use Enterprise SSO as the Credential Server for Protected Sites

Cisco ASA Adaptive Security Appliance Single Sign-On: Solution Brief

Apache Ki (formerly JSecurity) DevNexus

OIOSAML Rich Client to Browser Scenario Version 1.0

Folder Proxy + OWA + ECP/EAC Guide. Version 2.0 April 2016

Configuring Single Sign-on for WebVPN

Enterprise Access Control Patterns For REST and Web APIs

Novell Access Manager

Implementing CAS. Adam Rybicki Jasig Conference, Dallas, TX March 1, 2009

WebNow Single Sign-On Solutions

Fairsail REST API: Guide for Developers

An Oracle White Paper November Oracle Primavera P6 EPPM Integrations with Web Services and Events

Dell One Identity Cloud Access Manager How to Develop OpenID Connect Apps

Tableau Server Security. Version 8.0

OAuth 2.0 Developers Guide. Ping Identity, Inc th Street, Suite 100, Denver, CO

Password Power 8 Plug-In for Lotus Domino Single Sign-On via Kerberos

Google Docs Print. Administrator's Guide

Salesforce Integration User Guide Version 1.1

INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE

Oracle Identity Management for SAP in Heterogeneous IT Environments. An Oracle White Paper January 2007

Axway API Gateway. Version 7.4.1

Access Gateway Guide Access Manager 4.0 SP1

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

Use FortiWeb to Publish Applications

This chapter describes how to use the Junos Pulse Secure Access Service in a SAML single sign-on deployment. It includes the following sections:

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

Cloud Single Sign-On and On-Premise Identity Federation with SAP NetWeaver Cloud White Paper

Hosted Microsoft Exchange Client Setup & Guide Book

HP Asset Manager. Implementing Single Sign On for Asset Manager Web 5.x. Legal Notices Introduction Using AM

CA Performance Center

Policy Based Encryption Z. Administrator Guide

The HTTP Plug-in. Table of contents

Single Sign-On Research and Expansion Based On CAS

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

Configuring Single Sign-On from the VMware Identity Manager Service to Office 365

JVA-122. Secure Java Web Development

A Guide to New Features in Propalms OneGate 4.0

StreamServe Persuasion SP5 StreamStudio

S P I E Information Environments Shibboleth and Its Integration into Security Architectures. EDUCAUSE & Internet 2 Security Professionals Conference

How To Use Netiq Access Manager (Netiq) On A Pc Or Mac Or Macbook Or Macode (For Pc Or Ipad) On Your Computer Or Ipa (For Mac) On An Ip

How To Set Up The Barclaycard Epdq Cardholder Payment Interface (Cpi) On Papercut (Barclay Card) On A Microsoft Card (For A Credit Card) With A Creditcard (For An Account)

Technical Brief ActiveSync Configuration for WatchGuard SSL 100

PingFederate. SSO Integration Overview

Interwise Connect. Working with Reverse Proxy Version 7.x

Transcription:

ClearPass A CAS Extension Enabling Credential Replay Andrew Petro Unicon, Inc. http://www.ja-sig.org/wiki/display/casum/clearpass Copyright Unicon, Inc., 2008-2010. Some rights reserved. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/ Jasig 2010 San Diego, CA 09 March 2010

Disclaimers Personal Opinions are my own Opinions herein are my own, and are not necessarily those of my employer, of Jasig, of the Jasig CAS steering committee, or of anyone else. CC-NC-SA Disclaims Warranty Creative Commons licenses have some fantastic language for disclaiming warranties. That's in part why speakers use them. 2

Agenda 1. What is ClearPass? 2. How does ClearPass work? 3. uportal example 4. Outlook Web Access example 5. Continued adoption in new environments 6. Questions? 3

What is ClearPass? 4

ClearPass Free and Open Source Software Extending CAS to... capture the end user's password at login And selectively release this password to authorized applications Like, say, an enterprise portal 5

Whence? Developed by Unicon for Sacramento State University and released as Free and Open Source Software Updated by Scott Battaglia via effort funded through Unicon's Cooperative Support for CAS Cooperative Development program 6

Concretely, what? Extensions to Jasig CAS to capture and expose credentials Extensions to Jasig uportal to consume the credentials https://www.ja-sig.org/svn/casextensions/clearpass/ 7

Wait, wait. Timeout. http://www.flickr.com/photos/rollerfan/3052241108 8

Say what? Did I say ClearPass is an extension for releasing the end user's password??? That sounds like a really bad idea. 9

Why would you want to release end user credentials? Healthy skepticism is warranted. 10

Passwords are such useful things Have you ever given anyone your password? To anything? http://www.flickr.com/photos/bulldogsrule/512916347 http://creativecommons.org/licenses/by-nc-nd/2.0/ 11

Two purposes End-user single sign on N-tier application-to-application-on-behalf-ofuser authentication 12

Delete your login forms. 13

Apps do not touch passwords CAS 14

Greater than zero effort 15

Difficult to CASify 16

N-tier authentication User authenticates to Application 1 Application 1 authenticates to Application 2 on behalf of User How to accomplish this? 17

Options for N-Tier AuthN Principled Enterprise SSO regimes with Delegation Application-to-application authentication methods with assertion of user identity Direct use of end-user credentials 18

Passwords are such useful things 19

MailPortlet 20

After all, why is this hard? 21

Why ClearPass? End-user single sign on to difficult-to-casify Web applications N-tier application-to-application-on-behalf-ofuser authentication to difficult-to-casify services 22

How does ClearPass work? But first, an aside 23

How does Proxy CAS work? An aside necessary to understand how ClearPass works 24

How CAS Works S Web application T CAS NetID S T Web browser C 25

CAS 2.0: Proxy CAS PGT PGTIOU https listener Web application S NetID T PGTURL CAS PGTIOU S ST Web browser C 26

CAS 2.0: Proxy CAS NetID PGTURL PT Back-end application S Data Web application PGT PT S CAS PT Web browser 27

Proxiable credentials illustrated IMAP server CAS PAM module S PT T PGT IMP CAS PGT PT PT -Username -Identity of web resource 28

How does ClearPass work? Now that we've reviewed Proxy CAS, we can talk about this. 29

ClearPass CAS Extensions Capture the password at login Cache the password Release the password to authorized applications 30

Capture password at login In a perhaps too-clever way AuthenticationMetaDataPopulator But minimally invasive 31

Declaring the Cacher <bean class="org.jasig.cas3.extensions.clearpass.cachecredentia lsmetadatapopulator"> <constructor-arg index="0" ref="credentialscache" /> </bean> 32

Declaring and injecting <property name="authenticationmetadatapopulators"> <list> <bean class="org.jasig.cas3.extensions.clearpass.cachecredentia lsmetadatapopulator"> <constructor-arg index="0" ref="credentialscache" /> </bean> </list> </property> 33

Cache the password In an EhCache So this cache can be shared across CAS server instances in a cluster Can also be just in-memory 34

Expose the password Adds a controller 35

ClearPassController public ModelAndView handlerequestinternal(request, res) { final String username = request.getremoteuser(); if (username!= null) { final String password = this.credentialscache.get(username); return new ModelAndView(this.successView, MODEL_CLEARPASS, password); } return returnerror("no authentication information provided."); } 36

Response from /clearpass endpoint <cas:clearpassresponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:clearpasssuccess> <cas:credentials>actual_password</cas:credentials> </cas:clearpasssuccess> </cas:clearpassresponse> 37

Response from /clearpass endpoint <cas:clearpassresponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:clearpasssuccess> <cas:credentials>actual_password</cas:credentials> </cas:clearpasssuccess> </cas:clearpassresponse> 38

Wait, the password's in the clear? Well, no, not really. Clearpass callback URL is Accessed via HTTPS Request authenticated via Proxy CAS Ticket 39

Response from /clearpass endpoint <cas:clearpassresponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:clearpasssuccess> <cas:credentials>actual_password</cas:credentials> </cas:clearpasssuccess> </cas:clearpassresponse> 40

clearpasssuccess.jsp <%@ page session="false" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <cas:clearpassresponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:clearpasssuccess> <cas:credentials>$ {fn:escapexml(credentials)}</cas:credentials> </cas:clearpasssuccess> </cas:clearpassresponse> 41

Wait, the password's in the clear? Well, no, not really. Clearpass callback URL is Accessed via HTTPS Request authenticated via Proxy CAS Ticket 42

Authenticating to ClearPass How do applications authenticate to CAS ClearPass to get the password? Need to authenticate both the application and participation in a CAS single sign on session 43

Authenticated via PT! Use the Jasig CAS Client library itself to authenticate applications to the ClearPass CAS extension! 44

Uses Jasig Java CAS Client <filter-mapping> <filter-name>cas Validation Filter</filter-name> <url-pattern>/clearpass</url-pattern> </filter-mapping> <filter-mapping> <filter-name>cas HttpServletRequest Wrapper Filter</filtername> <url-pattern>/clearpass</url-pattern> </filter-mapping> 45

Uses Jasig Java CAS Client <filter> <filter- class>org.jasig.cas.client.validation.cas20proxyreceivingticke tvalidationfilter</filter-class> <init-param> <param-name>servername</param-name> <param-value>https://my.clearpass.cas.instance/</paramvalue> </init-param> <init-param> <param-name>allowedproxychains</param-name> <paramvalue>http://my.uportal.edu/casproxyservlet</param-value> </init-param> </filter> 46

CAS 2.0: Proxy CAS NetID PGTURL PT Back-end application S Data Web application PGT PT S CAS PT Web browser 47

CAS 2.0: Proxy CAS NetID PGTURL PT CAS ClearPass Web Password application S PGT PT S CAS PT Web browser 48

uportal Example 49

Password Replay PW PW PW Channel PW PW PW Channel PW Portal Channel PW PasswordProtected Service PW PasswordProtected Service PW PasswordProtected Service PW

Password Replay PW PW PW Portlet PW PW PW Portlet PW Portal Portlet PW PasswordProtected Service PW PasswordProtected Service PW PasswordProtected Service PW

ClearPass uportal module https://www.ja-sig.org/svn/casextensions/clearpass/tags/clearpass_1_0_0_ ga/clearpass-integration-uportal/ Plugin for uportal's SecurityContext API Implements Password Caching API (supports password replay) Implements CAS API (supports CAS proxy tickets) 52

Password Replay Alongside PTs PW From ClearPass And PGT from CAS PW PW Portlet PW PGT PW Portlet PT Portal PW Portlet PT PasswordProtected Service PW PasswordProtected Service PW CASProtected Service PT

Portlets that (can) replay passwords 54

Portlets that can use passwords... Email preview Calendar preview Toro Gateway SSO portlet (for credential replay through login forms to achieve enduser SSO experience) Web Proxy Portlet Your portlet 55

Password as just an attribute A special, important attribute But just a standard JSR 168 user attribute Portlet doesn't care whether it came from ClearPass 56

SSO into Datatel WebAdvisor http://www.ja-sig.org/wiki/display/casc/casify ClearPass uportal Toro Gateway SSO portlet 57

(There's more to this story) (Apparently Datatel WebAdvisor has an optional add-on product enabling SSO?) (So that might be a better option?) (But probably incurs license fees and uses proprietary software?) 58

Outlook Web Access example 59

Free Software alternatives to OWA While ClearPass-infused heroics can be applied to CASify Outlook Web Access... You could instead use something under an Open Source license... 60

Bill Thompson (!) 's Solution http://github.com/wgthom/casowa 61

CasOwaAuthHandler.cs Handles an HTTP request Obtains a Proxy Ticket to CAS/clearpass Uses PT to obtain password from CAS/clearpass Uses password to internally POST to OWA login form, reading resulting session cookies Sends session cookies back to end user browser (works since running in OWA) Redirects browser to OWA 62

Liferay example 63

Bill Thompson(!) forum post http://bit.ly/ liferay_jasig_cas_client_forum_discussion 64

Liferay 5 extensions http://github.com/wgthom/cas3liferay5 Use Jasig Java CAS Client library Obtain PT Use PT to obtain Password from ClearPass Place password into session where Liferay expects it Portlets use it as normal 65

How ClearPass Fits 66

ClearPass Enables incremental adoption of Enterprise SSO Adopt CAS SSO Use ClearPass to enable legacy integrations Use CAS and CAS delegated authentication wherever you can Improvement: incrementally, less proliferation of passwords and use of passwords 67

ClearPass Future Subtitle (optional) 68

Encrypt the password at rest? 69

What about multiple passwords? Represent as different ClearPass callback URLs? 70

Questions & Answers & Discussion Andrew Petro Software Developer Unicon, Inc. apetro@unicon.net www.unicon.net/blog/apetro 71

License and Copyleft Copyright Unicon, Inc., 2008-2010. Some rights reserved. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 72

Acknowledgments Bill Thompson for his excellent work developing and documenting Liferay extensions to use Jasig Java CAS Client 3 and ClearPass and OWA extensions to rely upon ClearPass for SSO into OWA. http://www.flickr.com/photos/rollerfan/3052241 (Roller derby timeout image; CC-NC 2.0) 73