=============================================================================== Maintenance for Sterling External Authentication Server SEAS2430 Fixpack 2 (SEAS2432) iFix 4 - February 2019 =============================================================================== This cumulative maintenance archive includes fixes for the issues listed below. Contents: I. HIPER (High Impact PERvasive) Fixes / Fixes Requiring Action II. Summary of Fixes by Patch/APAR (Latest iFix / FixPack first) III. Detailed Description of Fixes =============================================================================== I. HIPER (High Impact PERvasive) Fixes / Fixes Requiring Action =============================================================================== ACTION - ******************************************************************** ACTION - *** SSP/SEAS code signing certificate expires June 21, 2018 and *** ACTION - *** the SEAS Webstart GUI will not run after that date. *** ACTION - *** Upgrade SEAS to the SEAS2432 (SEAS 2.4.3.0 Fixpack 2) level *** ACTION - *** to ensure the Webstart GUI will continue to work. *** ACTION - *** See RTC565487 for details. *** ACTION - ******************************************************************** In SEAS2430 Fixpack 2 (SEAS23432) iFix 4 (February 2019): HIPER - Update JRE 1.8 to SR5 FP27 (8.0.5.27) for security patches - See PSIRT12959 and PSIRT13809 for more details. In SEAS2430 Fixpack 2 (SEAS23432) iFix 3 (December 2018): HIPER - Possible vulnerability in Jetty server. See PSIRT12571/SEAS-405 In SEAS2430 Fixpack 2 (SEAS23432) iFix 2 (August 2018): HIPER - Update JRE 1.8 to SR5 FP17 (8.0.5.17) for security patches - See PSIRT11819 for more details. In SEAS2430 Fixpack 2 (SEAS2432) iFix 1 (May 2018): HIPER - Update JRE 1.8 to SR5 FP10 (8.0.5.10) for security patches - See PSIRT10955 for more details. In SEAS2430 Fixpack 2 (SEAS2432) (March 2018): HIPER - SSP/SEAS code signing certificate expires June 21, 2018. Upgrade SEAS before that date to keep the SEAS Webstart GUI running. See RTC565487. In SEAS2430 iFix 5 Plus Build 132 (January 2018): ACTION - If there are customizations to the log4j property files, the Customer must retrofit them after the upgrade. See RTC557073 ACTION - Add HTTP security headers to webstart sessions - see RTC557573 In SEAS2430 iFix 5 (October 2017): HIPER - Upgrade to Java 8.0.4.10 for Java July 2017 security fixes. In SEAS2430 iFix 4 (April 2017): HIPER - Upgrade to Java 1.8 for Java January 2017 security fixes. ACTION - Java 1.8 will not install on Redhat 5. See RTC533801 for details ACTION - Disables Triple-DES (3DES-CBC) and DES ciphers. See RTC533801 for details =============================================================================== II. Summary of Fixes by iFix / FixPack /APAR (Latest iFix / FixPack first) =============================================================================== =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 04 Build 189 (Feb 2019) =============================================================================== PSIRT12959, - Update JRE 1.8 to SR5 FP27 (8.0.5.27) for security PSIRT13809 patches. =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 03 Plus Build 187 (Feb 2019) =============================================================================== MFT-10069/IT27973 - SEAS getting NPE on 2.4.3.2, Fix 3 when Jetty Webstart port defined as secure MFT-10122/IT27880 - SEAS doesn't allow forward slash (/) in username =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 03 Build 182 (Dec 2018) =============================================================================== MFT-10009/IT27016 - SEAS ldapImportTool.sh does not log exception when wrong FQDN/PORT in the properties file. PSIRT12571 - SEAS upgrade to Jetty 9.4.11 (Also SEAS-405) SSP-3229/ - Support for OpenDJ LDAP server =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 02 Plus Build 171 (Sep 2018) =============================================================================== MFT-9831/ - Certificate CRL revocation check fails after upgrade SEAS-405/ - SEAS upgrade to Jetty 9.4.11 =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 02 Build 169 (Aug 2018) =============================================================================== RTC571266/ - Change password fails when LDAP policy retrieval fails RTC572431/IT25834 - NullPointerExceptions (NPEs) in log after upgrade PSIRT11819 - Update JRE 1.8 to SR5 FP17 (8.0.5.17) =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 01 Plus Build 165 (July 2018) =============================================================================== RTC565836/IT25733 - SEAS authentication timeout in Custom Exit RTC571139/ - CRL Definition Wizard not working correctly after upgrade =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 01 Build 163 (May 2018) =============================================================================== RTC555070/IT24422 - Support password change through OpenLDAP server RTC567335/ - Upgrade Apache Components HttpClient to 4.5.5 level RTC565836/ - SEAS authentication timeout - clean up stack trace RTC567354/IT24987 - Getting non-fatal stackOverflowExceptions in log during SILENT install PSIRT10955/10418 - Update JRE 1.8 to SR5 FP10 (8.0.5.10) =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 00 Plus Build 158 (Apr 2018) =============================================================================== RTC566430/ - Remove Spring Framework libraries =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432) iFix 00 Plus Build 157 (Apr 2018) =============================================================================== RTC564014/IT24444 - Failure authenticating with HttpBasicAuthentication(SEAS) RTC564476/internal - SEAS web port is not being opened on IPV6 RTC564477/internal - SEAS accepting invalid IPV6 addresses in several fields RTC565040/IT24732 - Excessive error messages for SSPDummyUser pings =============================================================================== Fixes for SEAS 2.4.3.0 Fixpack 2 (SEAS2432 GA), Build 152 (March 2018) =============================================================================== RTC555099/ - Enhancement for HTTP proxy for CRL checking RTC555100/ - Enhancement to Choose Specific Protocols from Distribution Point CRL URL's RTC555102/ - Enhancement to suppress load balancer messages RTC560939/ - Redirect console output to a log file RTC545164/ - Add LDAP User Mapping to the generic authentication configuration RTC548827/ - IPv6 support for SSP and SEAS RTC559372/IT24331 - SEAS certificate and public key authentication fails after migrating to IBM SDSv64 from Tivoli RTC560023/IT23857 - SHA2 and SHA3 Cipher Suites not available when selecting "SSLv3, TLSv1, TLSv1.1, or TLSv1.2" RTC565487/ - *HIPER* SSP/SEAS code signing certificate expires June 21, 2018 =============================================================================== Fixes for SEAS 2.4.3.0 iFix 5 Plus, Build 132 (January 2018) =============================================================================== RTC129184 - Internal tag names used in EA UI interface and log RTC507936 - Unpredictable install directory when backspace settings not set correctly RTC542362 - Customized EA_GUI.jnlp file overwritten during upgrade RTC553646 - SEAS scripts failing after SEAS protocol update RTC555328/IT23537 - Invalid realm failure during SSO token validation RTC555414 - Passphrase pre-populated on a new install on Windows RTC555750/IT23303 - Jetty web server version found in server response header RTC557073/IT23495 - Engine fails to start after upgrading from pre-SSP3420 RTC557573/IT23598 - Add HTTP security headers to webstart sessions RTC557954/IT23539 - Connections are failing authentication or getting dropped =============================================================================== Fixes for SEAS 2.4.3.0 iFix 5, Build 117 (October 2017) =============================================================================== PSIRT9227 - Update JRE 1.8 to SR4 FP10 (8.0.4.10) RTC553583 - Tivoli LDAP Policy was not being retrieved after upgrade to IBM Security Directory Server =============================================================================== Fixes for SEAS 2.4.3.0 iFix 4 Plus, Build 115 (October 2017) =============================================================================== RTC550367/IT22489 - NPE in custom token manager after upgrade =============================================================================== Fixes for SEAS 2.4.3.0 iFix 4 Plus, Build 112 (September 2017) =============================================================================== RTC544478/IT22277 - Add support for IBM Security Access Manager (ISAM) v9 RTC548403/IT22242 - Avoid NPE when null ssh public key is returned from LDAP =============================================================================== Fixes for SEAS 2.4.3.0 iFix 4 Plus, Build 108 (June 2017) =============================================================================== RTC542640/IT21204 - Turn off world-writable files =============================================================================== Fixes for SEAS 2.4.3.0 iFix 4 Plus, Build 107 (June 2017) =============================================================================== RTC536554/IT20855 - Allow special characters in SEAS password fields RTC539439/IT20855 - SEAS GUI fails to start with non-IBM JRE =============================================================================== Fixes for SEAS 2.4.3.0 iFix 4, Build 104 (April 2017) =============================================================================== RTC533801/ - Upgrade to Java 1.8 for Java January 2017 security fixes RTC534100/IT20072 - Unable to start SEAS v2.4.3 using startSeas.bat on Windows RTC535210/ - RAS Enhancement - Add new startSeas.log, switches for heap dumps and SSL debugging =============================================================================== Fixes for SEAS 2.4.3.0 iFix 3 Plus, Build 101 (March 2017) =============================================================================== RTC533475/IT19864 - Assertion fails "element not found" when using custom attribute =============================================================================== Fixes for SEAS 2.4.3.0 iFix 3 Plus, Build 100 (March 2017) =============================================================================== RTC531980/IT19604 - Correlator id not returned for SSO token validation request from CEUNIX. =============================================================================== Fixes for SEAS 2.4.3.0 iFix 3, Build 99 (February 2017) =============================================================================== RTC524012/ - ldapImportTool unable to add sshPublicKey into Oracle LDAP RTC525080/IT18868 - All SEAS processes queued when 5 active transactions are delayed RTC525605/ - ldapImportTool support to include password policy name during upload RTC527345/IT19159 - Unable to edit existing Authentication Profile RTC527354/IT19159 - Unable to negotiate TLS1.2 when FIPS mode ON RTC528040/IT19158 - Unable to set some TLSv1.2 ciphers RTC528047/IT19156 - Unable to import seas_ad.ldf into Active Directory =============================================================================== Fixes for SEAS 2.4.3.0 iFix 2, Build 89 (December 2016) =============================================================================== No Defect/IT17228 - Upgraded SEAS to IBM JRE 1.7 SR9FP50 for latest security patches RTC508170/ - Allow token validation for CEUNIX RTC510283/RFE468574 - Allow SEAS to verify Hostnames RTC511666/IT17151 - Unable to invoke iKeyman on Solaris 10. RTC513984/ - Enhancement to allow silent Installs for SEAS RTC514318/IT17374 - SSH Public Key authentication through IBM SEAS fails due to trailing blank spaces RTC516324/ - SEAS does not start if passphrase contains “&” character RTC519864/IT17988 - 2 ciphers missing from SEAS supported ciphersuites list =============================================================================== Fixes for SEAS 2.4.3.0 iFix 1, Build 74 (July 2016) =============================================================================== RTC507060/no APAR - NumberFormatException during ip address conversion RTC498507/no APAR - The '-' character is not allowed in the username for SEAS system users RTC504692/IT15781 - Error after importing CEUNIX user data through LdapImportTool =============================================================================== III. Detailed Description of Fixes (in Defect ascending order) =============================================================================== RTC129184 - Internal tag names used in EA UI interface and log When an invalid value was specified in the SEAS GUI on the Manage / System Settings screen, the error message used the internal tag name rather than the name on the screen. Example: Invalid number specified for 'tagName.acceptTimeout' Resolution: Resolution: Corrected the error messages within the SEAS GUI System Settings screens when these fields failed validation: 'Accept Timeout', 'Read Timeout', 'Connect Timeout', 'Request Thread Pool Size', 'Service Thread Pool Size', 'Session Idle Timeout', 'SSL Handshake Timeout', 'Token Expiration Period' and 'Class Name' (from SSO Token/Custom screen) RTC504692/IT15781 - Error after importing CEUNIX user data through LdapImportTool The Customer was unable to establish SSL connections after the SEAS Truststore default password was changed during the execution of the LdapImportTool script. Resolution: Now ensure that the configured SEAS Truststore Password value is not overridden by default values. RTC507060/ no APAR - NumberFormatException during ip address conversion. Resolution: Changed the logic to avoid the NumberFormatException. RTC507936 - Unpredictable install directory when backspace settings not set correctly Inputting data to InstallAnywhere during installation and using the backspace or cursor arrow keys results in bad data. This comes about when the stty terminal settings are not set up correctly. The install directory value may display correctly, but end up containing unprintable backspace or arrow keys in them. Resolution: Added code to inspect for backspace and cursor keystrokes and correct the data inputted. RTC498507/ no APAR - The '-' character is not allowed in the username for SEAS system users Resolution: The SEAS username validation logic has been modified to allow hyphens in system user names. No Defect/IT17228 - Upgrade SEAS to IBM JRE 1.7 SR9FP50 for latest security patches This JRE includes the quarterly Java security patches through July 2016. See http://www.ibm.com/support/docview.wss?uid=swg21991287 for details. RTC508170/ - Allow token validation for CEUNIX Enhancement to allow CEUNIX to do token validation using the password field. RTC510283/RFE468574 - Allow SEAS to verify Hostnames There was no mechanism to perform DNS checks during certificate validation through SEAS Resolution: IBM SEAS has been modified to allow for DNS hostname checking during certificate validation. When the "Check hostname DNS" field is enabled in SEAS, the user IP address will be matched with information in the user certificate's SAN or certificate CN. RTC511666/IT17151 - Unable to invoke iKeyman on Solaris 10. The IBM hybrid JRE on Solaris delivers ikeyman as a call to the native Java with a class to execute. However, if the JAVA_HOME doesn't point to the IBM JRE, it gets "Could not find or load main class com.ibm.gsk.ikeyman.Ikeyman" Resolution: Corrected Solaris installers for SEAS, SSP, SSP_CM and PS to modify jre/bin/ikeyman so that it always invokes the installed IBM JRE. RTC513984/ - Enhancement to allow silent Installs for SEAS InstallAnywhere Silent Install is a feature which allows for automated installs without questions and answers from the console. It can be used for repetitive installs at Customer sites. The administrator first does the product install in "record" mode which builds an installation properties file for subsequent silent installs in "replay" mode. The SSP Engine, CM, PS, and SEAS have all been updated to allow silent installs. RTC514318/IT17374 - SSH Public Key authentication through IBM SEAS fails due to trailing blank spaces Resolution: Added logic to trim retrieved SSH PUBLIC key from the LDAP before using them in the SSH PUBLIC KEY authentication process. RTC516324/ - SEAS does not start if passphrase contains “&” character If the SEAS passphrase is changed to include an ampersand "&" character, the system will not start. Gets Startup did not succeed. Terminating: com.sterlingcommerce.hadrian. common.xml.XmlParsingException: Error on line 4: The entity name must immediately follow the '&' in the entity reference. Resolution: Escaped the system password field with the CDATA tag so that the xml converter will work properly RTC519864/IT17988 - 2 ciphers missing from SEAS supported ciphersuites list The ciphers TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 and TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 were not included as supported cipher suites for TLSv1.2. Resolution: Added these ciphers into ssl_tls_ciphers.properties so that they show up on a SEASCipherConfigTool.sh -c protocol=TLSV1.2 command. RTC524012/ - ldapImportTool unable to add sshPublicKey into Oracle ODSEE The ldapImportTool, which is used during Connect:Enterprise for UNIX migrations to SI/SFG, was not properly loading SSH public keys to a target Oracle ODSEE database. Resolution: Now properly load an SSH public key to Oracle systems RTC525080/IT18868 - All SEAS processes queued when 5 active transactions are delayed Customer was using a SEAS custom exit to process certain types of authentication. If the exit processing got hung, five processes would use up all the available threads, effectively locking out all work on the system, whether the authentication went through the custom exit or not. Resolution: Introduced 2 new System Global variables in the GUI to allow a configurable number of threads to process authentications. Service Thread Pool Size controls the number of threads to process authentications, token validations, custom exits, etc. Requests Thread Pool Size controls the number of threads to process incoming connections to SEAS. The default for both variables is 10 threads, with a minimum of 5 and a maximum of 500. RTC525605/ - ldapImportTool support to include password policy name during upload Customer needed the ability to include the name of the LDAP password policy for each user loaded into LDAP. Now provide a way in the ldapImportTool.properties to specify the name of an LDAP password policy for each user loaded. RTC527345/IT19159 - Unable to edit existing Authentication Profile SEAS admin user created an authentication profile that uses the searchDN option, but once it was saved, it could not be edited again. All tabs get an error. Resolution: Added an appropriate password mask, to keep from getting a cyclical error. RTC527354/IT19159 - Unable to negotiate TLS1.2 when FIPS mode ON When running in FIPS MODE, the Secure Accepter will not negotiate to accept connections using TLS 1.2. Resolution: Now allow TLSv1.1 and TLSv1.2 under FIPS mode. RTC528040/IT19158 - Unable to set some TLSv1.2 ciphers The Customer wants to limit which TLSv1.2 cipher suites can be used. The SEASCipherConfigTool -u eaSslProtocol=TLSv1.2 eaCiphers=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, command was not working because these 2 ciphers were missing from the ssl_tls_ciphers.properties file. Resolution. Updated the ssl_ssl_tls_ciphers.properties file to include the 2 missing ciphers and now ship the file in the SEAS jar instead of in the conf directory. RTC528047/IT19156 - Unable to import seas_ad.ldf into Active Directory The AD schema provided by SEAS was missing an end of attribute delimeter, so the imports were unsuccessful. Resolution: Corrected the missing end of attribute delimiter in the SEAS AD schema. RTC531980/IT19604 - Correlator id not returned for SSO token validation request from CEUNIX. When CEUNIX sent in a SSO token validation request with a correlation id, SEAS was not returning the correlation id with the authentication response. Resolution: Now return the correlation id for a SSO token validation. RTC533475/IT19864 - Assertion fails "element not found" when using custom attribute Attribute Assertion Processor was not handling Assertion of the form {attr[ldapQuery].yyyyy, xxxxx} properly during attribute resolution. Instead of using ldapQuery.yyyyy to resolve yyyyy within LDAP query attributes, it is using ldapQuery.yyyyyy,xxxxx which results in the wrong value being used in the assertion process. Resolution: Added logic to separate the default value from the actual attribute before resolving the attribute value from query attribute map. RTC533801/ - Upgrade to Java 1.8 for Java January 2017 security fixes Resolution: Upgrade to IBM JRE 1.8 SR4.1 to take advantage of the improved security features. This level of JRE addresses several Java vulnerabilities documented in the Security Bulletin: http://www.ibm.com/support/docview.wss?uid=swg22001965 ACTION: Java 1.8 will not install on Redhat 5. See this web page for more details: https://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.lnx.80.doc/user/supported_env_80.html ACTION: Disables Triple-DES (3DES_EDE_CBC) and DES ciphers. If your site requires 3DES ciphers (because you have not switched to AES128 or AES256), You may edit the /jre/lib/security/java.security and change the following line from jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, 3DES_EDE_CBC, DESede to jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, DESede Note that the new Java 1.8 contains the following new parameters in the ./jre/lib/security/java.security file. See that file for additional comments. # IBMJCE and IBMSecureRandom SecureRandom seed source. securerandom.source=file:/dev/urandom securerandom.strongAlgorithms=SHA2DRBG:IBMJCE # Controls compatibility mode for the JKS keystore type. keystore.type.compat=true (allows JKS or PKCS12 format) jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ DSA keySize < 1024 (DSA keysize parm added) # Algorithm restrictions for signed JAR files jdk.jar.disabledAlgorithms=MD2, RSA keySize < 1024 (all new) # Algorithm restrictions for SSL/TLS processing jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768, 3DES_EDE_CBC, DESede (Note: Disabling 3DES_EDE_CBC, DESede is new for this release) # Legacy algorithms for SSL/TLS processing (used as last resort) jdk.tls.legacyAlgorithms (New in 1.8, but not configured) # Policy for the XML Signature secure validation mode. jdk.xml.dsig.secureValidationPolicy=\ disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#rsa-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#hmac-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#md5,\ maxTransforms 5,\ maxReferences 30,\ disallowReferenceUriSchemes file http https,\ minKeySize RSA 1024,\ minKeySize DSA 1024,\ noDuplicateIds,\ noRetrievalMethodLoops RTC534100/IT20072 - Unable to start SEAS v2.4.3 using startSeas.bat on Windows Customer attempted to start SEAS2430 with the \bin\startSeas.bat file, but it was pointing to the SEAS 2.4.2.0 service. Resolution: Added the correct Windows service verbiage, 'net start SEAS_V2.4.3.0', to startSeas.bat. RTC535210/ - RAS Enhancement - Add new startSeas.log, switches for heap dumps and SSL debugging Reliability/Availability/Serviceability (RAS) enhancement to the startSeas.sh and startSeas.bat scripts. 1) By default, capture heap dumps also when asked for a user javacore dump. 2) Add Java SSL Debug parms (# Z=...) so they can be uncommented and used. 3) Start generating a /bin/startSeas.log file with a one line entry for each startup of the SEAS server. RTC539439/IT20855 - SEAS GUI fails to start with non-IBM JRE If the Customer was using a non-IBM JRE when calling the SEAS Webstart GUI, it would put out java.security.NoSuchProviderException: no such provider: IBMJCE and would not start up. Resolution: Updated the Security Properties handler to use the default security provider from the local JRE instead of IBMJCE. RTC536554/IT20855 - Allow special characters in SEAS password fields SEAS was unable to save certain special characters, such as the ampersand (&) in password fields, e.g. the principal password in an LDAP connection definition. Resolution: Added logic to the SEAS server configuration converter module to protect special characters in password values, so they can be saved. RTC542640/IT21204 - Turn off world-writable files Customer has a requirement that no files be created with write privileges by all users (i.e. UNIX "Other" ......RW.). By default, the JRE creates a temporary directory under /tmp/.com_ibm_tools_attach for monitoring programs to attach to (e.g. Dynatrace). One file based on the pid called attachNotificationSync has permissions of -rw-rw-rw-. Resolution: Added -Dcom.ibm.tools.attach.enable=no to all scripts associated with SSP, SSPCM, PS, and SEAS so that these world-writable files would no longer be created. ACTION: If you use third party monitoring tools to monitor SSP or SEAS, you may need to change to -Dcom.ibm.tools.attach.enable=yes in the startup scripts. RTC542362 - Customized EA_GUI.jnlp file overwritten during upgrade The Customer upgraded SEAS and found that it overwrote his updates to the EA_GUI.jnlp file, which is used to launch the SEAS GUI. He had configured it to connect to SEAS with https. Resolution: Now save a copy of ./conf/jetty/docroot/webstart/EA_GUI.jnlp during an upgrade install to EA_GUI.jnlp.bak. RTC544478/IT22277 - Add support for IBM Security Access Manager (ISAM) v9 Tivoli Access Manager (TAM) 5.1 has been end-of-life'd and has been replaced with IBM Security Access Manager (ISAM) v7, 8, and 9. Resolution: Now support ISAM v9 for back end security queries and assertions. If support for older TAM is required, Customer can add Java property -DenableTAM51=true to continue back level calls. RTC545164/ - Add LDAP User Mapping to the generic authentication configuration Currently the Mapped credentials which can be configured when using the 'Generic' auth (e.g custom exit like SIUserAuthExit_Xapi) are fixed. Resolution: Updated the GUI to provide an Attribute Query feature within the 'Generic' (custom exit) auhentication definition. It will allow retrieving mapped credentials, etc, from LDAP similar to the other authentication types. RTC548403/IT22242 - Avoid NPE when null ssh public key is returned from LDAP SSH key authentication was getting a NullPointerException (NPE) after applying SEAS2430 iFix 3 Plus Build 101 or above. The Customer was using an LDAP query for their SSH key with a scope of "subTree" instead of "one level" and some of the public keys returned were null. Resolution: Added logic to detect when a null ssh public key is returned for users that have the loginCredential container associated with them. RTC548827/ - IPv6 support for SSP and SEAS Resolution: Added support for iPv6 by - Removing the disabling IPV6 from the startup script - Changed the validators in all address fields to allow IPV6 addresses where IPV4 addresses were allowed  Note for the SEAS Web port (default 9080): - If you only want an IPV4 listen to be opened, specify a DNS name in /conf/jetty/JettyConfigDef.xml that resolves to an IPV4 address on the SEAS machine or specify the IPV4 address of the server where SEAS is being installed. - If you only want an IPV6 listen to be opened, specify a DNS name that resolves to an IPV6 address on the SEAS machine or specify the IPV6 address of the server where SEAS is being installed. - If you want both an IPV4 listen and an IPV6 listen to be opened, specify 0.0.0.0 RTC550367/IT22489 - NPE in custom token manager after upgrade Getting a NullPointerException during authentication of an SSH key when using a custom token manager. RTC50817 introduced code to check if a password field might be populated with a SEAS token so that Connect:Enterprise for UNIX could participate in Single Signon processing. However, it was not validating the password field before calling the custom SSO token manager with a null value. Resolution:  Now check for a null password field before checking to see if it may contain a SSO token. Also did some cleanup on log messages to make the logs more readable: - Changed the date format and shortened thread and class names - Changed SSP failover logging (sspDUMMYprofile) to TRACE mode - Attempt to suppress some messages so that SEAS can run in INFO mode to get general flow. PSIRT9227 - Update JRE 1.8 to SR4 FP10 (8.0.4.10) Resolution: Update the JRE 1.8 to bring it up to the Oracle July 2017 level for all the security patches. RTC553583 - Tivoli LDAP Policy was not being retrieved after upgrade to IBM Security Directory Server IBM Security Directory Server (ISDS) 6.x is the follow on product for IBM Tivoli LDAP, which has been discontinued. Note, this defect is also linked to RFE529909 - Support for IBM Security Directory Server 6.4. Resolution: SEAS now supports queries to IBM Security Directory Server 6.x. RTC553646 - SEAS scripts failing after SEAS protocol update The SEAS command line scripts could fail if the SEAS accepter was changed to run with TLS 1.2 only. Resolution: Changed the SEAS Command line client to default to SSL_TLSv2 (SSLv3 - TLSv1.2) when establishing TLS connectivity. RTC555070/IT24422 - Support password change through OpenLDAP server SEAS did not support user password changes when running against an Oracle LDAP, OpenLDAP, or Apache LDAP server. If a new or reset userid had the must-change password flag set, SEAS would not recognize it and pass back the proper values to SSP to allow the user to supply a new password. Resolution: Implemented logic to allow for proper password change against Oracle, Open, and Apache LDAP servers. RTC555099/ - Enhancement for HTTP proxy for CRL checking Customer had a requirement for SEAS Certificate Revocation List (CRL) checking to go through a proxy instead of going straight through to the internet. Resolution: Added support for sending the CRL requests through a proxy server. RTC555100/ - Enhancement to Choose Specific Protocols from Distribution Point CRL URL's When using "Process Distribution Points during CRL Check", SEAS attempts to make a connection to all the URL's from the distribution point object which can cause failures and unwanted errors in the log files. Resolution: Now allow the Admin to configure which protocols to allow when doing CRL checking. In the Certificate Validation Definition Wizard, when "CRL check required" and "Process Distribution Points during CRL Check" are checked, the following protocols are automatically selected but can be unchecked: HTTP, HTTPS, LDAP, and LDAPS. RTC555102/ - Enhancement to suppress load balancer messages The Customer uses a load balancer in front of their SEAS, and needed a way to turn off the unwanted log activity generated from the load balancer pings. Resolution: Include a new field in Manage -> System Settings -> Globals. Under Load Balancer Management / Load Balancer IP Addresses, the IP address(es) can be specified (comma separated). Ensure the "Enable Load Balancer Logging" is unchecked to turn off the logging. RTC555328/IT23537 - Invalid realm failure during SSO token validation If a Customer runs SEAS with a custom token manager, and any of their tokens are created without SEAS involved, SEAS is not able to validate the token because it does a check to ensure that the token was generated by SEAS. The error message is: ERROR SingleSignonServiceImpl - AUTH091E SSO token validation failed (Reason: invalid realm). Resolution: Now only validate the token realm if SEAS is using the default simpleSAML token manager. If a custom token manager is in use, the token could have been generated outside of SEAS and would not have a SEAS realm. RTC555414 - Passphrase pre-populated on a new install on Windows A new install on Windows shows the system passphrase field pre-populated With ********. Resolution: Changed the install to not pre-populate the $PASSPHRASE$ variable. RTC555750/IT23303 - Jetty web server version found in server response header Jetty is sending its version in the HTML Header (considered a security risk by some scanners). Resolution: Configured Jetty to not send its server version. RTC557073/IT23495 - Engine fails to start after upgrading from pre-SSP3420 Upgrade installs of SEAS, SSPcm or SSP engine did not replace the log4j property files and in some cases, the SSP CM and/or SSP engine will not come up properly. Resolution: The installer (during an upgrade) will make a copy of the following log4j files and append a date/time stamp to the name before replacing the file with the current version: bin/log.properties conf/log.properties conf/log4j.properties conf/log4j2.xml ACTION: If there are customizations to the log4j property files, the Customer must retrofit them after the upgrade. RTC557573/IT23598 - Add HTTP security headers to webstart sessions Resolution: Provide an Admin GUI option in the Manage system -> Globals tab which allows secure HTTP headers to be inserted for webstart sessions. By checking the box entitled, "Enable HTTP security headers for webstart", the administrator can enable the following HTTP headers in Webstart sessions: X-Frame-Options, X-XSS-Protection, X-Content-Type-Options, Strict-Transport-Security, and Content Security Policy. Note: Build139 disabled Content-Security-Policy by default. RTC557954/IT23539 - Connections are failing authentication or getting dropped Customer is running with a SEAS Custom exit and when there are many concurrent connections, some are getting dropped or failing. Tried adding the SEAS Java parms -Dhttp.exit.cache.client=true and the SEAS HTTP custom exit property pre-authenticate=true, but they were only partially effective. Resolution: Updated the HttpUserAuthExit to use a Multi-Threaded Http ConnectionManager instead of the SimpleHttpConnectionManager. Also now cache HttpClient objects by default. RTC559372/IT24331 - SEAS certificate and public key authentication fails after migrating to IBM SDSv64 from Tivoli The Customer upgraded from a version of Tivoli LDAP to its follow on product, IBM Security Directory Server (ISDS), version 6. The new product returned the sshPublicKey in binary mode in accordance with RFC 2252, instead of in Base64 encoded form, which SEAS was used to. The change resulted in failed authentications. Resolution: Now handle sshPublicKeys and certificates returned from LDAP in either Binary or Base64 encoded format. Workaround: Consult ISDS product documentation about a setting in the ibmsldap.conf file, ibm-slapdSetenv: IBMLDAP_ATTR_INCLUDE_BINARY=FALSE which returns the binary attributes in the old format for compatibility. RTC560023/IT23857 - SHA2 and SHA3 Cipher Suites not available when selecting "SSLv3, TLSv1, TLSv1.1, or TLSv1.2" When selecting "SSLv3, TLSv1, TLSv1.1, or TLSv1.2" there were no SHA256 or SHA384 cipher suites listed. Resolution: Now default to 18 cipher suites, including at least 5 each of SHA256 and SHA384 for the following protocol selections: "SSLv3, TLSv1, TLSv1.1, or TLSv1.2" (Also known as SSL_TLSv2) "TLSv1, TLSv1.1, or TLSv1.2" (New, called TLS_ONLY) "TLSv1.2" RTC560939/ - Redirect console output to a log file Currently when Java ssl debugging is turned on in SEAS, the output goes to the /bin/startSeas.out file and does not have any timestamps nor does it roll over. Resolution: Added support for SSL debugging output to go to a log4j logger which supports timestamps and a file appender (>logs/systemout.log). RTC564014/IT24444 - Failure authenticating with HttpBasicAuthentication(SEAS) When the two exits: SIUserAuthExit_Xapi and HttpUserAuthExit are used together, the SSL connection to the backend fails for one of them. Resolution: Changed the HttpUserAuthExit to register its "Protocol" object under a different string "myhttps" instead of "https" to avoid the conflict. RTC564476/internal - SEAS web port is not being opened on IPV6 The SEAS installer sets up Jetty to bind to a specific IPV4 address unless overriden by the user. Resolution: Changed the installer to default to 0.0.0.0 as the DNS name for the servlet container which allows Jetty to allow any address (IPV4 or IPV6) to connect. RTC564477/internal - SEAS accepting invalid IPV6 addresses in several fields The validation of Host Name in several panels was simply screening for invalid characters. Resolution: Now always validate Host Name in all fields and recognize IPV4 and IPV6 addresses and screen them properly. RTC565040/IT24732 - Excessive error messages for SSPDummyUser pings from SEAS user exit The Customer was seeing excessive error messages and stack traces for the sspDummyUser ping events when using the SEAS custom user exit. Resolution: Added logic to suppress excessive logging when the UserId is SSPDummyUser or the SEAS profile is SSPDummyProfile during SEAS user exit authentication. RTC565487/ - SSP/SEAS code signing certificate expires June 21, 2018 The code signing certificate used for SSP and SEAS expires June 21, 2018. Testing showed that both products will run after that date, but the SEAS Webstart GUI will not. Resolution: Updated the signing cert for SSP and SEAS with one which will expire on March 14, 2021. HIPER: Upgrade SEAS to the SEAS2432 (SEAS 2.4.3.0 Fixpack 2) level before June 21, 2018 to ensure that the Webstart GUI will continue working. RTC565836/IT25733 - SEAS authentication timeout in Custom Exit Getting timeouts on some clients connecting to SSP. SSP sends the authentication request to SEAS but it never receives the response back and hence the connection fails. The Customer's Custom Exit was returning a null value in the SEAS audit logs list, and SEAS dropped the response. Resolution: Added logic to handle null values in the audit logs list. Also cleaned up stack trace while debugging the timeout issue. RTC566430/ - Remove Spring Framework libraries The Spring Framework toolkit libraries have been shipped with the product but they are not used. Resolution: No longer ship the Spring Framework libraries. RTC567335/ - Upgrade Apache Components HttpClient to 4.5.5 level Need to upgrade the Apache Commons HttpClient 3.1 toolkit which is end of life. Resolution: Updated the Apache Components HttpClient toolkit to 4.5.5. Changed the HttpUserAuthExit and SIUserAuthExit_Xapi exits to use the same. RTC567354/IT24987 - Getting non-fatal stackOverflowExceptions in log during SILENT install The SILENT install for SEAS produces one or more stackOverflowExceptions in the installer log. However, the actual installation is still ok and these errors can be ignored. Resolution: Changed the installer to recognize that the installation is a SILENT install and avoid the action causing the stackOverflowException. PSIRT10955/10418 - Update JRE 1.8 to SR5 FP10 (8.0.5.10) Resolution: Update the JRE 1.8 to bring it up to the Oracle January 2018 level to satisfy the CVEs in PSIRT10418 and PSIRT10955. PSIRT 10418 - October 2017 Java CPU Advisory CVE-2017-10356 (CVSS 6.2) - Product uses JKS or JCEKS keystores PSIRT 10955 - January 2018 Java CPU Advisory CVE-2018-2633 (CVSS 8.3) - Vulnerable to specially crafted LDAP CRL URL. CVE-2018-2603 (CVSS 5.3) - Applications that use SSL/TLS. CVE-2018-2602 (CVSS 4.5) - Affects all Java deployments. CVE-2018-2588 (CVSS 4.3) - LdapLoginModule for LDAP based authentication. CVE-2018-2579 (CVSS 3.7) - Issue with getEncoded() method See http://www.ibm.com/support/docview.wss?uid=swg22017040 for the Security Bulletin. RTC571139/ - CRL Definition Wizard not working correctly after upgrade After upgrading to SEAS 2.4.3.2 iFix 1, the CRL Definition Wizard in the GUI was not allowing the [ Match Attributes ] on [LDAP Parameters] to be set during initial setup. Resolution: Now use the correct match attribute label in the internal GUIProperties.properties.prebuild file. RTC571266/ - Change password fails when LDAP policy retrieval fails During a password change operation via SEAS, if there is a failure during the LDAP password policy retrieval, the user is not allowed to complete the password change. Resolution: Now allow the user to proceed with the password change operation when the LDAP password policy retrieval fails. RTC572431/IT25834 - NullPointerExceptions (NPEs) in log after upgrade Customer getting NPEs in the logs when the SEAS is attempting to retrieve a password policy. The error did not seem to cause a problem with production processing. Resolution: Corrected the NPEs so they don't clutter up the log. Note: The defect RTC572431 is also known internally as MFT-9861. PSIRT11819 - Update JRE 1.8 to SR5 FP17 (8.0.5.17) Resolution: Update the JRE 1.8 to bring it up to the Oracle April 2018 level to satisfy the CVEs in PSIRT11819: CVE-2018-2783 (CVSS 7.4) TLS handshaking flaw implementing 3Shake See http://www.ibm.com/support/docview.wss?uid=ibm10729767 for the Security Bulletin. MFT-9831/ - Certificate CRL revocation check fails after upgrade When the Certificate Revocation List (CRL) is in DER format, it was being converted into string data after upgrading to SEAS 2.4.3.2 iFix 1. This caused the CRL processing to fail. Resolution: The module which retrieves the CRL has been updated to return binary data in all instances. SEAS-405/ - SEAS upgrade to Jetty 9.4.11 Enhancement to upgrade Jetty from the 7.0.1 level to the 9.4.11 level for improved security and functionality. This is also known as PSIRT12571. MFT-10009/IT27016 - SEAS ldapImportTool.sh does not log exception when wrong FQDN/PORT in the properties file. The ldapImportTool, which is used during Connect:Enterprise for UNIX migrations to SI/SFG, was not notifying of a failed connection to the LDAP server. Resolution: Added a check for a failed connection and put out an error message. SSP-3229/ - Support for OpenDJ LDAP server Resolution: Now support the OpenDJ LDAP server for back end security queries and assertions. MFT-10069/IT27973 - SEAS getting NPE on 2.4.3.2, Fix 3 when Jetty Webstart port defined as secure After upgrading to SEAS2432 iFix 3, Customer got the following when starting the product: ManagedJettyService - EXCEPTION start() – java.lang.NullPointerException at org.eclipse.jetty.server.AbstractConnector. (AbstractConnector.java:197) ServiceManagerImpl - Startup did not succeed. Terminating The Customer had set to true in their SEAS Webstart (9080) port definition at /conf/jetty/JettyConfigDef.xml Resolution: The Jetty implementation, which had recently been upgraded in SEAS2432 iFix 3, was updated to correctly support https. MFT-10122/IT27880 - SEAS doesn't allow forward slash (/) in username Customer using Active Directory reported that SEAS authentication from ICC returns the below error when there is a forward slash (/) in the username. LDAP: error code 49 - 80090308: LdapErr: DSID-0C090400, comment: AcceptSecurityContext error, data 52e, v1db1 Resolution: SEAS was modified to allow a forward slash as a valid character in a username being validated. PSIRT12959, - Update JRE 1.8 to SR5 FP27 (8.0.5.27) for security PSIRT13809 patches. Resolution: Update the JRE 1.8 to bring it up to the Oracle October 2018 level to satisfy the CVEs in PSIRT advisories 12959 and 13809. See http://www.ibm.com/support/docview.wss?uid=ibm10872778 for the Security Bulletin.