SSL/TLS深度解析--在Nginx上配置HSTS、CSP與其他-創(chuàng)新互聯(lián)

在 Nginx 上配置 HSTS

HTTP響應(yīng)中包含 Strict-Transport-Security 頭實(shí)現(xiàn)網(wǎng)站HSTS,像下面這樣配置:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload,就實(shí)現(xiàn)了HSTS,即—— HTTP Strict Transport Security,HTTP嚴(yán)格傳輸安全。假設(shè)TLS連接沒有錯(cuò)誤,兼容的瀏覽器將會(huì)在 max-age 參數(shù)指定的保留期內(nèi)激活HSTS。
一旦站點(diǎn)啟用了HSTS,用戶的后續(xù)訪問就會(huì)直接進(jìn)入443端口,然而你還需要確保那些訪問到80端口的用戶能被重定向到正確的地址。為了支持這個(gè)重定向,而且由于在明文響應(yīng)中HSTS響應(yīng)頭是不被允許的。
需要配置重定向
# 增加HSTS
[root@www conf]# vim nginx.conf  
......
server {
        listen       80;
        server_name  *.test05.com test05.com;
        return 301 https://$host$request_uri;
}
......
add_header Strict-Transport-Security  "max-age=31536000; includeSubDomains; preload"  always ;
# max-age:時(shí)間單位是秒,31536000/3600*24 =365天
# always:表示無論哪種請求都將HSTS的頭發(fā)送給客戶端,也包括錯(cuò)誤響應(yīng)。默認(rèn)情況404等是不發(fā)送HSTS頭的。
# includeSubDomains:參數(shù)指定在當(dāng)前主機(jī)域名及其所有子域上啟用HSTS。
# preload:是一個(gè)可選項(xiàng),是一個(gè)為了解決第一次訪問的用戶,無法預(yù)先得知HSTS設(shè)置,而創(chuàng)建的
# 要注意 add_header 這個(gè)指令的繼承方式,如果一個(gè)子配置塊中設(shè)置了 add_header 指令,那么在上層配置塊中的 add_header 指令是不會(huì)被繼承的。如果你需要在子配置中添加額外的 add_header 指令,那么有關(guān)HSTS那部分要復(fù)制到子配置中。

[root@www conf]# ../sbin/nginx -t
nginx: the configuration file /project/nginx1.15.0/conf/nginx.conf syntax is ok
nginx: configuration file /project/nginx1.15.0/conf/nginx.conf test is successful
[root@www conf]# ../sbin/nginx -s reload

SSL/TLS深度解析--在 Nginx上配置 HSTS、CSP 與其他

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元高陽做網(wǎng)站,已為上家服務(wù),為高陽各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

在 Nginx 上使用 CSP

內(nèi)容安全策略(content security policy,CSP)是一種聲明的安全機(jī)制,可以讓網(wǎng)站運(yùn)營者能夠控制遵循CSP的用戶代理(通常是瀏覽器)的行為。通過控制要啟用哪些功能,以及從哪里下載內(nèi)容,可以減少網(wǎng)站的***面。
CSP的主要目的是防御跨站點(diǎn)腳本(cross-ste scripting,XSS)***。例如,CSP可以完全禁止內(nèi)聯(lián)的JavaScript,并且控制外部代碼從哪里加載。它也可以禁止動(dòng)態(tài)代碼執(zhí)行。禁用了所有的這些***源,XSS***變得更加困難。一個(gè)網(wǎng)站通過設(shè)置 Content-Security-Policy 響應(yīng)頭啟用所需的CSP策略。
具體規(guī)則:
default-src:默認(rèn)策略
script-src:js腳本
style-src:樣式
img-src:圖片
connect-src:鏈接
font-src:字體
object-src:插件<object>, <embed> 或者<applet>等
media-src: 多媒體<audio>,<video>之類
frame-src:frame
sandbox:沙箱
可取值與含義:
'*':任意來源
'none':任何來源的都不加載
'self':同源,與請求同源的資源可以加載
data 編碼過的資源,例如Base64編碼過的圖片
'unsafe-inline':行內(nèi)代碼可以執(zhí)行
'unsafe-eval':允許動(dòng)態(tài)代碼執(zhí)行,例如 JavaScript的 eval()方法
https:要求來源是https協(xié)議的
https:// xxx.com:要求來源是https協(xié)議的某個(gè)站點(diǎn)
css.test.com:要求來源是某個(gè)站點(diǎn)
*.test.com:要求來源是某個(gè)站點(diǎn)及其所有的子站點(diǎn)
[root@www ~]# cd /project/nginx1.15.0/conf/
[root@www conf]# vim nginx.conf
......
add_header Content-Security-Policy  "default-src 'self'; img-src * ; object-src *  script-src www.test05.com" ;
[root@www conf]# ../sbin/nginx -t
nginx: the configuration file /project/nginx1.15.0/conf/nginx.conf syntax is ok
nginx: configuration file /project/nginx1.15.0/conf/nginx.conf test is successful
[root@www conf]# ../sbin/nginx -s reload

