Nginx 安全的配置项

未知
2024-03-21 10:53:35
0

Nginx 安全的配置项

1、 漏扫出现的问题

1.1 检测到目标X-Content-Type-Options响应头缺失

修复方法:

nginx 增加响应头配置:

add_header X-Content-Type-Options "nosniff"  always; 

详细解释:

X-Content-Type-Options头信息是一种安全策略,用于防止浏览器在解析响应内容类型时执行MIME类型嗅探。MIME类型嗅探是一种浏览器行为,它会在某些情况下忽略服务器返回的Content-Type头信息,而是根据文件内容推断出MIME类型。这种行为可能会导致安全问题,例如在解析HTML页面时执行脚本或渲染嵌入式内容。

 将X-Content-Type-Options的值设置为"nosniff"可以禁用浏览器的MIME类型嗅探功能,强制浏览器遵循服务器返回的Content-Type头信息。这可以提高Web应用程序的安全性,防止恶意站点通过MIME类型嗅探获取用户的敏感信息。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.2 检测到目标X-XSS-Protection响应头缺失

修复方法:

nginx 增加响应头配置:

add_header X-XSS-Protection "1; mode=block"  always;

详细解释:

X-XSS-Protection头信息是一种安全策略,用于防止跨站脚本攻击(XSS)的发生。当浏览器收到包含X-XSS-Protection头信息的HTTP响应时,如果检测到潜在的XSS攻击,浏览器会自动阻止页面的渲染,并显示一个警告页面或重定向到其他页面,从而保护用户的安全。

 将X-XSS-Protection的值设置为"1; mode=block"可以启用浏览器的内置XSS防护机制,并阻止页面渲染,从而防止潜在的XSS攻击。"1"表示启用XSS防护机制,"mode=block"表示如果检测到潜在的XSS攻击,浏览器会阻止页面渲染。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.3  检测到目标Content-Security-Policy响应头缺失

修复方法:

nginx 增加响应头配置:

add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'"     always; 

详细解释:

Content-Security-Policy头信息是一种安全策略,用于限制页面中可以加载的资源,从而有效地减少恶意攻击的风险。CSP策略指定了允许加载的资源的源,包括脚本、样式、图片、字体、媒体和其他资源。当浏览器收到包含Content-Security-Policy头信息的HTTP响应时,会根据CSP策略限制页面加载的资源。

 将Content-Security-Policy的值设置为"script-src 'self' 'unsafe-inline' 'unsafe-eval'"表示允许页面加载与当前页面同源的脚本,以及内联脚本和eval函数的使用。这可以确保页面加载的脚本都是可信的,并限制了注入恶意脚本的可能性。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.4 检测到目标Referrer-Policy响应头缺失

修复方法:

nginx 增加响应头配置:

add_header Referrer-Policy "origin" always;

详细解释:

 Referrer-Policy头信息是一种安全策略,用于控制浏览器在发送Referer HTTP头信息时包含哪些信息。当Referrer-Policy的值为"origin"时,浏览器会在HTTP请求头信息中包含当前请求的页面来源的完整URL,但不包括具体的路径和查询参数。例如,如果当前请求的页面URL为https://example.com/path/to/page,那么浏览器会在Referer HTTP头信息中包含https://example.com,但不包括路径和查询参数。

 使用Referrer-Policy头信息可以提高Web应用程序的安全性,防止恶意站点通过Referer HTTP头信息获取用户的敏感信息。将Referrer-Policy的值设置为"origin"可以在一定程度上保护用户的隐私,同时又不影响Web应用程序的正常功能。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.5 检测到目标X-Permitted-Cross-Domain-Policies响应头缺失

修复方法:

nginx 增加响应头配置:

add_header X-Permitted-Cross-Domain-Policies  "master-only" always;

详细解释:

