Security Checklist

Introduction

Goal

Reach the highest possible security level in your Bloomreach Experience Manager-based solution.

Background

At BloomReach, we take security very seriously. Our products follow the strictest security standards and as such, they have built-in protection against known methods of attack. When implementing a Bloomreach Experience Manager-based solution, any configuration and code specific to the solution should meet the same strict security requirements. This checklist is provided to help you verify that your Bloomreach Experience Manager-based solution reaches the highest possible security level by following best practices for preventing the 10 most common attack methods as identified by the OWASP Top 10.

Please be aware that the list below is an aid and is not to be considered exhaustive. Some of the items in the OWASP Top 10 are covered at Bloomreach Experience Manager platform level (marked [✓]), others are up to the individual implementation and should be verified (marked [ ! ]). As a general practice, BloomReach advises performing a security audit on all implemented solutions prior to going live.

If you discover a potentially harmful security issue in a BloomReach product, please do not create a JIRA issue but follow our Security Issues Procedure.

OWASP Top 10

https://www.owasp.org/index.php/Top_10_2013-Top_10

A1 - Injection

Authoring

  • [✓] Bloomreach Experience Manager has built-in CRLF Injection prevention at application level.
  • [✓] Bloomreach Experience Manager uses a HTML cleaning to filter malicious code from HTML rich text content entered through the CMS.

Delivery

A2 - Broken Authentication and Session Management

Authoring

Delivery

A3 - Cross-Site Scripting (XSS)

Authoring

  • [✓] Bloomreach Experience Manager has built-in protection against Cross-Site Scripting (XSS).

Delivery

  • [ ! ] Verify that your site web application's web.xml has the XSSUrlFilter configured first in the execution chain.

A4 - Insecure Direct Object References

Authoring

Delivery

  • [ ! ] Verify that your delivery tier implementation never exposes JCR identifiers (UUIDs) in URLs or otherwise.

A5 - Security Misconfiguration

Authoring

Delivery

A6 - Sensitive Data Exposure

Authoring

Delivery

A7 - Missing Function Level Access Control

Authoring

Delivery

A8 - Cross-Site Request Forgery (CSRF)

Authoring

  • [✓] Bloomreach Experience Manager prevents CSRF by checking the consistency of the Origin HTTP header for all requests.

Delivery

A9 - Using Components with Known Vulnerabilities

Authoring and Delivery

  • [ ! ] Verify that your Maven project uses the centrally managed and tested Bloomreach Experience Manager Release POM as parent.
  • [ ! ] Verify that your project uses the latest available Bloomreach Experience Manager release.
  • [ ! ] Verify that all Maven dependencies in your project are up-to-date and do not include any components with known vulnerabilities.
  • [ ! ] Verify that all Javascript libraries used in your project are up-to-date and do not include any components with known vulnerabilities.

A10 - Unvalidated Redirects and Forwards

Authoring

  • [ ! ] Verify that only trusted users have sufficient privileges to create, modify or publish URL rewrite rules if the URL Rewriter Plugin is installed.

Delivery

  • [ ! ] Verify that no components in your implementation perform any redirects or forwards to a destination based on unverified user-submitted parameters.
Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?