使用X-FRAME-OPTIONS保护Nginx免受点击劫持
在HTTP头中添加X-Frame-Options以保护NGINX免受点击劫持攻击
Clickjacking是一个众所周知的Web应用程序漏洞。
在我上一篇文章中,我谈到了如何保护Apache Web Server, IBM HTTP Server & .htaccess,有些人问到了Nginx。
所以这里是…
在HTTP响应头中,X-Frame-Options可以用来指示浏览器是否应该允许在frame或iframe中打开页面。
这将阻止将网站内容嵌入到其他网站中。
你有没有试过将Google.com作为一个frame嵌入到你的网站上?你不能,因为它是受保护的,而你也可以保护它。
X-Frame-Options有三个设置:
- SAMEORIGIN:该设置将允许页面在与页面本身相同的源上显示在frame中。
- DENY:该设置将防止页面在frame或iframe中显示。
- ALLOW-FROM URI:该设置将只允许在指定的源上显示页面。
注意:你也可以尝试使用CSP frame-ancestors来控制嵌入的内容。
实施
- 进入Nginx安装位置下的conf文件夹
- 在修改之前进行备份
- 在
nginx.conf
的server部分中添加以下参数
add_header X-Frame-Options "SAMEORIGIN";
- 重启Nginx服务器
验证
你可以使用浏览器中的Web开发者工具来查看响应头。它应该看起来像这样。
另外,你也可以使用HTTP Header online tool来验证这个。
希望这对你有所帮助。欲了解更多关于安全性的内容,请查看我的Nginx Hardening & Security guide。
这只是一个网站的数百个安全修复之一。如果你正在寻找一个完整的安全解决方案,你可以考虑云安全提供商如SUCURI或Cloudflare。