nginx 在配置上錯(cuò)誤所造成的漏洞

[root@www ~]# cd /project/nginx1.15.0/conf/
[root@www conf]# vim nginx.conf
......
# 防止嵌入 到frame 中;避免點(diǎn)擊劫持***
add_header X-Frame-Options  DENY ;
#禁止服務(wù)器自動(dòng)解析資源類型
add_header X-Content-Type-Options  nosniff ;
#防XSS***
add_header X-Xss-Protection 1;
X-Frame-Options 3個(gè)選項(xiàng)值:
DENY:拒絕一個(gè)頁以frame方式加載
SAMEORIGIN:同源域名下的頁面,可以用frame方式加載
ALLOW-FROM:允許指定的域名以frame形式加載
點(diǎn)擊劫持,是在某個(gè)自身不安全站點(diǎn)的某個(gè)頁面上有一個(gè)iframe加載了你的網(wǎng)站的某個(gè)頁面,***者可以篡改這個(gè)iframe,誘使用戶去點(diǎn)擊,所以最好還是禁止iframe去加載你的頁面;或者是同源和個(gè)別指定站點(diǎn)可以以frame形式加載你的頁面。
XSS***:跨站腳本***:
X-Xss-Protection:4個(gè)選項(xiàng)值:
0:不開啟XSS保護(hù)
1:開啟保護(hù)(瀏覽器中一般默認(rèn)),檢測到跨站點(diǎn)腳本***,瀏覽器將刪除不安全的部分。
1; mode=block 檢測到***,瀏覽器將阻止頁面的呈現(xiàn)
1; report=<reporting-uri> 檢測到跨站點(diǎn)腳本***,瀏覽器將清理頁面并報(bào)告違規(guī)行為。這使用CSP report-uri功能發(fā)送報(bào)告;只有chrome支持發(fā)送報(bào)告。
nosniff 是禁止嗅探 ,服務(wù)器提示客戶端一定按照 Content-Type 首部中的 MIME 類型來解析,而不能對其進(jìn)行修改。
禁用了客戶端的 MIME 類型嗅探行為,防止惡意代碼的注入。開啟X-Content-Type-Options 要注意,要保證所傳輸?shù)膬?nèi)容都要有正確 Content-Type 屬性,要是沒有這個(gè)屬性,可能會(huì)造成加載不成功和無法運(yùn)行;因?yàn)殛P(guān)閉了瀏覽器自動(dòng)識(shí)別這一項(xiàng)。有些瀏覽器 如 IE9 ,IE11 在無法獲得類型時(shí),就不加載內(nèi)容。
nginx配置中的 目錄穿透隱患:要確保配置的路徑和alias 配置的路徑 ,
要都有 / ;或者都沒有 /
  • 正確配置
location /download/ {
                autoindex on;
                alias /project/nginx1.15.0/files/;
        }

SSL/TLS深度解析--在 Nginx上配置 HSTS、CSP 與其他

  • 有安全隱患的配置
location /download {
                autoindex on;
                alias /project/nginx1.15.0/files/;
        }

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站題目:SSL/TLS深度解析--在Nginx上配置HSTS、CSP與其他-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://www.muchs.cn/article2/cdecic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、App設(shè)計(jì)、虛擬主機(jī)關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站