Bug 1069885

Summary: [GSS] (6.3.0) SecureIdentityLoginModule (and ConfiguredIdentityLoginModule) results are not cached by the JAAS cache
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Derek Horton <dehort>
Component: SecurityAssignee: Derek Horton <dehort>
Status: CLOSED CURRENTRELEASE QA Contact: Josef Cacek <jcacek>
Severity: unspecified Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.1.1CC: dehort, hmlnarik, nsriniva, smumford, twells
Target Milestone: ER4   
Target Release: EAP 6.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In previous versions of JBoss EAP 6 performance issues were encountered when using the `SecureIdentityLoginModule` not caching encrypted datasource passwords. This was caused by JAAS cache not allowing the cache key to be null when the application using the datasource was not secured. In this release of the product the vault is used for encrypting database passwords, bypassing the JAAS login module and resolving the performance issues.
Story Points: ---
Clone Of:
: 1069886 (view as bug list) Environment:
Last Closed: 2014-06-28 15:27:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1069886    

Description Derek Horton 2014-02-25 20:55:59 UTC
Description of problem:

In EAP 6, when using the SecureIdentityLoginModule to encrypt datasource passwords, the results are not cached by the JAAS cache. In EAP 5, the results are cached. This can lead to a performance issue.

The root cause appears to be that the EAP 6 JAAS cache does not allow for a JAAS cache key to be null.

The issue only occurs when the application that uses the datasource is not secured. In this situation, the principal is null when isValid() and updateCache() are called. When the application is secured, the results are cached. I think it is working because the result of the SecureIdentityLoginModule are cached using the authenticated user's principal as the cache key.

Workaround:
Use vault for encrypting the database password. This does not use a JAAS login module so the JAAS cache and login module are completely avoided.

Comment 1 JBoss JIRA Server 2014-03-06 22:44:59 UTC
Derek Horton <dhorton> updated the status of jira SECURITY-803 to Resolved

Comment 5 Hynek Mlnarik 2014-05-14 15:54:35 UTC
Verified in 6.3.0.ER4