SSL Considerations for CAS: Planning, Management, and Troubleshooting. Marvin Addison Middleware Services Virginia Tech October 13, 2010



Similar documents
SSL Certificate Generation

Certificate technology on Pulse Secure Access

Certificate technology on Junos Pulse Secure Access

CERTIFICATE-BASED SINGLE SIGN-ON FOR EMC MY DOCUMENTUM FOR MICROSOFT OUTLOOK USING CA SITEMINDER

HTTPS Configuration for SAP Connector

Improved Credential and SSL Configuration for EE 7

Configuring IBM WebSphere Application Server 7 for Secure Sockets Layer and Client-Certificate Authentication on SAS 9.3 Enterprise BI Server Web

Unifying Information Security. Implementing TLS on the CLEARSWIFT SECURE Gateway

CHAPTER 7 SSL CONFIGURATION AND TESTING

SolarWinds Technical Reference

Configuring Secure Socket Layer and Client-Certificate Authentication on SAS 9.3 Enterprise BI Server Systems That Use Oracle WebLogic 10.

ISY994 Series Network Security Configuration Guide Requires firmware version Requires Java 1.7+

SSL Configuration on Weblogic Oracle FLEXCUBE Universal Banking Release [August] [2014]

Setting up Single Sign-on in Service Manager

Using EMC Unisphere in a Web Browsing Environment: Browser and Security Settings to Improve the Experience

CA Nimsoft Unified Management Portal

CS255 Programming Project 2

Customizing SSL in CA WCC r11.3 This document contains guidelines for customizing SSL access to CA Workload Control Center (CA WCC) r11.3.

Encrypted Connections

DOCUMENTUM CONTENT SERVER CERTIFICATE BASED SSL CONFIGURATION AND TROUBLESHOOTING

Chapter 1: How to Configure Certificate-Based Authentication

SSL Interception on Proxy SG

Using Client Side SSL Certificate Authentication on the WebMux

SSL CONFIGURATION GUIDE

Managing the SSL Certificate for the ESRS HTTPS Listener Service Technical Notes P/N REV A01 January 14, 2011

To install and configure SSL support on Tomcat 6, you need to follow these simple steps. For more information, read the rest of this HOW-TO.

SSL Configuration Best Practices for SAS Visual Analytics 7.1 Web Applications and SAS LASR Authorization Service

Introduction to Mobile Access Gateway Installation

Enterprise Content Management System Monitor 5.1 Security Considerations Revision CENIT AG Brandner, Marc

Managing CA-Signed Certificates

Configuring TLS Security for Cloudera Manager

LDAP over SSL Page 1 of 6.

Universal Content Management Version 10gR3. Security Providers Component Administration Guide

By Jan De Clercq. Understanding. and Leveraging SSL-TLS. for Secure Communications

What in the heck am I getting myself into! Capitalware's MQ Technical Conference v

KMIP installation Guide. DataSecure and KeySecure Version SafeNet, Inc

Application Note AN1502

Creating an authorized SSL certificate

Sun Java System Web Server 6.1 Using Self-Signed OpenSSL Certificate. Brent Wagner, Seeds of Genius October 2007

CERTIFICATE-BASED SSO FOR MYDOCUMENTUM OUTLOOK WITH IBM TAM WEBSEAL

Working with Portecle to update / create a Java Keystore.

Installing an SSL Certificate Provided by a Certificate Authority (CA) on the vwlan Appliance

Configuring the JBoss Application Server for Secure Sockets Layer and Client-Certificate Authentication on SAS 9.3 Enterprise BI Server Web

Enable SSL in Go2Group SOAP Server

Creating and Managing Certificates for My webmethods Server. Version 8.2 and Later

Integrating EJBCA and OpenSSO

DOCUMENTUM CONTENT SERVER CERTIFICATE BASED SSL CONFIGURATION WITH CLIENTS

SSL implementieren aber sicher!

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

