Use this page to understand the predefined custom properties that are related to security.
To view this administrative console page, click New to add a new custom property and its associated value.
. Click The custom properties in this topic are set in the
administrative console through the previously listed path unless otherwise
stated in the description.
This property only applies to the SMF Emitter implementation that IBM provides for the Security Auditing feature. You can use this property to specify, in bytes, the length at which variable-length audit data is truncated. By default, if this custom property is not specified, and the threshold limit of 20480 is exceeded, variable-length audit data fields are truncated to 128 bytes.
The SMF relocation data has a threshold size limit of 20480 bytes. If the audit data exceeds this limit, the audit data is truncated to prevent the loss of audit records.
Default | 20480 |
Type | An integer between 1 and 512 |
This property enables you to specify how much auditing data is recorded for each event type. If you only need to record basic information about an event, such as who did what action to what resource, and when, setting this property to high, might improve your application server performance.
You can specify values of high, medium, or low for this property. The default value is low.
Event type | high setting | medium setting | low setting |
---|---|---|---|
SessionContext | sessionId | sessionId, remoteHost | sessionId, remoteHost, remoteAddr, remotePort |
PropagationContext (is only reported if SAP is enabled) | firstCaller (as part of the who) | firstCaller, and if verbose mode is enabled, the callerList | firstCaller, and if verbose mode is enabled, the callerList |
RegistryContext | nothing is recorded | registry type | registry type |
ProcessContext | nothing is recorded | realm | realm, and domain if verbose is enabled |
EventContext | creationTime | creationTime, globalInstanceId | creationTime, globalInstanceId, eventTrailId, and lastTrailId if verbose mode is enabled |
DelegationContext | identityName | delegationType, and identityName | delegationType, roleName, and identityName |
AuthnContext | nothing is recorded | authn type | authn type |
ProviderContext | nothing is recorded | provider | provider, and providerStatus |
AuthnMappingContext | mappedUserName | mappedUserName, and mappedSecurityRealm | mappedUserName, mappedSecurityRealm, and mappedSecurityDomain |
AuthnTermContext | terminateReason | terminateReason | terminateReason |
AccessContext | progName, action, appUserName, and resourceName | progName, action, appUserName, resourceName, registryUserName, and accessDecision | progName, action, appUserName, resourceName, registryUserName, accessDecision, resourceType, permissionsChecked, permissionsGranted, rolesChecked, and rolesGranted |
PolicyContext | nothing is recorded | policyName | policyName, and policyType |
KeyContext | keyLabel | keyLabel, and keyLocation | keyLabel, keyLocation, and certificateLifetime |
MgmtContext | nothing is recorded | mgmtType, and mgmtCommand | mgmtType, mgmtCommand, and targetInfoAttributes |
This property completely disables the caller list and will not allow the caller list to change. This property prevents the creation of multiple sessions.
Default | false |
This property allows local communication data to be used as authentication material for the CSIv2 transport layer when the user registry is not a LocalOS user registry.
When this property is set to true, the data retrieved from the local communication transport corresponds to the ASID of the local client connecting to a WebSphere Application Server process. A user corresponding to the ASID must exist in the user registry. When a CSIv2 Establish Message is received by a WebSphere Application Server process and Identity Assertion is requested, the data retrieved from the local communication transport can be used to validate that the client has permission to assert the user specified in the Identity Token in the Attribute Layer. If the user represented by the received ASID is in the Trusted Identities list on the CSIv2 Inbound Authentication page in the administrative console, then that ID is able to assert the Identity Token.
Default | false |
This property will not allow the caller list to change and thus prevent the creation of multiple session entries. This property specifically limits the caller list to the first caller only.
Default | false |
This property specifies the Java™ Authentication and Authorization Service (JAAS) login configuration that is used for Remote Method Invocation (RMI) requests that are received inbound.
By knowing the login configuration, you can plug in a custom login module that can handle specific cases for RMI logins.
Default | system.RMI_INBOUND |
This property defines the system JAAS login configuration that is used to perform application specific principal mapping.
Default | None |
This property, when set to true, enables the application specific principal mapping capability.
Default | false |
This property specifies the JAAS login configuration that is used for RMI requests that are sent outbound.
Primarily, this property prepares the propagated attributes in the Subject to be sent to the target server. However, you can plug in a custom login module to perform outbound mapping.
Default | system.RMI_OUTBOUND |
This property, when set to true, enables the original caller subject embedded in the WSSubjectWrapper object to be restored.
Default | false |
This property enables credentials that are authenticated in the current realm to be sent to any realm that is specified in the Trusted target realms field. The Trusted target realms field is available on the CSIv2 outbound authentication panel. This property enables those realms to perform inbound mapping of the data from the current realm.
This property can be set to true or false to determine if the CosNamingRead role protects all naming read operations. Setting this property to true is the equivalent of assigning the CosNamingRead role the Everyone special subject. If this propert is set, then it will override any assignments made to the CosNamingRead role.
Default | none |
Determines whether System Authorization Facility (SAF) delegation can be used independently of SAF authorization. When this property is set to true, SAF delegation can be used whenever the user registry is a Federated Repository user registry, and is configured with a SAF user registry bridge.
There is no default value for this property.
This property can be used to override the value for the APPL profile, specifically for the two RACROUTE calls that are made during server startup. For these calls the APPL value is not used for the authorization checking process, but is made available to the installation exit routine. The APPL profile value used for authorization checking is not controlled by this property, it is instead set to either CBS390 or the SAF profile prefix value.
Default | none |
Specifies that Federal Information Processing Standard (FIPS) algorithms are used. The application server uses the IBMJCEFIPS cryptographic provider instead of the IBMJCE cryptographic provider.
Default | false |
This security property is used to customize the "from address" of certificate expiration notification e-mail.
The value you assigned to this property should be an internet address, for example "Notification@abc-company.com" If this property is not set, WebSphere uses its e-mail fromAddress: "WebSphereNotification@ibm.com" .
Default | None |
This security property is used to customize the text encoding character set for certificate expiration notification e-mail.
WebSphere Application Server sends notification e-mail for certificate expiration in either US-English or the machine default character set (if non-English locale is specified). If you want a different text encoding character set for the certificate expiration notification e-mail, you can use this property to customize the text encoding character set.
Default | None |
This property can be set when realm registry lookups are performed via an MBean on a remote server if the realm is local OS security.
By default, the user registry tasks listRegistryUsers and listRegistryGroups perform lookups from the current process. In the case of Network Deployment (ND), that is the dmgr.
When dealing with a local OS user registry, lookup should occur on the actual server where the registry resides. In an ND environment that could be a remote machine. To perform lookup on the server process where the registry resides, the com.ibm.websphere.lookupRegistryOnProcess custom property should be set to true.
If com.ibm.websphere.lookupRegistryOnProcess is not set, or set to false, then the lookup is performed on the current process. The custom property can be set using the setAdminActiveSecuritySettings task for global security or the setAppActiveSecuritySettings task for a security domain.
When you are using application form login and logout you can provide a URL for a custom logout page. By default, the URL must point to the host to which the request is made or to its domain. If this is not done, then a generic logout page is displayed rather than a the custom logout page. If you want to be able to point to any host, then you need to set this property in the security.xml file to a value of true. There is a risk that setting this property to have a value of true may open your systems to potential URL redirect attacks.
Default | false |
Use this property to indicate whether a cookie with the value WASReqURL is honored when the custom form login processor is used.
When this property is set to true, the value of WASReqURL takes precedence over the current URL, and the WASReqURL cookie is removed from subsequent requests.
When this property is set to false, the value of the current URL takes precedence, and the WASReqURL cookie is not removed from subsequent requests.
Default | false |
This property is used to improve the response time for large topology configurations.
When this property is set to true the status of the of the SSL port endpoints does not display on the Manage endpoint security configurations page in the administrative console. Displaying the status of the SSL port endpoints sometimes makes the administrative console seem like it is no longer functioning because of a longer than expected response time.
Default | false |
Default invocation order of Trust Association Interceptors (TAIs) in relation to Single Sign On (SSO) user authentication can be changed using this property. The default order is to invoke Trust Association Interceptors after SSO. This property is used to change the default order of TAI invocation with SSO. The property value is a comma (,) separated list of TAI class names to be invoked before SSO.
Default | none |
Type | string |
By default, when JAAS authentication data entries are created at the domain security level, the alias name for the entry will be in the format aliasName. . You can enable the addition of the node name to the alias name in order to create the alias name in the format nodeName/aliasName for the entry, by setting the following property at the domain security level.
Default | false |
By default, when JAAS authentication data entries are created at the global security level, the alias name for the entry will be in the format nodeName/aliasName. You can disable the addition of the node name to the alias name for the entry, by setting a value of true for this property at the global security level.
Default | false |
This custom property specifies whether the application server uses the canonical form of the URL/HTTP host name in authenticating a client.
CWSPN0011E: An invalid SPNEGO token has been encountered while authenticating a HttpServletRequestIf you set this custom property to true, you can avoid this error message and allow the application server to authenticate using the canonical form of the URL/HTTP host name.
Default | false |
This custom property enables you to change the name of the realm that is placed in the token.
This custom property enables you to configure each cell to have its own LDAP host for interoperability and backward compatibility. Also, it provides flexibility for adding or removing the LDAP host dynamically. If you are migrating a previous installation, this modified realm name does not take effect until administrative security is re-enabled. To be compatible with a previous release that does not support the logic realm, the name must be the same name that is used by the previous installation. You must use the LDAP host name, including a trailing colon and port number.
Type | String |
When you are using application form login and logout you can provide a URL for a custom logout page. By default, the URL must point to the host to which the request is made or to its domain. If this is not done, then a generic logout page is displayed rather than a the custom logout page. If you need to point to a different host, then you can populate this property in security.xml with a pipe (|) separated list of URLs that are allowed for the logout page.
Default | none |
This property is used to control the size of the alias cache.
The default value is 5000 and can be increased for larger deployments.
The value must be entered into the range of 1 - N, where N is a valid positive integer that is greater than or equal to the number of nodes registered with the Job Manager. You do not need to add this property unless your Job Manager topology exceeds 5000 registered nodes.
Default | 5000 |
Specifies whether credential expiration check occurs for a local EJB call. Typically, when an EJB invokes another EJB that is located in a local machine, a direct method invocation occurs even if the credentials of the original invoker expire before the local EJB call occurs.
If this property is set to true, a credential expiration check occurs on a local EJB call before the EJB is invoked on the local machine. If the credentials have expired, the EJB call is rejected.
If this property is set to false, a credential expiration check does not occur for a local EJB call.
Default | false |
This property specifies the time in milliseconds that a CSIv2 session can remain idle before being deleted. The session is deleted if the com.ibm.websphere.security.util.csiv2SessionCacheLimitEnabled custom property is set to a true value and the maximum size of the CSIv2 session cache is exceeded.
The range of values for this custom property is 60,000 to 86,400,000 milliseconds. By default, the value is not set.
This custom property specifies whether to limit the size of the CSIv2 session cache.
When you set this custom property value to true, you must set values for the com.ibm.websphere.security.util.csiv2SessionCacheIdleTime and com.ibm.websphere.security.util.csiv2SessionCacheMaxSize custom properties. When you set this custom property to false, the CSIv2 session cache is not limited. The default property value is false.
Consider setting this custom property to true if your environment uses Kerberos authentication and has a small clock skew for the configured key distribution center (KDC). In this scenario, a small clock skew is defined as less than 20 minutes.
This property specifies the maximum size of the session cache after which expired sessions are deleted from the cache.
Expired sessions are defined as sessions that are idle longer than the time that is specified by the com.ibm.websphere.security.util.csiv2SessionCacheIdleTime custom property. When you use the com.ibm.websphere.security.util.csiv2SessionCacheMaxSize custom property, consider setting its value between 100 and 1000 entries.
Consider specifying a value for this custom property if your environment uses Kerberos authentication and has a small clock skew for the configured key distribution center (KDC). In this scenario, a small clock skew is defined as less than 20 minutes. Consider increasing the value of this custom property if the small cache size causes the garbage collection to run so frequently that it impacts the performance of the application server.
This custom property only applies if you enable stateful sessions, set the com.ibm.websphere.security.util.csiv2SessionCacheLimitEnabled custom property to true, and set a value for the com.ibm.websphere.security.util.csiv2SessionCacheIdleTime custom property.
The range of values for this custom property is 100 to 1000 entries. By default, the value is not set.
This property sets a size limit for WASPostParam cookies being generated by the security code.
Default | none |
This is a custom property of user registries. This property alters the behavior of creating WSCredential.
A setting of false indicates that the security name returned by a user registry is always used to construct WSCredential.
A setting of true indicates that either a security name that is supplied by login module is used or a display name that was supplied by a user registry is used. This setting is compatible with WebSphere Application Server version 6.0.2 and older releases.
Default | false |
This custom property enables you to set the HTTPOnly attribute for single sign-on (SSO) cookies.
You can use the com.ibm.ws.security.addHttpOnlyAttributeToCookies custom property to protect cookies that contain sensitive values. When you set this custom property value to true, the application server sets the HTTPOnly attribute for SSO cookies whose values are set by the server. The HTTPOnly attribute enables the protection of sensitive values in cookies.
Also, a true value enables the application server to properly recognize, accept, and process inbound cookies with HTTPOnly attributes and inhibit any cross-site scripting from accessing sensitive cookie information.
A common security problem, which impacts Web servers, is cross-site scripting. Cross-site scripting is a server-side vulnerability that is often created when user input is rendered as HTML. Cross-site scripting attacks can expose sensitive information about the users of the Web site. Most modern Web browsers honor the HTTPOnly attribute to prevent this attack. A cookie with this attribute is called an HTTPOnly cookie. Information that exists in an HTTPOnly cookie is less likely to be disclosed to a hacker or a malicious Web site. For more information about the HTTPOnly attribute, see the Open Web Application Security Project (OWASP) Web site.
Default | false |
This property specifies whether the non-admin security roles are allowed the ability to modify the security.xml file. Setting this property to true gives non-admin security roles the ability to modify the security.xml file. In Version 6.1, by default, non-admin security roles have the ability to modify the security.xml file.
Default | false |
Type | Boolean |
In this release, the actual LTPA token data is not available from a WSCredential.getCredentialToken() call when called from an asynchronous bean. For an existing configuration, you can add the com.ibm.ws.security.createTokenSubjectForAsynchLogin custom property and a true value to allow the LTPAToken to be forwarded to asynchronous beans. This property allows portlets to successfully perform LTPA token forwarding. This custom property is case sensitive. You must restart the application server after you add this custom property.
Default | not applicable |
Specifies whether to check or not check the object request broker (ORB) for properties. This property needs to be set as a system property. You set this property to true or yes so that the ORB is checked for properties. For any other setting, the ORB is completely ignored.
The property is to be used when a pluggable application client connects to the WebSphere Application Server. Specifically, this property is used whenever a hashmap containing security properties is passed in a hashmap on a new InitialContext(env) call.
This property is the JAAS login configuration that is used for logins that do not fall under the WEB_INBOUND, RMI_OUTBOUND, or RMI_INBOUND login configuration categories.
Internal authentication and protocols that do not have specific JAAS plug points call the system login configuration that is referenced by com.ibm.ws.security.defaultLoginConfig configuration.
Default | system.DEFAULT |
Use the com.ibm.ws.security.failSSODuringCushion custom property to update custom JAAS Subject data for the LTPA token.
When this custom property is set to true, new JAAS Subjects might not contain the custom JAAS Subject data.
The default value is false.
Starting with Version 7.0.0.13, the default value for this property is true.
Use the com.ibm.ws.security.ltpa.forceSoftwareJCEProviderForLTPA custom property to correct an "invalid library name" error when you attempt to use a PKCS11 type keystore with a Java client.
Also, use this custom property if you are using
the IBMJCECCA provider because distributed and z/OS operating systems
use different provider types for hardware cryptography.
The ssl.client.props file points to a configuration file, which in turn, points to the library name for the cryptographic device. The code for the Java client looks for a keystore type for the correct provider name. Without this custom property, the keystore type constant for PKCS11 is not specified correctly as it references the IBMPKCS11Impl provider instead. Also, the Lightweight Third Party Authentication (LTPA) code uses the provider list to determine the Java Cryptography Extension (JCE) provider. This approach causes a problem when Secure Sockets Layer (SSL) acceleration is attempted because the IBMPKCS11Impl provider needs to be listed before the IBMJCE provider within the java.security file.
This custom property corrects both issues so that SSL and other cryptographic mechanisms can use hardware acceleration.
Set this custom property to true when you want to use a PKCS11 type keystore with a Java client.
Default | false |
Use this property to improve the CPU utilization during the sign() operation that occurs when a new LTPA2 (SSO) token is created. When this property is set to true, the product implements the Chinese Remainder Theorem (CRT) algorithm when signing the new token. This property has no effect on the old style LTPA token.
Default | false |
Use this property to disable the mechanism typically used to check the expiration of a token for an AsyncBean that is created using a version of the product that does not have the Feature Pack for Web Services installed.
The mechanism typically used to check the expiration of a token for an AsyncBean that is created using a version of the product that does not include the Feature Pack for Web Services, does not work for an AsynBean that is created using a version of the product that includes the Feature Pack for Web Services. If this mechanism is used to check the expiration of a token for an AsynBean that is created using a version of the product that includes the Feature Pack for Web Services, a TokenExpirationException occurs.
A different mechanism is provided with the Feature Pack for Web Services that successfully checks the token expiration for both types of AsyncBeans. However you must set this property to true to enable the product uses this other mechanism to check the token expiration for an AsyncBean. Setting this property to true disables the mechanism typically used to check the expiration of a token for an AsyncBean that is created using a version of the product that does not include the Feature Pack for Web Services.
Default | false |
This property determines whether to send LtpaToken2 and LtpaToken cookies in the response to a Web request (interoperable).
Default | true |
Specifies the method names on the UserRegistry interface, such as getRealm, getUsers, and isValidUser, that you do not want protected from remote access. If you specify multiple method names, separate the names with either a space, a comma, a semi-colon, and a separator bar. See your implementation of the UserRegistry interface file for a complete list of valid method names.
If you specify an * as the value for this property, all methods are unprotected from remote access.
If a value is not specified for this property, all methods are protected from remote access.
If an attempt is made to remotely access a protected UserRegistry interface method, the remote process receives a CORBA NO_PERMISSION exception with minor code 49421098.
There is no default value for this property.
This property determines the behavior of a single sign-on LtpaToken2 login.
If the token contains a custom cache key and the custom Subject cannot be found, then the token is used to log in directly as the custom information needs to be regathered if this property value is set to true. A challenge also occurs so that the user is required to login again. When this property value is set to false and the custom Subject is not found, the LtpaToken2 is used to login and gather all of the registry attributes. However, the token might not obtain any of the special attributes that downstream applications might expect.
Default | true |
This property is the JAAS login configuration that is used for Web requests that are received inbound.
By knowing the login configuration, you can plug in a custom login module that can handle specific cases for Web logins.
Default | system.WEB_INBOUND |
This property determines whether a received LtpaToken2 cookie should search for the propagated attributes locally before searching the original login server that is specified in the token. After the propagated attributes are received, the Subject is regenerated and the custom attributes are preserved.
Default | true |
This property is used to enable a server to use the user identity for the z/OS started task as the server identity when calling transactional methods.
This property is used to enable a server to use the user identity for the z/OS started task as the server identity when calling transactional methods, such as commit(), and prepare(), that require the server identity. This behavior occurs regardless of the server identity setting for that server.
As an example, a server can be configured to use the automatically generated server identity, which is not the actual identity stored in a user repository. Furthermore, this server might need to communicate with CICS 3.2, and CICS 3.2 requires the use of System Authorization Facility (SAF) identities. If com.ibm.ws.security.zOS.useSAFidForTransaction is set to true, then the server uses a SAF identity to communicate with CICS instead of using the automatically generated identity.
Default | false |
This property specifies the Lightweight Third Party Authentication (LTPA) token factories that can be used to validate the LTPA tokens.
Validation occurs in the order in which the token factories are specified because LTPA tokens do not have object identifiers (OIDs) that specify the token type. The Application Server validates the tokens using each token factory until validation is successful. The order that is specified for this property is the most likely order of the received tokens. Specify multiple token factories by separating them with a pipe (|) without spaces before or following the pipe.
Default | com.ibm.ws.security.ltpa.LTPATokenFactory | com.ibm.ws.security.ltpa.LTPAToken2Factory | com.ibm.ws.security.ltpa.AuthzPropTokenFactory |
This property specifies the implementation that is used for an authentication token in the attribute propagation framework. The property provides an old LTPA token implementation for use as the authentication token.
Default | com.ibm.ws.security.ltpa.LTPATokenFactory |
This property specifies the implementation that is used for an authorization token. This token factory encodes the authorization information.
Default | com.ibm.ws.security.ltpa.AuthzPropTokenFactory |
This property specifies the implementation that is used for a propagation token. This token factory encodes the propagation token information.
The propagation token is on the thread of execution and is not associated with any specific user Subjects. The token follows the invocation downstream wherever the process leads.
Default | com.ibm.ws.security.ltpa.AuthzPropTokenFactory |
This property specifies the implementation that is used for a Single Sign-on (SSO) token. This implementation is the cookie that is set when propagation is enabled regardless of the state of the com.ibm.ws.security.ssoInteropModeEnabled property.
By default, this implementation is the LtpaToken2 cookie.
Default | com.ibm.ws.security.ltpa.LTPAToken2Factory |
Use this property to specify how you want the system to handle authentication for a request after the Kerberos token for the request expires.
When this property is set to true, if a Kerberos token cannot be refreshed after it expires, authentication for the request fails.
When this property is set to false, authentication for the request does not fail even if the token has expired.
The default value for this property is false.
Use this custom property to permit custom HTTP methods
The security constraints for a Web module must specify standard HTTP methods and the custom property cannot be one of the HTTP methods in the security constraints.
This property is no longer used. Instead, use WEB_INBOUND login configuration.
Default | true |
The NullDynamicPolicy.getPermissions method provides an option to delegate a default policy class to construct a Permissions object when the security.useDefaultPolicyWhenJ2SDisabled custom property is set to true. When this property is set to false, an empty Permissions object is returned.
Default | false |