Nginx配置Http响应头安全战略_nginx content-security-policy

打印 上一主题 下一主题

主题 653|帖子 653|积分 1961


  • 防止跨站脚本攻击(XSS):通过设置CSP(Content-Security-Policy),可以限制浏览器只加载和执行来自特定泉源的脚本,从而防止恶意脚本注入和执行。
  • 防止点击劫持攻击:通过设置X-Frame-Options响应头,可以防止网页被嵌入到其他网站的iframe中,避免用户在不知情的环境下触发恶意代码。
  • 提高网站安全性:通过设置STS(Strict-Transport-Security)响应头,欺凌浏览器使用HTTPS协议与服务器通信,从而防止信息在传输过程中被窃取或窜改。
  • 防止XSS攻击:通过设置X-XSS-Protection响应头,可以启用特定的XSS过滤器,以防止XSS攻击。
  • 保护用户隐私:通过设置Referrer-Policy响应头,可以控制浏览器在请求时发送的referrer信息,以保护用户的隐私。
  • 限制API和功能使用:通过设置Permissions-Policy响应头,可以限制网站可以使用的API和功能,从而低落潜在的安全风险。
  • 防止信息泄漏:将Server和X-Powered-By响应头设置为“NONE”或删除它们,可以防止袒露服务器类型和软件版本信息,从而低落潜在的安全风险。
二、Nginx配置概览

server {
server_name xxxxx.com;
listen 443 ssl;
add_header Content-Security-Policy "default-src ‘self’ data: *.xxx.com ‘unsafe-inline’ ‘unsafe-eval’ mediastream: ";
add_header X-Content-Type-Options “nosniff”;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Frame-Options SAMEORIGIN;
add_header Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”;
add_header Referrer-Policy “origin”;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;

}
三、内容安全战略Content-Security-Policy(CSP)

应对漏洞:XSS攻击
   Content-Security-Policy (CSP) 是一种网页安全战略,用于减少和防止跨站点脚本 (XSS)、点击劫持等攻击。CSP通过限制网页可以加载或执行的资源的泉源来保护网站免受恶意代码的攻击。它可以通过HTTP头或网页中的标签来实现。
CSP通过指定可信托的资源泉源,如脚本、样式表、字体、图像和其他嵌入的内容,来限制网页中可以加载的内容。假如网页中引用了来自未被信托的源的资源,如恶意脚本或非法广告,浏览器将拒绝加载这些资源,从而提供额外的安全性。
CSP还提供了其他功能,如报告机制,允许网站管理员获取有关被阻止或粉碎的内容的报告,并通过这些报告来改进网站的安全性。
  在 Nginx 中配置 Content-Security-Policy,可以通过在配置文件中添加 add_header 指令来实现。
server {
listen 80;
server_name example.com;
location / {
add_header Content-Security-Policy “default-src ‘self’; script-src ‘self’ https://ajax.googleapis.com; style-src ‘self’ https://fonts.googleapis.com;”;
其他配置…

}
}
上述示例中,为全部请求设置了一个简单的 CSP 战略,允许从同一域名加载资源,并允许从 Google 的 AJAX API 和 Google 字体加载脚本和样式
3.1CSP指令集及其阐明

    指令   阐明         default-src   设置网站默认的安全战略,适用于未指定安全战略的资源。       connect-src   控制页面可以建立连接的泉源,防止恶意站点通过连接发起攻击。       font-src   控制字体资源的加载泉源,防止加载恶意字体文件。       form-action   控制表单提交的目标URL,防止跨站请求伪造(CSRF)攻击。       frame-ancestors   控制嵌套的frame或iframe的泉源,防止点击劫持攻击。       frame-src   控制frame或iframe中加载的页面的泉源,防止嵌套的恶意页面的攻击。       image-src   控制图片资源的加载泉源,防止加载恶意图片文件。       media-src   控制媒体资源(如音频、视频)的加载泉源,防止加载恶意媒体文件。       object-src   控制object标签和embed标签中加载的内容的泉源,防止加载恶意内容。       script-src   控制JavaScript脚本的加载泉源,防止执行恶意脚本。       style-src   控制CSS样式表的加载泉源,防止加载恶意样式表。       report-uri   指定报告非常信息的URI,方便管理员实时发现和处理安全题目。       upgrade-insecure-requests   要求浏览器将全部HTTP请求升级为HTTPS请求,提高安全性。       sandbox   对页面中的某些元素进行限制,防止恶意代码对其进行操纵。     注:以下是一些常见参数及其阐明和示例。可以根据具体需求进行配置。
  3.2default-src指令的参数、阐明和示例

    参数   阐明   示例         self   允许加载同源的资源   default-src 'self';       *   允许加载恣意泉源的资源   default-src '*';       none   不允许加载任何资源,是最严格的设置   default-src 'none';       unsafe-inline   允许内联脚本和样式,但存在安全风险   default-src 'unsafe-inline';       unsafe-eval   允许使用eval()函数执行代码,存在安全风险   default-src 'unsafe-eval';       strict-dynamic   只允许动态生成脚本和样式,不允许内联脚本和样式   default-src 'strict-dynamic';       https:   只允许加载HTTPS资源   default-src 'https:';       data:   允许加载data:协议的资源,如文件上传等   default-src 'data:';   以下是一个示例(允许从同一域名加载资源)ÿ

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表