If you can't read please download the document
Upload
luis-benitez
View
10.516
Download
2
Embed Size (px)
Citation preview
ID304 Lotus Connections 3.0 TDI, SSO, and User Life Cycle Management: What you NEED to know!
Jay Boyd | Lotus Connections Team Lead | IBMLuis Benitez | Social Software Product Manager | IBM
Who we are
Tweet Away
Agenda
Options for Securing Lotus Connections
SSO
New User Life Cycle Options in 3.0
Q&A
Not ideal security...
Photo credit: http://www.flickr.com/photos/fboyd/2494909325/
Securing Lotus Connections
Lotus Connections has tons of security optionsVirus Scanning
SSL (even forced!)
Forced Authentication
Filtering active content
MIME control
and...
Photo credit: http://www.flickr.com/photos/juanpol/2704542/
Lotus Connections supports the Internet Content Adaptation Protocol (ICAP) and its applications use this protocol to communicate with virus detection products. Ensure that the virus detection product used in your enterprise supports the ICAP 1.0 protocol. Lotus Connections is certified to work with Symantec AntiVirus Scan Engine 5.1 and McAfee web Security Appliance (3400) and (3300).
Lotus Connections provides security measures, such as an active content filter and content upload limits, that you can use to mitigate the risk of malicious attacks. Because these security measures can also limit the flexibility of the applications, you, as the system administrator, must evaluate the security of your network and determine whether or not you need to implement them.
Any software that displays user authored content can be vulnerable to cross-site scripting (XSS) attacks. Attackers can introduce JavaScript into their content that can, among other things, steal a user's session. Session stealing in a single sign-on (SSO) environment poses particular challenges because any vulnerability to XSS attacks can render the entire single sign-on domain vulnerable.
Agenda
Options for Securing Lotus Connections
SSO
New User Life Cycle Options in 3.0
Q&A
Single Sign On
My favorite
Improves usability
Great for adoption
Photo credit: http://commons.wikimedia.org/wiki/File:Single_sign_on_aproaches.png
What's supported
SSO with Domino apps (of course!)
with WebSphere apps (any doubt?)
with Quickr J/D (go go Gadget docs)
with Sametime (duh!)
via Tivoli Access Manager 6.1.1
via CA's Siteminder 6.0
via SPNEGO
Portlets are an exception :(
SPNEGO = Simple and Protected Negotiation
Portlets don't support SSO via TAM/Siteminder/SPNEGO they require LTPA
Single Sign On: Connections 3.0 Options
SSO allows a user to authenticate once and then use other systems that are within the same authentication configuration without providing userid/password authentication subsequent times.
LTPA (WebSphere default)
SPNEGO
TAM (Form Based Auth, Transparent Junctions, LTPA)
SiteMinder (FBA, ASA/WebAgent)
TAM/SPNEGO
Except with LTPA, authentication is forced, there is no anonymous access
Cookies are key with most SSO options
(these are not your mother's Cookies)
CookiesTextual information consisting of Name/Value pairs
Usually used to provide State in an otherwise Stateless protocol (HTTP)
Domain and Path determine when Cookies are included with an HTTP Request
SPNEGO uses Security tokens in the HTTP Header with every request
Single Sign On: LTPA
Lightweight Third-Party AuthenticationIBM proprietary, supported by IBM products such as WebSphere and Domino
Represented as Cookies called LtpaToken (older format, not on by default in WAS7, Domino requires version1) or LtpaToken2, value is encryptedUserID
Authentication Realm
Authentication Expiration Time
Important to use both of these if integrating with Domino and Portal
Single Sign On: Keys to successful LTPA Configuration
All participating Servers:Same Authentication Realm (correlates to Cookie domain)
Synchronized system time
Identical LDAP configuration (WAS Federated Repository)
Share the same LTPA keys
Servers should use FQDNipconfig/all or hostname / domainname commands should show FQDN
Single Sign On: Troubleshooting LTPA
Verify SSO Domain name
Verify Servers are within the same domain (or a subdomain)
Verify Servers imported the same LTPA Key
Single Sign On: Troubleshooting LTPA
Ensure authentication expiration is consistent
Ensure auto generation is off
Simple Connections Deployment
Connections Enterprise Deployment
Single Sign On: TAM
Single Sign On: TAM
TAM 6.1.1
TAM Form Based Auth, Transparent Junctions, LTPA
Yes, the configuration is complex and there are a ton of security realms
Yes, the Delete Action must be configured
TAM acts as a Reverse Proxy; don't forget to enable dynamicHosts in LotusConnections-config.xml
Cookies: PD-H-SESSION-ID & PD-S-SESSION-ID
Single Sign On: TAM
TAM acts as a reverse proxy, only forwarding a request for protected URLs once the user is Authenticated.
Very specific configuration:Form Based Authentication
Transparent Junction
LTPA authentication
Anonymous Access ACLs pass through for all ATOM url patterns
Test with a browser - - feeds that require authentication should prompt for Basic Auth, never TAM Form Authentication
** double check your configuration settings with the Connections 3 Documentation **
Import the LTPA key and password from TAM and Import into WebSphere and set the SSO domain name
Do not use TAM components as a caching proxy, configuration complexity is very high
Lotus Connections only supports WebSeal Transparent Junction configuration
Configure TAM for URL rewriting in XML and Javascript content
TAM configuration setting 'use-same-session = yes' is required
Single Sign On: SiteMinder
Single Sign On: SiteMinder
SiteMinder Policy Server 6.0 SP5, SiteMinder ASA 6.0 Agent for WebSphere Application Server (with CR00010 hotfix), and SiteMinder Web Agent v6qmr5-cr035
Yes, the configuration is complex and there are a lot of security realmsProtect Web Applications with FBA
Protect ATOM feeds with BA
Yes, the Delete Action must be configured
Cookies: SMSESSION
Watch for PERL script to be posted that creates realms
** double check your configuration settings with the Connections 3 Documentation **
Configuration is hard, we feel your pain :(
Single Sign On configuration is hard
Scripts are needed to automate ConfigurationPerl
Detailed examples help (Prescriptive Deployment scenarios)
http://www-10.lotus.com/ldd/lcwiki.nsf/xpViewCategories.xsp?lookupName=Deployments
TAM and SiteMinder SSO Validation Wizard is available!
Single Sign On: SPNEGO
Single Sign On: SPNEGO
Simple and Protected GSSAPI Negotiation Mechanism
Generic Security Services Application Program InterfaceMost notable implementations are Kerberos based
Used when a client application wants to authenticate to a remote server, but neither end is sure what authentication protocols the other supports.
Most wide use is Microsoft's Integrated Windows AuthenticationKerberos
NTLM
Single Sign On: SPNEGO
Client & Server perform negotiation, determining the preferred algorithm to use
On 1st request browser gets back a 401, Headers indicate Authorization: Negotiate
If capable, Client & Server agree on protocol and on every subsequent request the client infrastructure generates a new security token that is included in the header
Single Sign On: Troubleshooting SPNEGO
Configuring SPNEGO can be difficultInstall Connections First, verify, then configure SPNEGO
Follow base WebSphere documentation and use standard SNOOP application to verify your configuration.
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/rsec_SPNEGO_troubles.html
** double check your configuration settings with the Connections 3 Documentation **
Connections Server to Server Communication
& SSO
Server to Server CommunicationObtaining User information from Profiles (WPI)
Obtaining Membership information from Communities (WCI)
Community Life Cycle
Search Indexing
All communication is authenticated and uses HTTP
Interservice URL vs Service URL
LotusConnections-config.xml: customAuth element specifies authentication type
Connections Server to Server Communication
& SSO
Connections Server to Server Communication
& SSO
Connections Server to Server Communication
& SSO Alternative Inter Service Configuration
SSO: LotusConnections-config.xml
Agenda
Options for Securing Lotus Connections
SSO
New User Life Cycle Options in 3.0
Q&A
Why we need this
Listened to many customers
Heard of situations whereMaternity / Paternity Leave
Leave of Absence (Education, Military, etc)
Left the company
Etc
Why we need this (cont'd)
In 2.5, we had profile types
Required manual work via TDINo need to re-invent the wheel!
Wanted to simplify this process for everyone
Photo credit: http://www.dehats.com/drupal/?q=node/69
Tivoli Directory Integrator: Keeping
Profiles in Sync
TDI assembly line: connectors, flow controls, loops, branches
Supports two-way synchronization on LDAP attributes
Hooks enable scripting and customization
Use it forInitial population
Frequent updates
3.0 Introduces Inactive Users!!!
A TDI assembly line is made up of components (connectors, flow controls, loops, branches) that collect data from your source repositories and reformat it into the Profiles database.
Supports two-way synchronization on LDAP attributes.
Assembly line hooks are available for scripting and customization
TDI should be used to initially populate Profiles and then frequently used to keep it in sync
Connections release 3 allows you to mark a person as inactive when they aren't found in LDAP
Data Integrity don't delete old data
If you delete a user, you lose authorship information and data consistency
Don't delete the data, let your TDI assembly line inactivate the user
Profiles Platform Commands
Drive administrative events from a single application
Provides a framework for future unified commands
User Life Cycle should be preceded by name synchronization in each ApplicationEach application maintains its own user mapping table in the application database and it needs to be synchronized with LDAP, inactivating users not found in LDAP
Inactivating clears the user's login ids & email.
Frequent periodic TDI Sync can be created to automatically mark users inactive
Profiles propagates the command to inactivate a user across all components
Administrator can re-activate users
Initial Synchronization
wsadmin command session
[root@tapstage bin]# ./wsadmin.sh -lang jythonwsadmin> execfile("activitiesAdmin.py")Connecting to WebSphere:name=ActivitiesAdminService,type=LotusConnections, cell=tapstageCell01,
Synchronize users
Wsadmin> ActivitiesMemberService.syncAllMembersByExtId(...)syncAllMembersByExtId request processedwsadmin>
SyncAllMembersByExtId() takes several parameters indicating how a mismatch can be resolved (either by a matching email address, login id or left for later manual resolution).
Check the logs....
Locate the log file on the node specified when you started the WSADMIN command
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/clusterA_server1/ActivitiesUlcSyncCmd.log
Typical log messages about users that are not found and are Inactivated
[2010-12-21 07:34:32] CLFWY0261I: The synchronize command inactivated member Betsy Craig [current external id: b5bd83c0-8f09-1028-910f-db07163b51b2, application id 001G091E0E4B47BEF6967B3131AD59003CD0]
Resolving user mismatches
Mismatch Needs investigation
[2010-12-21 07:34:31] CLFWY0242W: The synchronize command found that active member Benjamin Button [current external id: LDAP_ID, application id LC_ID] could not be matched via external id, but could be matched via login or email to external id NEW_LDAP_ID. The member was not updated since this action was disabled by the command.
Review the information from HR systems about the user identified by external id NEW_LDAP_ID and determine if this entry matches Benjamin Button or if the person has left the company.
Resolving user mismatches (continued)
If the User has left, inactivate:
ActivitiesMemberService.inactivateMemberByExtId("LDAP_ID)
If Old and New ids reflect the same person, synchronize the user accounts
ActivitiesMemberService.syncMemberByExtId("OLD_LDAP_ID, {"newExtId": "NEW_LDAP_ID"})
Good details here:
http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Synchronizing_user_data_using_administrative_commands_lc3
Use Batch commands, external ids are consistent across all applications.
Investigate once, create batch script to update across all apps
Returning users can be re-linked with their old data ProfilesService.swapUserAccessByUserId("oldUserId","newUserId")
Agenda
Options for Securing Lotus Connections
SSO
New User Life Cycle Options in 3.0
Q&A
Related Sessions
JMP205IBM Lotus Connections 3.0 Administration Overview Sunday, 1:30pm
SHOW202Enterprise 2.0 Hero: A Beginners Guide to Installing IBM Lotus Connections 3.0 Monday, 4:30pm
SHOW203Lotus Connections 3.0 Enterprise Integration for Administrators Sunday, 4:00pm
BP105Twelve MORE Things Your Mother Never Told You About Deploying IBM Lotus Connections 3.0 Thursday, 10am
BP114IBM Lotus Connections Administration: From the Command Line to a Graphical UI Tuesday, 4:45pm
BP303Social Comes to You: How to Bring IBM Lotus Connections to Your Application in Context! Wednesday, 11:15am
INV111Making Decisions Collaboratively with Cognos Business Intelligence and IBM Lotus Connections Tuesday, 10am
AD303Connecting Developers and Community with Rational Jazz and Lotus Connections Tuesday, 1:30pm
AD304Customizing Lotus Connections 3.0 Tuesday 10am
ID301What's New in IBM Lotus Connections 3.0 Monday, repeats on Tuesday, 11am
ID302Best Practices for a Happy and Healthy IBM Lotus Connections Deployment! Tuesday, 1:30
ID303Exceptional Work Experience - Integrating and Extending Lotus Connections, WebSphere Portal, Lotus Quickr, Lotus Notes, Lotus Sametime and ECM Monday, 11am
ID305Build Large-scale Performing Enterprise Solutions for IBM Lotus Connections Tuesday, 4:45
ID306Compliance and Moderation with Lotus Connections 3.0 Wednesday, 4:15
References
V3 System Requirements: http://www-01.ibm.com/support/docview.wss?uid=swg27019882
V3 Single Sign On: http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Configuring_single_signon_lc3
All about security in v3: http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Security_lc3
Configuring Siteminder with Lotus Connections 3.0: http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Scenario_3_Setting_up_SiteMinder_Single_Sign-On_(SSO)_with_Lotus_Connections_3.0
Use caution with the version 2.5 guides concepts remain the same, but details may have changed in some cases:Lotus Connections 2.5 and Kerberos/SPNEGO: http://www.ibm.com/developerworks/lotus/library/connections-kerberos/index.html
Configuring IBM TAM with Lotus Connections 2.5: http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Configuring_IBM_Tivoli_Access_Manager_SSO_for_IBM_Lotus_Connections_2.5
Lotus Connections 2.5 Security Guidelines: http://www-10.lotus.com/ldd/lcwiki.nsf/dx/IBM_Lotus_Connections_2.5_secure_configuration_guidelines
Legal Disclaimer
IBM Corporation 2011. All Rights Reserved.The information
contained in this publication is provided for informational
purposes only. While efforts were made to verify the completeness
and accuracy of the information contained in this publication, it
is provided AS IS without warranty of any kind, express or implied.
In addition, this information is based on IBMs current product
plans and strategy, which are subject to change by IBM without
notice. IBM shall not be responsible for any damages arising out of
the use of, or otherwise related to, this publication or any other
materials. Nothing contained in this publication is intended to,
nor shall have the effect of, creating any warranties or
representations from IBM or its suppliers or licensors, or altering
the terms and conditions of the applicable license agreement
governing the use of IBM software.References in this presentation
to IBM products, programs, or services do not imply that they will
be available in all countries in which IBM operates. Product
release dates and/or capabilities referenced in this presentation
may change at any time at IBMs sole discretion based on market
opportunities or other factors, and are not intended to be a
commitment to future product or feature availability in any way.
Nothing contained in these materials is intended to, nor shall have
the effect of, stating or implying that any activities undertaken
by you will result in any specific sales, revenue growth or other
results. IBM, the IBM logo, Lotus, Lotus Connections, Lotus Notes,
Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and
Lotusphere are trademarks of International Business Machines
Corporation in the United States, other countries, or both. Unyte
is a trademark of WebDialogs, Inc., in the United States, other
countries, or both.Java and all Java-based trademarks are
trademarks of Sun Microsystems, Inc. in the United States, other
countries, or both.Microsoft and Windows are trademarks of
Microsoft Corporation in the United States, other countries, or
both.
UNIX is a registered trademark of The Open Group in the United
States and other countries.Linux is a registered trademark of Linus
Torvalds in the United States, other countries, or both.
Other company, product, or service names may be trademarks or
service marks of others.All references to Renovations refer to a
fictitious company and are used for illustration purposes only.
Click to add text
2011 IBM Corporation
2011 IBM Corporation
2011 IBM Corporation