Sentry提供了通过设置正确的HTTP标头来收集有关内容安全策略(CSP)违规以及Expect-CT和HTTP公钥锁定(HPKP)故障的信息的能力,这会导致违规/失败发送到Sentry report-uri中指定的端点。
集成过程包括使用在项目设置>安全标题中找到的项目密钥的安全标头端点配置相应的标头。
一、CSP
内容安全策略(CSP)是一种安全标准,有助于防止在可信网页上下文中执行恶意内容导致的跨站点脚本(XSS),点击劫持和其他代码注入攻击。它由浏览器供应商强制执行,Sentry支持使用标准报告挂钩捕获CSP违规。
要在Sentry中配置CSP报告,您需要从服务器发送描述策略的标头,并指定经过身份验证的Sentry端点:
Content-Security-Policy: ...; report-uri https://sentry.io/api/<project-id>/security/?sentry_key=<key>
或者,您可以将CSP报告设置为仅发送报告而不是实际执行策略:
Content-Security-Policy-Report-Only: ...; report-uri https://sentry.io/api/<project-id>/security/?sentry_key=<key>
二、Expect-CT
Expect-CT是一种安全标准,可帮助跟踪和识别有效证书,从而识别恶意颁发的证书。
要在Sentry中配置报告,您需要从服务器配置Expect-CT标头:
Expect-CT: ..., report-uri="https://sentry.io/api/<project-id>/security/?sentry_key=<key>"
三、HPKP
HPKP是一种安全功能,它告诉Web客户端将特定加密公钥与某个Web服务器相关联,以降低使用伪造证书进行MITM攻击的风险。它由浏览器供应商强制执行,Sentry支持使用标准报告挂钩捕获违规。
要在Sentry中配置HPKP报告,您需要从服务器发送描述策略的标头,并指定经过身份验证的Sentry端点:
Public-Key-Pins: ...; report-uri="https://sentry.io/api/<project-id>/security/?sentry_key=<key>"
四、附加配置
除了sentry_key参数之外,您还可以在报告URI的查询字符串中传递以下内容:
sentry_environment: The environment name (e.g. production).
sentry_release: The version of the application.