CERTIFICATE BASED SSO FOR MYDOCUMENTUM OUTLOOK WITH IBM TAM WEBSEAL

Oracle Mobile Security Suite Workshop. Installation

This section describes how to use SSL Certificates with SOA Gateway running on Linux.

Cloud Services. Introduction...2 Overview...2. Security considerations Installation...3 Server Configuration...4

Junio SSL WebLogic Oracle. Guía de Instalación. Junio, SSL WebLogic Oracle Guía de Instalación CONFIDENCIAL Página 1 de 19

Deploying Certificates with Cisco pxgrid. Using Self-Signed Certificates with ISE pxgrid node and pxgrid Client

SETUP SSL IN SHAREPOINT 2013 (USING SELF-SIGNED CERTIFICATE)

How-to-Guide: SAP Web Dispatcher for Fiori Applications

Digital certificates and SSL

Installing Digital Certificates for Server Authentication SSL on. BEA WebLogic 8.1

Configuring HTTPS support. Overview. Certificates

Angel Dichev RIG, SAP Labs

Setting Up SSL From Client to Web Server and Plugin to WAS

Mobility Manager 9.0. Installation Guide

SAP Web Application Server Security

TechNote. Contents. Overview. Using a Windows Enterprise Root CA with DPI-SSL. Network Security

10972-Administering the Web Server (IIS) Role of Windows Server

DISTRIBUTED CONTENT SSL CONFIGURATION AND TROUBLESHOOTING GUIDE

Configuring Secure Socket Layer (SSL) for use with BPM 7.5.x

Ciphermail Gateway EJBCA integration guide

Marriott Enrollment Server for Web User Guide V1.4

Developers Integration Lab (DIL) Certificate Installation Instructions. Version 1.4

Enabling SSL and Client Certificates on the SAP J2EE Engine

Securing VMware View Communication Channels with SSL Certificates TECHNICAL WHITE PAPER

Laboratory Exercises VI: SSL/TLS - Configuring Apache Server

Obtaining SSL Certificates for VMware View Servers

Title: How to set up SSL between CA SiteMinder Web Access Manager - SiteMinder Policy Server and Active Directory (AD)

Certificate Management. PAN-OS Administrator s Guide. Version 7.0

ASA 8.x Manually Install 3rd Party Vendor Certificates for use with WebVPN Configuration Example

Using custom certificates with Spectralink 8400 Series Handsets

Protect your CollabNet TeamForge site

Implementing Secure Sockets Layer on iseries

Browser-based Support Console

Administering the Web Server (IIS) Role of Windows Server

Sophos Mobile Control Installation prerequisites form

Authentication in XenMobile 8.6 with a Focus on Client Certificate Authentication

WEB SERVICES CERTIFICATE GUIDE

LoadMaster SSL Certificate Quickstart Guide

How to configure SSL proxying in Zorp 3 F5

Enabling Single-Sign-On between IBM Cognos 8 BI and IBM WebSphere Portal

Installation of certificate on controller for WebUI, Captive Portal and 802.1X authentication

A Java API for X.509 Proxy Certificates

Crawl Proxy Installation and Configuration Guide

Set Up Certificate Validation

Enabling SSO between Cognos 8 and WebSphere Portal

Enabling Single-Sign-On on WebSphere Portal in IBM Cognos ReportNet

This section includes troubleshooting topics about certificates.

Installing BIRT Analytics 4.4

Enterprise Content Management System Monitor. How to deploy the JMX monitor application in WebSphere ND clustered environments. Revision 1.

ENABLING RPC OVER HTTPS CONNECTIONS TO M-FILES SERVER

Configuring Digital Certificates

Transcription:

SSL Considerations for CAS: Planning, Management, and Troubleshooting Marvin Addison Middleware Services Virginia Tech October 13, 2010

Agenda Planning and deployment considerations Discussion of Java SSL model Tools for certificate management Client and server SSL configuration points Troubleshooting common problems 2010-10-13 SSL Considerations for CAS 2

