HTTP安全报告
作者:
最后更新于 | 最初发布于 | 分类: 服务器和主机
HTTP Security Report,就是HTTP安全报告是用来测试网站在网络安全方面的工具。
今天检测了一下本站。结果得分为48。
查看一下细节:
服务器时钟:正确
HSTS设置:正确
Runtime Information:正确
Iframe Sandbox:正确
HTTP Strict Transport Security:正确
Mixed HTTPS and HTTP: 正确
SSL/TLS设置:正确
有问题的是下面几项:
- Content Security Policy
- Content Type Options
- Public Key Pins
- Frame Options
- Subresource Integrity
- Cache Control
- Server Banner
接下来就对这些有问题的项目进行研究和观察,修改设置,从最简单的入手。
Server Banner:主要是服务器版本号在响应头中出现,那么就隐藏它。
本站使用的是Nginx,隐藏版本号只需要修改 /etc/nginx/nginx.conf 文件,添加下面一行到 http 块中。
server_tokens off;
然后重新载入 nginx 服务器。
Content Type Options: 是所谓类型嗅探,当一个文件的内容类型不是标准的时候,某些浏览器会启用MIME-sniffing来猜测资源类型,并解析执行,这时会有安全隐患。所以我就在 Nginx 的Server块中增加了下面这段指令,然后重启。
add_header X-Content-Type-Options nosniff;
现在重新测试,得分已经到了61分了。
接着修复安全问题。
Frame Options:这个是用来控制网站是否被允许放在iframe或者frame,或object标签中。禁止framing,可以阻止clickjacking攻击。
我这里是在 Nginx 的 配置文件中, server块里加入下面这行,只允许本站嵌入。
add_header X-Frame-Options sameorigin;
其实这里还有两种配置, sameorigin 意思就是允许本站嵌入; allow-from uri 意思是可以允许指定的域名嵌入。
得分升到69了。
Cache Control:这时常用的缓存控制机制,允许的参数有 public,private,nocache或者no-store。这里我选择的是 public。在配置文件的 server 块中,加入下面这行,容纳后重启nginx。
add_header Cache-Control "public";
此时再测安全性,得到的分数是84了。
Web Framework Information: 就是指的类似 x-Powered-By,x-Runtime,之类的显示网站所用技术的文件头。本站所透露的就是
暴露了版本号会让黑客知道你用的是否是已经落后的软件,而落后过时的软件可能会有没有修补的漏洞。
所以,基于本站的情况,在php.ini 配置文件中,修改下面这个相关参数后重启php5-fpm。
expose_php = off
现在所测得的分数已经到了90分了。
另外还有三项没有配置。这里也介绍一下。
Content Security Policy,是用于定义页面可以加载哪些资源,以减少XSS的发生。它可以定义不同类型的资源所允许的加载策略,包括script,style,img,font等等。
Public Key Pins:防止证书被中间人劫持的机制。
Subresource Integrity:在使用CDN的时候,用来验证所下载的资源没有被中途篡改的机制。
上面三项都是比较复杂,而且需要仔细规划后才能使用的,而错误的配置可能会带来很多的麻烦,所以,就先不动它们了。
相关的文章
- 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(6)
- 安装 Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(1)
- 安装 Ubuntu 22.04 (LTS), Webmin, Nginx, MariaDB, PHP8.1-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(2)
- 安装 Ubuntu 22.04 (LTS), Webmin, Nginx, MariaDB, PHP8.1-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(1)
- 聊聊 Google Account 的高级保护计划
- 收到两个Yubikeys
- Yubikey 简单情况
- 安装 Ubuntu 20.04, Webmin, Nginx, MariaDB, PHP7.4-FPM,Perl-Fastcgi 到 DigitalOcean 的 VPS(2)
评论