- Enabling timeout
After an extended period, when the timeout feature for your store is enabled, your storefront session is logged off. Session timeout settings can be changed for the enhanced security of your site.
- Enabling password invalidation
Password invalidation, when enabled, requires WebSphere Commerce users to change their password if the user's password is expired. In this case, the user is redirected to a page where they are required to change their password. Users are not able to access any secure pages on the site until they change their password.
- Encrypting data
This section contains information about the important steps involved when ensuring the security of your site. There are different encryption options available including information on Key Locator Framework, where you encrypt your data, how to change your session encryption keys and how to develop custom code using EncryptionFactory.
- Enforcing TLS Version 1.2
Require the use of the latest version of the TLS security protocol for communication on your site. This process ensures that any weakness in previous versions, or older, less secure protocols, cannot be used by malicious parties to obtain sensitive data.
- Enabling the X-Frame-Options header
You can configure the X-Frame-Options header settings to help you protect your site against Clickjacking. Clickjacking is a technique that tricks a web user into clicking a malicious site, thinking that it is your site. This malicious site can then reveal confidential information or take control of the user's computer.
- Enabling cross-site scripting protection
When enabled, cross-site scripting protection rejects any user requests that contain attributes (parameters) or strings that are designated as not allowable. You can also exclude commands from cross-site scripting protection by allowing the values of specified attributes for that particular command to contain prohibited strings. Cross-site scripting protection is enabled by default.
- Disabling cross-site scripting protection for the Management Center
When enabled, cross-site scripting protection rejects any user requests that contain attributes (parameters) or strings that are designated as not allowable. You can also exclude commands from cross-site scripting protection by allowing the values of specified attributes for that particular command to contain prohibited strings. Cross-site scripting protection is enabled by default, but you can disable it to match your security needs.
- Enabling WhiteList data validation
When enabled, WhiteList data validation ensures that when a URL command or view is run, the parameter values conform to a specified regular expression. For example, you can configure it so that the storeId must be an integer. When a WhiteList violation is detected, the request is changed to the ProhibCharEncodingErrorView view. WhiteList data validation is disabled by default.
- Enabling cross-site request forgery protection
Cross-site request forgery (CSRF) is a type of malicious attack that tricks a user into sending unintended requests. For example, an attacker can trick an authenticated user into clicking a link to update their personal information. WebSphere Commerce accepts this request as valid, as proper session cookies exist as part of the request.
- Enabling cross-site request forgery protection in REST
Enabling cross-site request forgery (CSRF) protection is recommended when using REST APIs with cookies for authentication. If your REST API uses the WCToken or WCTrustedToken tokens for authentication, then additional CSRF protection is not required.
- Enabling URL redirect filtering
When you enable URL redirect filtering, WebSphere Commerce rejects any requests that try to redirect to an unauthorized site. This feature is used to prevent phishing attacks where a link in a WebSphere Commerce site sends the shopper to another site.
- Enabling access logging
When enabled, the access logging feature logs either all incoming requests to the WebSphere Commerce Server or only the requests resulting in access violations. Examples of access violations are authentication failure or insufficient authority to execute a command. When enabled, access logging allows a WebSphere Commerce administrator to quickly identify security threats to the WebSphere Commerce system.
- Enabling SSL for outbound web services
You can enable SSL for web services that are created by using the WebSphere Commerce web services or Rational Application Developer.
- Encrypting data in custom code using EncryptionFactory
EncryptionFactory is a factory class that initializes all of the encryption provider classes that are used at runtime for encrypting and decrypting data. All encryption providers must implement the com.ibm.commerce.foundation.common.util.encryption.EncryptionProvider interface.
- Security consideration for the Internet Information Services (IIS) web server
If you are using the IIS web server with WebSphere Commerce, you must be aware of the following security consideration and take the recommended action to minimize any security exposure of your WebSphere Commerce data.
- Web server security considerations
Be aware of the following security considerations for your web server and take the recommended actions to minimize any security exposure.
- Setting up account related policies
For enhanced security of your site, ensure that you are aware and up to date on all account related policies.
- Enabling password-protected commands
When the password-protected commands feature is enabled, WebSphere Commerce requires registered users who are logged onto WebSphere Commerce to enter their password before continuing a request that runs designated WebSphere Commerce commands. When you configure password-protected commands, be aware of the consequences of specifying a command that can be run by generic and guest users. Configuring such commands as password-protected will prevent generic and guest customers from running them.
- Configuring storefront Reset Password feature to use validation codes
Some stores are configured to generate an arbitrary temporary password for a registered user when the user requests to reset a forgotten password. For added security, you can configure the Reset Password URL to send a randomly generated validation code instead of a temporary password.
- Prevent privileged users from logging in externally
Starting in Mod Pack 1 (8.0.1.0), the wc-server.xml file is updated to include a customizable web server header, which can be used to control whether privileged users can log in to the store from external networks. This framework reduces the possibility of an external attack if an account with administrative level access, such as a customer service representative or site administrator, is compromised.