Kerberos and Single Sign-On with HTTP



Similar documents
Kerberos and Single Sign On with HTTP

Using Kerberos for Web Authentication. Wesley Craig University of Michigan

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

External Identity and Authentication Providers For Apache HTTP Server

Using Kerberos tickets for true Single Sign On

IceWarp Server - SSO (Single Sign-On)

Linux/Windows Security Interop: Apache with mod_auth_kerb and Windows Server 2003 R2

FreeIPA - Open Source Identity Management in Linux

Step- by- Step guide to Configure Single sign- on for HTTP requests using SPNEGO web authentication

GL-550: Red Hat Linux Security Administration. Course Outline. Course Length: 5 days

Single Sign-on (SSO) technologies for the Domino Web Server

NIST PKI 06: Integrating PKI and Kerberos (updated April 2007) Jeffrey Altman

Transport Layer Security Protocols

ENTERPRISE LINUX SECURITY ADMINISTRATION

GL550 - Enterprise Linux Security Administration

Leverage Active Directory with Kerberos to Eliminate HTTP Password

Single Sign-On for Kerberized Linux and UNIX Applications

Kerberos. Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, BC. From Italy (?).

Integration Guide. SafeNet Authentication Service. SAS Using RADIUS Protocol with Apache HTTP Server

HTTP Mutual authentication and Web security

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

Guide to SASL, GSSAPI & Kerberos v.6.0

HTTP connections can use transport-layer security (SSL or its successor, TLS) to provide data integrity

BlueCoat s Guide to Authentication V1.0

ENTERPRISE LINUX SECURITY ADMINISTRATION

Active Directory 2008 Implementation Guide Version 6.3

Integrating WebPCM Applications into Single Sign On (SSO) Tom Schaefer Better Software Solutions, Inc. UN 4023 V

External and Federated Identities on the Web

Security Issues in Web Programming. Robert M. Dondero, Ph.D. Princeton University

Updated: 7/10/2013 Author: Tim Unten

Building Open Source Identity Management with FreeIPA. Martin Kosek

Interwise Connect. Working with Reverse Proxy Version 7.x

Deploying RSA ClearTrust with the FirePass controller

Configuring Integrated Windows Authentication for JBoss with SAS 9.2 Web Applications

Pulse Policy Secure. UAC Solution Guide for SRX Series Services Gateways. Product Release 5.1. Document Revision 1.0 Published:

Network Security Essentials Chapter 5

INUVIKA TECHNICAL GUIDE

Ensure that your environment meets the requirements. Provision the OpenAM server in Active Directory, then generate keytab files.

Architecture of Enterprise Applications III Single Sign-On

Agenda. How to configure

Active Directory 2008 Implementation. Version 6.410

TIBCO ActiveMatrix BPM Single Sign-On

Integrating IBM Cognos 8 BI with 3rd Party Auhtentication Proxies

Security IIS Service Lesson 6

Single Sign On. Configuration Checklist for Single Sign On CHAPTER

Connecting Web and Kerberos Single Sign On

Exchange Outlook Profile/POP/IMAP/SMTP Setup Guide

Configuring Single Sign-On for Documentum Applications with RSA Access Manager Product Suite. Abstract

ENABLING SINGLE SIGN-ON: SPNEGO AND KERBEROS Technical Bulletin For Use with DSView 3 Management Software

Identity Management: The authentic & authoritative guide for the modern enterprise

Module: Authentication. Professor Trent Jaeger Fall CSE543 - Introduction to Computer and Network Security

TIBCO ActiveMatrix BPM Single Sign-On

Set up Outlook for your new student e mail with IMAP/POP3 settings

Configuring Integrated Windows Authentication for JBoss with SAS 9.3 Web Applications

Single Sign On. Configuration Checklist for Single Sign On CHAPTER

How To Use Netscaler As An Afs Proxy

TIBCO Spotfire Platform IT Brief

Siteminder Integration Guide

Centrify for Web Applications

Windows 2000 Security Architecture. Peter Brundrett Program Manager Windows 2000 Security Microsoft Corporation

Design and Implementation of Web Forward Proxy with

Blue Coat Security First Steps Solution for Integrating Authentication

A method to Implement the Kerberos User. Authentication and the secured Internet Service

Network Technologies

Xerox DocuShare Security Features. Security White Paper

