Apache Sling > Sling CMS > Administration > Securing Sling CMS
Sling CMS by default is pretty open, so you will want to secure the application with the following steps:
Configure the Apache Sling CMS Security Filter - The Apache Sling CMS Security Filter allows for limiting access to non-published content and content directly through the CMS domain. To configure the Apache Sling CMS Security Filter:
Configure the Referrer Filter - this filters which referrers are allowed send modification requests to the CMS instance. To configure the Referrer Filter:
Configure Apache for Security - Add configurations like the ones below to make Apache HTTPD secure:
# Security Protection Header set Content-Security-Policy default-src https: data: 'unsafe-inline'; frame-ancestors https: Header set Feature-Policy * 'none' Header set Referrer-Policy strict-origin Header set Strict-Transport-Security max-age=15552000; includeSubDomains; preload Header set X-Content-Type-Options "nosniff" Header set X-Frame-Options SAMEORIGIN Header set X-XSS-Protection "1; mode=block" # Harden Apache ServerSignature Off ServerTokens Prod TraceEnable off
Note, you should expect to tweak these based on your environment. The website securityheaders.com is a good resource for learning about the best practices in security header configurations.
Ensure sites only allow specific paths - in Configure Site, you need to configure the individual site's Virtual Host in Apache. Ensure that only the required paths are proxied. This should never include paths under /etc, /system, /bin, /home or /var