X-Permitted-Cross-Domain-Policies头信息是一种安全策略,用于控制其他域名可以如何使用当前域名的资源。当浏览器收到包含X-Permitted-Cross-Domain-Policies头信息的HTTP响应时,会根据该头信息的值来限制其他域名对当前域名资源的访问。

 将X-Permitted-Cross-Domain-Policies的值设置为"master-only"表示只允许当前域名的主站点使用该站点的资源,其他域名不允许使用。这可以有效地限制其他域名对当前域名的资源的访问,从而提高Web应用程序的安全性。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.6 检测到目标X-Download-Options响应头缺失

修复方法:

nginx 增加响应头配置:

add_header X-Download-Options "noopen" always;

详细解释:

X-Download-Options头信息是一种安全策略,用于控制浏览器如何处理文件下载。当浏览器收到包含X-Download-Options头信息的HTTP响应时,如果该头信息的值为"noopen",表示浏览器不应该自动打开文件,而是应该将文件保存到本地。

 将X-Download-Options的值设置为"noopen"可以有效地防止文件被自动打开,从而提高Web应用程序的安全性。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.7 点击劫持:X-Frame-Options未配置

修复方法:

nginx 增加响应头配置:

add_header X-Frame-Options "sameorigin" always;

详细解释:

X-Frame-Options头信息是一种安全策略,用于控制页面是否可以在iframe中嵌入。当浏览器收到包含X-Frame-Options头信息的HTTP响应时,会根据该头信息的值来判断是否允许页面在iframe中嵌入。

 将X-Frame-Options的值设置为"sameorigin"表示只允许页面在与当前页面同源的iframe中嵌入,而不允许在其他域名的iframe中嵌入。这可以有效地防止点击劫持等安全问题。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。

1.8 检测到目标Strict-Transport-Security响应头缺失

修复方法:

nginx 增加响应头配置:

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" always;

详细解释:

STS是一种安全协议,用于保护Web应用程序免受SSL/TLS剥离攻击。当浏览器收到包含STS头信息的HTTPS响应时,会将该网站的所有后续请求都强制使用HTTPS协议,从而提高连接的安全性。

 将Strict-Transport-Security的值设置为"max-age=63072000; includeSubdomains; preload"表示启用STS,并将其最长有效期设置为两年(63072000秒),同时包括所有子域名(includeSubdomains)和预加载(preload)。

添加"always"参数可以确保该头信息始终向客户端发送,无论响应状态码是什么。


2、Nginx安全配置样例

 

http {
    autoindex off;
    server_tokens off;
    client_max_body_size 64m;
    
    # -----------------------------------------
    #  1、此处省略其他 http 节点配置
    #  2、下面的配置也可以写在 server {} 中
    # -----------------------------------------
    
    add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'" always;
    add_header Referrer-Policy "same-origin" always;
    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Download-Options "noopen" always;
    add_header X-Frame-Options "sameorigin" always;
    add_header X-Permitted-Cross-Domain-Policies  "none" always;                                          
    add_header X-Robots-Tag "none" always;
    add_header X-XSS-Protection "1; mode=block" always;
    proxy_hide_header  X-Powered-By;
    fastcgi_hide_header X-Powered-By;
}



以上就是Nginx 安全的配置项的详细内容,更多请关注全栈开发网其它相关文章!
原文链接:https://www.cnblogs.com/hi-eric/p/17623117.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 service@p2hp.com 进行投诉反馈,一经查实,立即处理!
-- -- 0

上一篇:没有了

下一篇:没有了

相关内容

在HTML上添加integrity,验证js和css的hash,防止篡改
在HTML上添加integrity,验证js和css的has...
近期甲方做了什么安全检查防止html、js被串改,要求加上integrity属性这边记录下...
2024-03-21 10:42:10
前端 JS 安全对抗原理与实践
前端 JS 安全对抗原理与实践
前端代码都是公开的,为了提高代码的破解成本、保证 JS 代码里的一些重要逻辑不被居心叵测的...
2024-03-19 10:57:28
MySQL安全最佳实践指南(2024版)
MySQL安全最佳实践指南(2024版)
由于存储着敏感数据,MySQL数据库正沦为网络罪犯的攻击目标。这份全面的安全指南将深入研究...
2024-03-17 11:28:09