关于sap:SAP-电商云-Spartacus-UI-里的-Content-Security-Policy

3次阅读

共计 2414 个字符,预计需要花费 7 分钟才能阅读完成。

内容安全策略 (Content Security Policy,简称 CSP) 是一种工具,容许开发人员指定在通过 Web 浏览器拜访 Storefront 页面时容许加载哪些地位和哪些类型的资源。

能够应用内容安全策略来锁定店面应用程序,并升高内容注入破绽的危险,例如跨站点脚本 (XSS)、代码注入和点击劫持攻打(clickjacking),以及升高您的店面应用程序执行的权限。

Target Policy

指令能够应用 HTTP 响应标头(服务器能够发送多个具备给定资源示意的 CSP HTTP 标头字段,并且服务器能够发送具备雷同资源或不同资源的不同示意的不同 CSP 标头字段值)或 HTML Meta 标记,上面的 HTTP 标头由标准定义:

  • Content-Security-Policy:由 W3C 标准定义为规范标头,由 Chrome 25 及更高版本、Firefox 23 及更高版本、Opera 19 及更高版本应用。
  • X-Content-Security-Policy:Firefox 直到版本 23 和 Internet Explorer 版本 10(局部实现内容安全策略)应用。
  • X-WebKit-CSP : Chrome 应用直到版本 25

default-src:为所有资源类型定义加载策略,以防未定义资源类型专用指令(回退),
script-src:定义受爱护资源能够执行的脚本,

csp 是一个 W3C 标准,提供了批示客户端浏览器从哪个地位和 / 或容许加载哪种类型的资源的可能性。为了定义加载行为,CSP 标准应用“指令”,其中指令定义指标资源类型的加载行为。

在 Content-Security-Policy 平安标头中,能够指定定义指标资源类型的加载行为的指令。以下是举荐的指令和相应的指标:

default-src ‘self’; style-src ‘self’ ‘unsafe-inline’; img-src ‘self’

反对的指令有:

  • default-src:为所有资源类型定义加载策略,以防未定义资源类型专用指令(回退),
  • script-src:定义受爱护资源能够执行的脚本。

在 Backoffice 里的设置

除了 SAP Commerce Platform 提供的平安机制外,Backoffice Framework 还提供额定的平安性能来确保 Storefront 利用的安全性。

Backoffice Framework 中的平安标头能够精确地告诉您的浏览器在解决您网站的内容和数据时的行为形式。

咱们确保在 Backoffice Framework 应用程序上下文中利用平安标头,例如,与 /backoffice/ 门路一起利用。来自 /backoffice/ 以外的资源的响应不肯定具备这些标头。在与 Backoffice Framework 的网络通信中,每个响应都有以下标头:

  • Header Content-Security-Policy (CSP): default-src ‘self’; script-src ‘self” ‘unsafe-inline’ ‘unsafe-eval’; connect-src ‘self”; img-src ‘self’ data:; style-src ‘self’ ‘unsafe-inline’; font-src ‘self”, 设置要在网站上加载的内容的批准起源,反对例如图像、HTML 框架和音频文件。能够预防 XSS, code injection 和 clickjacking
  • Header X-XSS-Protection:1; mode=block,当检测到反射 XSS 时阻止页面加载。旧类型的浏览器最须要它。值 1 启用 XSS 过滤。应用其余值时,页面不会被清理。增加值块时,不会出现页面。当设置值报告 reporting URI 时,页面会被清理并发送违规报告。能够预防 Compromising cookies, tokens, and XSS such as JavaScript Keylogger
  • Header Strict-Transport-Security (HSTS):max-age=31536000; includeSubDomains,主动将 http 链接转为 https,当连贯的安全性无奈保障时,例如 TLS 证书不可信时,不容许用户拜访 Web 应用程序并返回谬误。能够预防 Protocol downgrade attacks, cookies hijacking.
  • Header X-Frame-Options: SAMEORIGIN. DENY 设置不容许在任何中央显示页面,即便在同一页面上也不容许。SAMEORIGIN 容许将页面嵌入到提供该页面的站点的框架中。能够预防 Clikjacking, and embedding a page into other pages.

能够通过更改 project.properties 文件来笼罩默认值,从而缩小限度:

#security headers
backoffice.response.header.X-Frame-Options=SAMEORIGIN
backoffice.response.header.Strict-Transport-Security=max-age=31536000; includeSubDomains
backoffice.response.header.X-XSS-Protection=1; mode=block
backoffice.response.header.X-Content-Type-Options=nosniff
backoffice.response.header.Content-Security-Policy=default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self' data: ; style-src 'self' 'unsafe-inline'; font-src 'self'
正文完
 0