Authentication. Agenda. IT Security course Lecture April 14 th Niels Christian Juul 2. April 14th, 2003

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

IWA AUTHENTICATION FUNDAMENTALS AND DEPLOYMENT GUIDELINES

Integration Guide. SafeNet Authentication Service. Oracle Secure Desktop Using SAS RADIUS OTP Authentication

Leveraging SAML for Federated Single Sign-on:

Security Provider Integration Kerberos Authentication

Vidder PrecisionAccess

Network Security Protocols

Web Security Considerations

Kerberos authentication made easy on OpenVMS

U S E R D O C U M E N TA T I O N ( A L E P H I N O

Chapter 17. Transport-Level Security

HGC SUPERHUB HOSTED EXCHANGE

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

How To Use The Gss-Api And Sspi For A Security Reason On A Microsoft Microsoft Server (Or A Microsplatte)

Architecture Guidelines Application Security

HOBCOM and HOBLink J-Term

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

Single Sign-On Using SPNEGO

Perceptive Experience Single Sign-On Solutions

NeoMail Guide. Neotel (Pty) Ltd

Integration with Active Directory. Jeremy Allison Samba Team

Active Directory Integration. Documentation. v1.02. making your facilities work for you!

Two SSO Architectures with a Single Set of Credentials

Authentication Methods

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

CA Performance Center

SAML-Based SSO Solution

HRSWEB ActiveDirectory How-To

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

Securing access to Citrix applications using Citrix Secure Gateway and SafeWord. PremierAccess. App Note. December 2001

Configuring Single Sign-on for WebVPN

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

Kerberos and Active Directory symmetric cryptography in practice COSC412

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Transcription:

Kerberos and Single Sign-On with HTTP Joe Orton Red Hat

Introduction The Problem Current Solutions Future Solutions Conclusion Overview

Introduction WebDAV: common complaint of poor support for authentication in HTTP Basic: not good enough Digest: not widely available Cannot integrate with other authentication systems Kerberos: Large deployments for Unix shops Active Directory

The Problem How to integrate HTTP servers into a Kerberos infrastructure? Single Sign-On: reducing the number of times people enter passwords Ideal: user authentication happens exactly once per session

Problem Scope Covering intranet-, enterprise- organisationwide HTTP authentication Out of scope: SSO for The Web In scope? Authentication to HTTP proxy servers Useful for organisations where Web access must pass through an HTTP proxy Strong authentication needed for policy enforcement

Authentication Sessions Session defined from initial user authentication Sessions should be universal to achieve the goal of Single Sign-On User should never have to authenticate: to any individual server to use any particular service (protocol) How to terminate a session?

One-Slide-Guide to Kerberos Shared secret keys, a trusted third-party (KDC), and symmetric key encryption KDC = Key Distribution Centre; trusted by all KDC authenticates user, gives out TGT Using TGT, client obtains ticket from KDC encrypted with service's secret key Client can prove user identity to a service Mutual authentication: service authenticated to client

What makes HTTP different? Traditional Internet protocols (e.g. SMTP, IMAP,...) all support Kerberos authentication forever Why is HTTP different?

Authentication and Security Strong authentication is not much use without message integrity, and probably also confidentiality Integrity/confidentiality = transport layer HTTP authentication is independent of the transport layer; unlike SMTP, IMAP,... Many approaches to improving HTTP authentication don't understand this

Current Solutions Stanford WebAuth: forms and cookies Similar solution: Pubcookie Using HTTP Basic authentication with Kerberos HTTP Negotiate authentication

Stanford WebAuth Based on forms and cookies Token-passing via browser redirects between web server and WebKDC Kerberos credentials passed to WebKDC via HTML form WebKDC authenticates as user to KDC

WebAuth protocol User Agent GET /private Web Server User Agent 302 Redirect Location: http://webkdc.example.com/...

WebAuth protocol 2 User Agent GET /authenticate-me WebKDC User Agent 200 OK <html>...<form>...

WebAuth protocol 3 User Agent POST /authenticate-me WebKDC KDC User Agent 302 Redirect Location: http://origin.example.com/... Set-Cookie: blah

WebAuth analysis Application level solution Cookies + HTML!= HTTP authentication Requires a complete web browser Doesn't work with automated agents, WebDAV Credentials over the wire at HTTP level Kerberos designed to avoid doing this No mutual authenication Requires SSL to be secure

WebAuth analysis 2 Training users to enter Kerberos credentials into web forms is Very Bad - phishing Session scope: within one web browser but then covers all servers Cannot authenticate to HTTP proxies Session termination? Flush cookies

Kerberos via Basic Auth Use standard HTTP Basic authentication Client sends Kerberos credentials as normal Basic auth credentials Web server authenticates as user directly to KDC Custom server code needed e.g. mod_auth_kerb

Kerberos via Basic on the wire GET /secret/ HTTP/1.1 HTTP/1.1 401 Unauthorized WWW-Authenticate: Basic realm= Blah GET /secret/ HTTP/1.1 Authorization: Basic QWxuIHNlc2FZQ== HTTP/1.1 200 OK

Kerberos via Basic, analysis Simple to set up Works with any HTTP client Including automated clients, WebDAV Again, sending credentials over the wire defeats the point of using Kerberos Requires SSL to secure credentials No mutual authentication Can authenticate to proxies, but insecurely cleartext only to proxy

Kerberos via Basic, analysis 2 Session scope: one web browser, one server Training users to enter credentials into HTTP authentication dialogs is also Very Bad (maybe only Quite Bad, but still not Good ) Session termination: flush cached credentials within browser

The Negotiate Scheme New HTTP authentication scheme (kind of) Written by Microsoft; I-D published 2001 Became Informational RFC 4559 in 2006 Uses GSSAPI token exchange, wraps Kerberos protocol over the wire Custom server, client extension

Negotiate: Protocol trace 1. GET /secret/ HTTP/1.1 2. HTTP/1.1 401 Unauthorized WWW-Authenticate: Negotiate [token] 3. GET /secret/ HTTP/1.1 Authorization: Negotiate Y...Q== [goto 2, or...] HTTP/1.1 200 OK

Implementing Negotiate Supported at HTTP protocol level; works with WebDAV etc. Implemented by Firefox, MSIE...also Curl, elinks, neon (hence, e.g. Subversion) No Kerberos credentials on the wire!...requires SSL to secure the conne` ction Works with proxies...but not securely

Negotiate analysis the bad Even the name is bad Per-connection authentication!...assumes all subsequent requests on given TCP connection are authenticated Arbitrarily breaks RFC2617 grammar WWW-Authenticate: Negotiate b64blob, Should be... Negotiate token=b64blob Abuses RFC2617 headers WWW-Authenticate in a 2xx response

Negotiate analysis the good Real Single Sign-On! Kerberized HTTP No credentials over the wire Mutual authentication Session scoped to all servers, all services Session termination dictated by system-wide Kerberos login session

mod_auth_kerb Module for Apache httpd 1.3/2.x Maintained by Daniel Kouril, BSDy license Version 5.0 released August 2006, first nonbeta release Latest is v5.3, November 2006 Supports both Negotiate and Kerberos-over- Basic authentication

mod_auth_kerb Configuration Obtain a service key from the KDC Name, for example: HTTP/www.example.com@EXAMPLE.COM Service key in keytab file check permissions! Load module and add access control configuration, either httpd.conf or.htaccess

Access control Configuration <Location /private> AuthType Kerberos AuthName "Kerberos Login" KrbMethodNegotiate On KrbMethodK5Passwd Off KrbAuthRealms EXAMPLE.COM Krb5KeyTab /etc/httpd/conf/keytab require valid-user SSLRequireSSL </Location>

Firefox: Client configuration MSIE should work automatically within the Intranet zone

Conclusion Strong authentication as an HTTP authentication scheme alone is not enough Negotiate is a practical if flawed solution for Kerberos Single Sign-On with HTTP But must be used over SSL

Future Solutions Redesign Negotiate, without the warts? RFC2712: TLS with Kerberos ciphersuites Implemented in OpenSSL; no deployment Not GSSAPI-based = Bad draft-santesson-tls-gssapi: TLS with GSSAPI authentication exchange GSSAPI = Good, but breaks TLS state machine? A GSSAPI Transport Layer for HTTP?

Resources http://webauth.stanford.edu/ http://www.pubcookie.org/ http://modauthkerb.sourceforge.net/ http://www.ietf.org/rfc/rfc4559.txt http://www.ietf.org/rfc/rfc2712.txt These slides: http://people.apache.org/~jorton/ac08eu/

Any questions? Q&A