nginx配置相关策略Content-Security-Policy、Referrer-policy

最近在安全测试中发现了一下网站的问题:
在这里插入图片描述主要是配置一些参数:这些可以前端配置,也可以在nginx中进行配置
在nginx的server中添加请求头信息:

add_header Content-Security-Policy “upgrade-insecure-requests;connect-src *”;
add_header X-XSS-Protection “1; mode=block” always;
add_header X-Content-Type-Options “nosniff” always;
add_header Strict-Transport-Security “max-age=63072000; includeSubdomains; preload” always;
add_header Cache-Control no-store;
add_header X-Frame-Options SAMEORIGIN;
add_header Permissions-Policy “geolocation=(),midi=(),microphone=(),camera=(),fullscreen=(self)”;
add_header Referrer-Policy “no-referrer-when-downgrade”;

Referrer-policy

Referrer Policy是W3C官方提出的一个候选策略,主要用来规范Referrer,简单来说就是规定什么时候发送 Referer 字段,以及发送哪些信息。

最初是只有5种策略的,现在规范增加到9种:

no-referrer
整个 Referer 首部会被移除,Referer 不随着请求一起发送。

no-referrer-when-downgrade (默认值)
在没有指定任何策略的情况下用户代理的默认行为。在同等安全级别(HTTPS -> HTTPS)的情况下,Referer 会被发送,在协议降级(HTTPS -> HTTP)的情况下 Referer 不会被发送。

origin
Referrer 发送的信息只包括协议+域名+端口,不包括其它信息。例如 https://example.com/page.html 会将 https://example.com/ 作为引用地址。

origin-when-cross-origin
对于同源的请求,会发送完整的URL作为引用地址,但是跨域时候只发送协议+域名+端口。

same-origin
同源请求发送,否则不发送。

strict-origin
在同等安全级别(HTTPS -> HTTPS)的情况下,发送Referrer(协议+域名+端口),但是在协议降级(HTTPS -> HTTP)的情况下不会发送。

strict-origin-when-cross-origin
对于同源的请求,会发送完整的URL作为引用地址;对于跨域请求,在同等安全级别(HTTPS -> HTTPS)的情况下,发送Referrer(协议+域名+端口);在协议降级(HTTPS -> HTTP)的情况下不发送此首部。

unsafe-url
无论协议是否降级,也不管是同源请求还是跨域请求,都发送完整的 URL(移除参数信息之后)作为引用地址,所以这种是一种不安全的协议。

这项设置会将受 TLS 安全协议保护的资源的源和路径信息泄露给非安全的源服务器。进行此项设置的时候要慎重考虑。——
Referrer-Policy,MDN文档

空字符串
相当于没有设置,在没有此类更高级别策略的情况下,默认使用 no-referrer-when-downgrade

Content Security Policy (CSP)

简单来说:CSP 通过告诉浏览器一系列规则,严格规定页面中哪些资源允许有哪些来源, 不在指定范围内的统统拒绝。

其实施有两种途径:

  1. 服务器添加 Content-Security-Policy 响应头来指定规则
  2. HTML 中添加 标签来指定 Content-Security-Policy 规则

配置相关参数,请找度娘

add_header Content-Security-Policy "upgrade-insecure-requests;" 是一个用于设置网站的内容安全策略的指令。该指令的作用是告诉浏览器在加载页面时将不安全的HTTP请求升级为安全的HTTPS请求。 这样做的目的是为了提高网站的安全性,防止恶意攻击者通过篡改非加密的HTTP连接来获取用户的敏感信息或者进行其他恶意行为。当浏览器收到这个指令后,在加载页面时会自动将所有的HTTP请求转为HTTPS请求,从而保护用户的数据安全。 同时,可以通过在服务器的响应头中添加 Content-Security-Policy 来指定其他的安全策略规则,例如指定允许的资源加载源和限制的操作权限,以增强网站的安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [nginx add_header Content-Security-Policy “upgrade-insecure-requests;connect-src *“;](https://blog.youkuaiyun.com/qq_32590631/article/details/114050969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [nginx配置相关策略Content-Security-PolicyReferrer-policy](https://blog.youkuaiyun.com/m0_46803792/article/details/129031051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值