Planning and Deployment 2010-10-13 SSL Considerations for CAS 3

Planning: SSL or!ssl SSL is strongly recommended for all environments Exceptions Protyping/Testing Small and secure networks (you probably don't have one that is both) You have excellent insurance and PR to cover security breaches SSL is worth the investment in all cases 2010-10-13 SSL Considerations for CAS 4

Planning: Choice of PKI Commecial vendor (e.g. Thawte, Verisign) Institutional PKI signed by commercial vendor Increasing Effort Institutional PKI not signed by commercial vendor Test PKI Self-signed certificates 2010-10-13 SSL Considerations for CAS 5

Planning: Commercial PKI Commercial certs and institutional certs signed by commecial vendor require little to no configuration Commecial certs have cost per unit downside Initial cost for institutional root certificate signing is high Institutional cert ROI is good InCommon certificate services bargain 2010-10-13 SSL Considerations for CAS 6

Planning: Institutional Certs For certificates issued by an institution with a self-signed root certificate: Excellent cost per unit (typically 0) Requires trust configuration on services, user browsers, and possibly server Browser configuration precludes this option in many cases 2010-10-13 SSL Considerations for CAS 7

Planning: Protyping+Testing Avoid self-signed certs Consider test PKI As easy as self-signed certs Single certificate to configure for trust Use fully-qualified hostnames in cert CN DNS infrastructure practically required 2010-10-13 SSL Considerations for CAS 8

Planning: Test PKI Generate a self-signed test root cert openssl genrsa -out test-root.key 2048 openssl req -x509 -new -days 10000 -out test-root.crt Generate test certs for each service openssl genrsa -out test-svc-1.key 2048 openssl req -new -key test-svc-1.key -days 5000 -out testsvc-1.csr openssl x509 -days 5000 -req -in test-svc-1.csr -CA testroot.crt -CAkey test-root.key -out test-svc-1.crt -CAcreateserial Configure root cert trust on clients + server 2010-10-13 SSL Considerations for CAS 9

Java SSL Model 2010-10-13 SSL Considerations for CAS 10

SSL Model: Keystore Primitive http://download.oracle.com/javase/1.5.0/docs /guide/security/jsse/jsserefguide.html Keystores and truststores have same structure Usage determines function Keystore contains credentials (cert/key pairs) for SSL client authentication Truststore contains trusted remote peer issuers/certificates 2010-10-13 SSL Considerations for CAS 11

SSL Model: Container vs CAS Container configuration required to access CAS over SSL Keystore used to hold cert/key pair Tomcat <connector> element, e.g. CAS configuration concerns focus exclusively on system truststore Clients must trust server for ticket validation Server must trust client for proxy callback authentication to succeed 2010-10-13 SSL Considerations for CAS 12

SSL Model: Container Tomcat Java connectors use (abuse) keystore for server certificate/key pair Tomcat native connector uses discrete PEM/DER-encoded files ala mod_ssl The container keystore has absolutely nothing to do with system truststore that provides trust material to HttpsURLConnections used in direct clientserver communication 2010-10-13 SSL Considerations for CAS 13

SSL Model: System Truststore Default is $JRE_HOME/lib/security/cacerts The default doubles as both the system keystore and truststore Use custom path by setting javax.net.ssl.truststore system property (e.g. via $CATALINA_HOME/bin/setenv.sh) Be aware of javax.net.ssl.truststoretype and javax.net.ssl.truststorepassword 2010-10-13 SSL Considerations for CAS 14

Tools for Certificate Management 2010-10-13 SSL Considerations for CAS 15

Tools: Keytool Sun keytool utility is included with JDK Basic functionality is adequate in most cases Adequate command-line documentation Shortcomings Cannot import cert/key pairs Cannot export keys 2010-10-13 SSL Considerations for CAS 16

Tools: Portcle GUI tool Supports all import, export operations Supports any keystore format supported by JRE (e.g. JKS, PKCS12, BKS) 2010-10-13 SSL Considerations for CAS 17

Tools: vt-crypt Includes keystore command-line utility keystore == keytool++ Supports any keystore format supported by JRE (e.g. JKS, PKCS12, BKS) Embedded documentation and examples Excellent replacement for keytool 2010-10-13 SSL Considerations for CAS 18

Tools: OpenSSL OpenSSL + PKCS12 = Sweet Leverage JDK 1.5+ support for PKCS12 keystores, e.g. javax.net.ssl.truststoretype=pkcs12 Standard-based certificate/key container format Leverage existing knowledge, excellent documentation, and power of OpenSSL 2010-10-13 SSL Considerations for CAS 19

Client and Server SSL Configuration Points 2010-10-13 SSL Considerations for CAS 20

Server Config: SSO Cookie CASTGC cookie only delivered to client over HTTPS by default No SSL means no SSO by default DANGER: Set secure property of CookieRetrievingCookieGenerator to false to send over plain HTTP 2010-10-13 SSL Considerations for CAS 21

Server Config: Proxy Auth Requirements for proxy authentication Callback is HTTPS URL Response is 200, 202, 301, 302, 304 (can be customized via HttpClient class) Server must trust client SSL certificate to make HTTPS connection May require system truststore configuration on server 2010-10-13 SSL Considerations for CAS 22

Client Config: Ticket Validation Ticket validation involves a direct connection from client (CAS service) to server Available configuration points Trust everything (difficult in Java, AVOID) Trusted issuers (e.g. CA certificates) Trusted certificates (AVOID) Hostname verification (e.g. hostname mismatch, wildcard with subdomains) 2010-10-13 SSL Considerations for CAS 23

Client Config: Trust Everything Java: Inject promiscuous TrustManager into SSLContext#init() method, then use context to obtain a SSLSocketFactory to create SSLSockets for connections. WHEW! phpcas::setnocasservervalidation();.net: Attach custom RemoteCertificateValidationCallback to ServicePointManager.ServerCertificateValida tioncallback 2010-10-13 SSL Considerations for CAS 24

Client Config: Trusted Issuers Java: Add CA certs to system truststore phpcas::setcasservercacert($path); where $path is path to PEM-encoded CA cert that issued CAS server cert.net: Add CA certs to Local Machine store using Certificate Management MMC snap-in mod_auth_cas: CASCertificatePath directive (same meaning as phpcas above) 2010-10-13 SSL Considerations for CAS 25

Client Config: Host Verification Java: TicketValidator#setHostnameVerifier() AnyHostnameVerifier RegexHostnameVerifier WhitelistHostnameVerifier.NET: ServicePointManager.ServerCertificateValida tioncallback 2010-10-13 SSL Considerations for CAS 26

Troubleshooting 2010-10-13 SSL Considerations for CAS 27

Troubleshooting: Reference Common problems Remote certificate not trusted Hostname mismatch Answers: https://wiki.jasig.org/display/casum/ssl+tr oubleshooting+and+reference+guide 2010-10-13 SSL Considerations for CAS 28

Troubleshooting: Top 3 PKIX path building failed add issuer of remote certificate to system truststore No subject alternative names present ticket validation URL should not contain IP address HTTPS hostname wrong hostname mismatch (e.g. wildcard with subdomain) 2010-10-13 SSL Considerations for CAS 29

Troubleshooting: SSL Trace An SSL trace is the best way to diagnose any SSL problem Set system property: javax.net.debug=ssl Output goes to STDOUT (e.g. catalina.out) See https://wiki.jasig.org/display/casum/ssl+tr oubleshooting+and+reference+guide for Tomcat setup example 2010-10-13 SSL Considerations for CAS 30

Troubleshooting: Other Debugging Options Complete listing at http://download.oracle.com/javase/1.5.0/docs /guide/security/jsse/jsserefguide.html#deb ug java.security.debug=certpath is a good secret 2010-10-13 SSL Considerations for CAS 31

Questions 2010-10-13 SSL Considerations for CAS 32