Post on 18-Dec-2014
description
© 2014 IBM Corporation
Look mum, no passwords!ID Vault, SSO, LTPA, SPNEGO and SAML
Martin Leyrer – IT SpecialistIBM Software Services for Collaboration2014-09-12 at ICON UK
© 2014 IBM Corporation2 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● ID Vault● Automatic Client Configuration● Token Based Single Sign On for Sametime And Connections● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation3 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
What?
© 2014 IBM Corporation4 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Why (1/2) ?
© 2014 IBM Corporation5 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Why (2/2) ?
© 2014 IBM Corporation6 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● Notes Shared Login / ID Vault● Automatic Client Configuration● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation7 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Remove Notes Password Prompts with NSL – Notes Shared Login
● Enabled via policy (or manually by the end user)
● Locks and encrypts the Notes ID in the current Windows Profile using the PC SID (Security Identifier) and Microsoft's Data Protection API (DPAPI).
● Certificates within the ID are locked and bound to that PC and that OS profile.
● The old “Notes Single Logon” feature has to be uninstalled.
● Limited to Windows.
● Need ID Vault
● Need Notes/Domino 8.5
© 2014 IBM Corporation8 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Uninstall/Remove “Notes Single Logon” for NSL To Work
© 2014 IBM Corporation9 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault
● Optional
● Server-based database
● Holds protected copies of IBM Notes user Ids
● Users are assigned to a vault through policy configuration
● Copies of user IDs are uploaded to a vault automatically once the policy has taken effect
The benefits of using an ID vault include:● Authorized personnel can change (reset) passwords on IDs without access to the ID files or
the vault
● Custom application to reset passwords
● Easy recovery of lost or damaged user IDs
● Automatic synchronization of multiple ID copies
● No user involvement during ID renames
● No user involvement during ID key rollover
© 2014 IBM Corporation10 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 1
© 2014 IBM Corporation11 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 2
© 2014 IBM Corporation12 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 3
© 2014 IBM Corporation13 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 4
© 2014 IBM Corporation14 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 5
© 2014 IBM Corporation15 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 6
© 2014 IBM Corporation16 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 7
© 2014 IBM Corporation17 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 8
© 2014 IBM Corporation18 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault Setup 9
© 2014 IBM Corporation19 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault - Security Settings Document / Policy
© 2014 IBM Corporation20 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
NSL - Security Settings Document / Policy
© 2014 IBM Corporation21 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
AND IT WORKS !
We have Single Sign On with Windows!
© 2014 IBM Corporation22 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ID Vault – If It Does NOT Work
● Check whether the policies are actually coming down to the client● Check Policy Synopsis for that user in the Admin Client● Check the “($Policies)” view in the PNAB● Modify the person entry in the Domino Directory & access mail server to initiate a policy
push
● Roaming user? Did you remove the ID file from the PNAB?● https://ibm.biz/BdFnm9● 8.5.3 provides a new detachid.zip utility and “javaAgentForDetachid.java” (in
utility\NotesCustomizationKit_1_0.zip● RoamingIDIsInNAB=0 in the person document
© 2014 IBM Corporation23 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● Notes Shared Login / ID Vault● Automatic Client Configuration● Token Based Single Sign On for Sametime And Connections● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation24 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Smooth Client Start
© 2014 IBM Corporation25 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
ConfigFile To The Rescue
● It IS possible to install and configure the Notes Client completely WITHOUT user interaction* ● See https://ibm.biz/BdFnmd for details
● The notes.ini parameter, ConfigFile= points to a text (.TXT) file that contains the parameters that the wizard needs. For example:
ConfigFile=C:\Program Files\Lotus\Notes\Data\setup.txt
● Starting with 8.5.1 the parameter CONFIGFILE= can contain system environment variables, too. In case the setup configuration file is stored next to the template notes.ini the following setting would apply to all Windows flavors:
CONFIGFILE=%ALLUSERSPROFILE%\Application Data\Lotus\Notes\Data\config.txt
which resolves to...
CONFIGFILE=C:\Documents and Settings\All Users\Application Data\Lotus\Notes\Data\config.txt
* … except from the one time password prompt for the ID Vault
© 2014 IBM Corporation26 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Setup.txt
Username=User Name/Acme
KeyfileName=c:\Program Files\Lotus\Notes\Data\username.id ID Vault!
Domino.Name=servername/Acme
Domino.Address=servername.acme.com
Domino.Port=TCPIP
Domino.Server=1
AdditionalServices=0
AdditionalServices.NetworkDial=0
Replication.Threshold=9999
Replication.Schedule=0
Starting with 8.5 the scripted setup code can now resolve system environment variables on any line of the configuration file that is read in.
See the chapter “Setting up Notes installation using scriptable setup” in the Domino 9 Admin help for more details and variables.
© 2014 IBM Corporation27 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
No More Useless Prompts!
© 2014 IBM Corporation28 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● Notes Shared Login / ID Vault● Automatic Client Configuration● Token Based Single Sign On for Sametime And Connections● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation29 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Token Based Single Sign On for Sametime And Connections
● Works for Sametime Connect Embedded Client
● Works for Connections Plugins
● Prerequisite: Properly configured “Multiple Server SSO”
© 2014 IBM Corporation30 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
LTPA Token
● The LTPA token is sent to the User Agent (Browser) as a Set-Cookie response header
● The user agent sends this to the target HTTP server as a Cookie request header for subsequent actions.
● Because browser user agents only send Cookie request headers to servers whose host name matches the issuer of the cookie, the server must share the same DNS (“DNS domain”) space as the other LTPA servers in the SSO group.
● The LTPA token, which includes user information and an expiration time, is signed by the issuer to ensure data integrity and is encrypted to ensure data privacy.
● LTPA tokens can be used only for SSO among LTPA servers that share the same key material (LTPA key)
© 2014 IBM Corporation31 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
LTPA Versions 1/2
WebSphere Version 1 (“LtpaToken”)● Contains
● the token expiration time● the user identity (usually the LDAP distinguished name)● a digital signature
● LTPA1 signatures are generated using SHA-1/RSA 1024-bit key● After the digital signature has been attached, the user data and signature are encrypted with
a 3DES key obtained from the LTPA key file
WebSphere Version 2 (“LtpaToken2”)● Same format as LTPA1 tokens● can contain additional information relating to the security context of the authenticated user
LTPA2 signatures are generated using SHA-1/RSA 1024-bit key● After the digital signature has been attached, the user data and signature are encrypted with
a 3DES or AES key obtained from the LTPA key file
© 2014 IBM Corporation32 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
LTPA Versions 2/2
IBM Domino● Contains
● a fixed-size and value header starting field● a token creation time● a token expiration time● the authenticated user name● a message authentication code (MAC) covering all content
● Domino uses a shared key and SHA-1 to calculate a MAC over the content● After the MAC has been attached, the user data and MAC are encrypted with a 3DES key
obtained from the LTPA key file
● Domino can consume (decrypt, parse and process) and generate (create and encrypt) either the Domino or Websphere formats
● WebSphere cannot consume or generate the Domino format.
© 2014 IBM Corporation33 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
WebSSO Configuration
© 2014 IBM Corporation34 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Enable Multi Server SSO
© 2014 IBM Corporation35 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Account Documents
© 2014 IBM Corporation36 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
© 2014 IBM Corporation37 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
© 2014 IBM Corporation38 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
© 2014 IBM Corporation39 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
© 2014 IBM Corporation40 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Push Account Documents To Users via Document Settings/Policy
© 2014 IBM Corporation41 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● ID Vault● Automatic Client Configuration● Token Based Single Sign On for Sametime And Connections● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation42 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Windows Single Sign-on for Web Clients (SPNEGO)
● Available since Lotus Domino 8.5.1
● User acquires Kerberos credentials when starting Windows.● Windows verifies user's password.● Password never travels over the wire via HTTP.
● SSO technology leveraging the Windows credentials sometimes called by these names:● SPNEGO (Simple and Protected GSS-API Negotiation Mechanism)● Integrated Windows Authentication” for the Windows Intranet
● SPNEGO-aware browsers know how to● Ask Windows for a Kerberos ticket, based on a) browser configuration, and b) the user's
requested URL.● Send the Kerberos ticket as part of SPNEGO protocol request
● SPNEGO-aware Domino validates the ticket to authenticate the user.
© 2014 IBM Corporation43 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Setting Up SPNEGO
● Create a Domino Web SSO document (enable Windows single sign-on integration)
● Set up a SPN (Service Principal Name) for the Domino server in Active Directory
● Domino must run under an Active Directory account you set up for it
● Run domspnego
● Take the output and give it to your AD administrator to run setspn with
● Run setspn -a http://<dominohostname> <accountnamerunningdomino>
● Update person documents with AD name appended to FullName (and optional others like krbPrincipalName and LTPA User Name)
© 2014 IBM Corporation44 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● ID Vault● Automatic Client Configuration● Token Based Single Sign On for Sametime And Connections● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation45 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
SAML – Security Assertion Markup Language
● Provides ease of use for end users – reduce the # of passwords to memorize
● The only “Notes password” is the IdP's password● And SPNEGO/Kerberos to Microsoft's ADFS can eliminate that prompt as well● Once a user has authenticated with the IdP they won’t be asked again
● Notes client uses SAML to fetch the user's ID file from the vault● ID file is stored in memory instead of being written to disk
● Works on Citrix, Linux, and Mac as well as Windows● Requires Notes Standard client● Support for Notes, iNotes, and web clients
● Identity Providers supported
● IBM Tivoli Federated Identity Manager (TFIM)● Microsoft's ADFS 2.0 integrated with Active Directory
© 2014 IBM Corporation46 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
SAML – IdP - Identity Provider (SSO)
● ADFS (Active Directory Federation Services in Windows 2008 and Windows 2012)● SAML 2.0 only● can be combined with SPNEGO● Enhances Integrated Windows Authentication (IWA)
● TFIM (Tivoli Federated Identity Manager)● SAML 1.1 and 2.0
● IdP (Identity Providers) use HTTP or SOAP to communicate to SP (Service Providers) via XML based assertions
● Assertions have three roles● Authentication● Authorisation● Retrieving Attributes
© 2014 IBM Corporation47 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Notes Federated Login with SAML
1) User launches Notes and Notes connects to the ID Vault
2) The ID Vault (configured for SAML
authentication) reaches out to IdP.
3) IdP prompts user for credentials.
4) Correct credentials are supplied.
5) IdP provides SAML artifact(XML) to ID Vault.
6) ID Vault provides ID to Notes. Once Notes session is completed, ID is removed from machine.
© 2014 IBM Corporation48 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
SAML – Installation
● Warning! - This is hard!● One of the most complex Domino based things I have seen so far.
● Find help with comprehensive knowledge of:● Domino server admin● Notes client configuration and security● Active Directory configuration at your company● ADFS● SAML concepts● SSL configuration on Domino & in Windows/IIS● Enterprise browser configuration
● It's worth the effort, especially in the long run.
● Read the Connect 2014 presentation “SHOW100 : AD + SAML + Kerberos + IBM Notes and Domino = SSO!” by Rob Axelrod and Andy Pedisich, Technoticshttps://ibm.biz/BdFnyF
© 2014 IBM Corporation49 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
NSL/SPNEGO vs. SAML
NSL/SPNEGO
● SPNEGO requires Windows Environment● Active Directory● Windows Domain Login● Microsoft Supported browsers● Domino on Windows
● Requires Windows clients for the users● Citrix not supported● Requires Domino on Windows● It has a very specific use case
SAML
● Not everything supports it● Traveler doesn’t● Sametime doesn’t● Citrix does!
● ID Vault is a requirement so IDs that can’t be vaulted can’t be used (multiple passwords, smartcards, etc)
● Complex to set up
© 2014 IBM Corporation50 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Navigation
● The What And Why
● The Quick Win● ID Vault● Automatic Client Configuration● Token Based Single Sign On for Sametime And Connections● SPNEGO For iNotes And Webapps
● Expanding The Possibilities – SAML
● Q & A
© 2014 IBM Corporation51 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Q & A
Martin LeyrerIBM Collaboration Solutions IT-Specialist with IBM Austria
IBM e-mail: martin.leyrer@at.ibm.com
E-mail: leyrer@gmail.com
Twitter: http://www.twitter.com/leyrer
Facebook: https://www.facebook.com/leyrer
Blog: http://www.leyon.at
LinkedIn: http://at.linkedin.com/in/leyrer
Martin LeyrerICS IT-Specialist
Mail: martin.leyrer@at.ibm.comPhone: +43 664 618 6826
Martin LeyrerICS IT-Specialist
Mail: martin.leyrer@at.ibm.comPhone: +43 664 618 6826
© 2014 IBM Corporation52 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration
Further Reading
“Upgrading from Notes client single logon to Notes shared login” by Nancy E. Kho
https://ibm.biz/BdFnM6
“Single Sign-on (SSO) technologies for the Domino Web Server” by Jane Marcus
https://ibm.biz/BdFnyT
“Connect 2014 SHOW100 : AD + SAML + Kerberos + IBM Notes and Domino = SSO!” by Rob Axelrod and Andy Pedisich, Technotics
https://ibm.biz/BdFnyF
“Simplifying The S's: Single Sign-On, SPNEGO and SAML” by Gabriella Davis
https://ibm.biz/BdFnfq
© 2014 IBM Corporation53 Martin.Leyrer@at.ibm.com, IBM Software Services for Collaboration