按下回车键跳到正文

开启HSTS, 关闭Header中的版本信息

Contents
  1. 什么是HSTS? 为什么需要HSTS?
  2. 在Nginx中配置HSTS
  3. 隐藏Header中暴露的Nginx版本号
  4. 隐藏Header中暴露的PHP版本号

今天经@wooyaa小师傅安利, 装上了 Arachni, 顺手扫描了一下自己的博客, 发现了几个信息泄露的问题, 于是就有了此文…

什么是HSTS? 为什么需要HSTS?

在网站全站HTTPS后,如果用户手动敲入网站的HTTP地址,或者从其它地方点击了网站的HTTP链接,通常依赖于服务端301/302跳转才能使用HTTPS服务。而第一次的HTTP请求就有可能被劫持,导致请求无法到达服务器,从而构成HTTPS降级劫持。这个问题目前可以通过HSTS(HTTP Strict Transport Security,RFC6797)来解决。

 

在Nginx中配置HSTS

找到nginx.conf文件(或者vhosts下的子配置文件), 在SSL server块中增加一行add_header

server {
listen 443 ssl;
server_name lzskyline.com;

add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;

保存退出

隐藏Header中暴露的Nginx版本号

找到nginx.conf文件, 搜索server_tokens, 将其设为off即可

server_tokens off

保存退出

隐藏Header中暴露的PHP版本号

找到php.ini文件, 搜索expose_php, 同样将其设为off

expose_php = Off

保存退出

 

最后重启一下php和nginx就生效了

sudo pkill php-fpm
sudo php-fpm
sudo service nginx restart

From LzSkyline's Blog : https://www.lzskyline.com/archives/504

当前没有任何回复哦,快成为第一个吃螃蟹的人~

发表评论

电子邮件地址不会被公开。 必填项已用*标注