Predefined security policies and HTTP response headers
The Trusted sources security policy defines the value of the Content-Security-Policy (CSP) HTTP response header. This header controls the resources that the user agent can load. It specifies the server origins and script endpoints for page resources.
The CSP response header is a very powerful tool that is protects you from cross-site attacks, such as Cross-Site Scripting (XSS). It protects from attacks by allowing only website services from whitelisted sources. The header is preconfigured, so that Sitefinity CMS is secure by default. It is the role of the administrator to ensure that whitelisting any additional sources is secure.
The access to the configuration of the header is restricted only to the administrator of the site. When configuring the value for this header, you can use special syntax to define your rules. For more information, see Content-Security-Policy HTTP header syntax reference.
IMPORTANT: Misconfiguration may block some resources from loading.
If the header is turned on with the default, preconfigured value, it blocks almost each external resource from loading and this may prevent pages to use external CSS, fonts, images, scripts, etc. If your site is using external resources, you should allow all trusted domains in the header configuration for each respective resource type.
NOTE: You can use the Content-Security-Policy-Report-Only header that will allow you to fine-tune the header without breaking any existing pages. For more information, see Configure reporting.
For more information about using the Content-Security-Policy header, see:
Public keys for web servers
This security policy controls the Public-Key-Pins HTTP response header. It tells a web client to associate a specific cryptographic public key with a certain web server to decrease the risk of MITM attacks with forged certificates.
This header is disabled by default, because it requires configuration of the public key of the certificate that is used for transport layer encryption.
NOTE: You can use the Public-Key-Pins-Report-Only header that will allow you to fine-tune the header without breaking any existing pages. For more information, see Configure reporting.
For more information, see Mozilla Firefox documentation » HTTP Public Key Pinning (HPKP).
Referrer information
This security policy defines the Referrer-Policy HTTP response header value. It governs which referrer information, sent in the Referrer header, should be included with requests made.
For more information, see Mozilla Firefox documentation » Referrer-Policy.
HTTP strict transport security
This security policy determines the value of the Strict-Transport-Security HTTP response header. It preventssending data over unencrypted channel when a secured one is available. Strict - Transport - Security - HSTS tells browsers that content should only be communicated using HTTPS, instead of HTTP. It converts automatically all HTTP requests to HTTPS, if the site has been opened previously under HTTPS with valid certificate.
For more information, see OWASP documentation » Strict Transport Security.
Prevention of styles and scripts sniffing
This security policy defines the value of the X-Content-Type-Options HTTP response header. This header prevents content sniffing for styles and scripts.
For more information, see Mozilla's article X-Content-Type-Options.
Control of embedding your content
This security policy controls the value of the X-Frame-Options HTTP response header, and indicates whether or not a browser should be allowed to render a page in a <frame>
, <iframe>
, or <object>
. It helps protecting against clickjacking attacks.
For more information, see OWASP documentation » Clickjacking Attacks.
Prevention of cross-site scripting attack
This security policy controls the value of the X-XSS-Protection HTTP response header. It prevents reflected cross-site scripting attacks. Default value blocks the rendering of a page if an attack is detected.
For more information, see Mozilla's article X-XSS-Protection.
Content-Security-Policy-Report-Only and Public-Key-Pins-Report-Only
For more information, see Configure reporting.
Extensibility
In addition to the out-of-the-box preconfigured headers that Sitefinity CMS comes with, you can create your own additional headers.
To do this, navigate to Administration » Settings » Advanced » WebSecurity » HttpSecurityHeaders » ResponseHeaders » Create new.
HTTP protocol and browsers evolve. So, you should stay on top of the latest web security trends and use your Sitefinity CMS Web security module to extend the list of headers and keep their configuration up to date.