博客文章遷移: 2018-10-11 11:15
今天經(jīng)@wooyaa小師傅安利, 裝上了 Arachni, 順手掃描了一下自己的博客, 發(fā)現(xiàn)了幾個信息泄露的問題, 于是就有了此文…
什么是HSTS? 為什么需要HSTS?
在網(wǎng)站全站HTTPS后赊琳,如果用戶手動敲入網(wǎng)站的HTTP地址,或者從其它地方點擊了網(wǎng)站的HTTP鏈接,通常依賴于服務(wù)端301/302跳轉(zhuǎn)才能使用HTTPS服務(wù)滨溉。而第一次的HTTP請求就有可能被劫持沽瞭,導致請求無法到達服務(wù)器褐缠,從而構(gòu)成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, 將其設(shè)為off即可
server_tokens off
保存退出
隱藏Header中暴露的PHP版本號
找到php.ini文件, 搜索expose_php, 同樣將其設(shè)為off
expose_php = Off
保存退出
最后重啟一下php和nginx就生效了
sudo pkill php-fpm
sudo php-fpm
sudo service nginx restart