pz.png

Nginx是一个高性能的HTTP和反向代理服务器,通过对其进行适当的配置,可以有效地为站点修复和防范常见的安全漏洞。以下是一些重要的Nginx配置指令,它们可以帮助你增强站点的安全性。

1. 设置Referrer-Policy响应头

Referrer-Policy是一个HTTP响应头,用于控制浏览器发送的Referer头部的内容。这有助于保护用户隐私和防止信息泄露。

add_header 'Referrer-Policy' 'origin';

2. 启用X-Content-Type-Options

通过设置X-Content-Type-Options响应头为"nosniff",可以防止MIME类型嗅探攻击,即浏览器不会尝试猜测资源的MIME类型。

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

3. 启用X-XSS-Protection

通过添加X-XSS-Protection响应头,并设置其值为"1; mode=block",可以启用浏览器的反射型跨站脚本(XSS)防护功能。

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

4. 设置X-Frame-Options

X-Frame-Options响应头用于防止点击劫持攻击,确保页面不会被嵌入到恶意框架中。

add_header X-Frame-Options SAMEORIGIN;

5. 设置X-Download-Options

X-Download-Options响应头可以防止浏览器自动打开下载的文件,从而防止恶意文件的执行。

add_header X-Download-Options "noopen" always;

6. 启用Strict-Transport-Security (HSTS)

HSTS强制浏览器使用HTTPS与服务器进行通信,从而防止中间人攻击。

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

7. 设置Permissions-Policy

Permissions-Policy响应头可以控制浏览器功能的使用权限,如地理位置、摄像头等,提高用户隐私保护。

add_header Permissions-Policy "interest-cohort=()";

8. 设置Cross-Origin-Resource-Policy (CORP)

CORP用于限制资源的跨源使用,确保资源只能被同一来源的页面使用。

add_header Cross-Origin-Resource-Policy same-site;

9. 设置Cross-Origin-Opener-Policy (COOP)

COOP用于限制跨源弹窗和标签页的行为,增强跨域安全。

add_header Cross-Origin-Opener-Policy same-site;


10. 设置Cross-Origin-Embedder-Policy (COEP)

COEP控制跨源资源的嵌入策略,提高站点安全性。

add_header Cross-Origin-Embedder-Policy require-corp;

11. 设置Clear-Site-Data

Clear-Site-Data响应头可以请求浏览器清除站点数据,包括cookies、缓存等,有助于用户隐私保护。

add_header Clear-Site-Data "storage";

为了方便复制,以上配置总结如下,可以在nginx的配置文件中加入,加入后一定要记得点击重载配置。

通过Nginx配置为站点修复常见漏洞
设置如下
# 设置Referrer-Policy响应头,控制浏览器发送的Referer头部的内容。
add_header 'Referrer-Policy' 'origin'; # 设置X-Content-Type-Options响应头,防止MIME类型嗅探攻击
add_header X-Content-Type-Options "nosniff";# 添加X-XSS-Protection响应头,以启用浏览器的反射型跨站脚本(XSS)防护。
add_header X-XSS-Protection "1; mode=block";# 设置X-Frame-Options响应头,防止点击劫持攻击,仅允许来自同一源(SAMEORIGIN)的框架加载页面。
add_header X-Frame-Options SAMEORIGIN;# 设置X-Download-Options响应头,阻止浏览器自动打开下载文件。
add_header X-Download-Options "noopen" always;# 设置Strict-Transport-Security响应头,强制浏览器使用HTTPS进行连接,并包括子域名和预加载功能。
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";# 设置Permissions-Policy响应头,用于控制浏览器功能的使用权限。
add_header Permissions-Policy "interest-cohort=()";# 设置Cross-Origin-Resource-Policy响应头,限制资源的跨源使用。
add_header Cross-Origin-Resource-Policy same-site;# 设置Cross-Origin-Opener-Policy响应头,限制跨源弹窗和标签页的行为。
add_header Cross-Origin-Opener-Policy same-site;# 设置Cross-Origin-Embedder-Policy响应头,控制跨源资源的嵌入策略。
add_header Cross-Origin-Embedder-Policy require-corp;# 设置Clear-Site-Data响应头,请求浏览器清除站点数据。
add_header Clear-Site-Data "storage";

除了上述的配置之外,还应该注意以下几点来进一步提高网站的安全性:

1、启用SSL/TLS,并确保使用强加密套件。

2、升级Nginx至最新版本,以利用最新的安全修复和改进。

3、配置正确的文件权限,防止未经授权的访问和修改。

4、限制不必要的HTTP方法,如PUT、DELETE等。

5、使用强密码策略,并定期更换密码。

6、监控和记录访问日志,以便及时发现和应对潜在的安全威胁。

综上所述,通过合理配置Nginx,可以大大提高站点的安全性,并有效防范常见的安全漏洞。