天天看點

HTTP網絡設定

1、HTTP strict-transport-security (HSTS)

max-age=16070400;includeSubDomains    嚴格安全傳輸  用來抵禦SSL剝離攻擊 包括子域名

該方式的一些不足

(1)使用者首次通路某網站是不受HSTS保護的。這是因為首次通路時,浏覽器還未收到HSTS,是以仍有可能通過明文HTTP來通路。解決這個不足目前有兩種方案,一是浏覽器預置HSTS域名清單,Google Chrome、Firefox、Internet Explorer和Spartan實作了這一方案。二是将HSTS資訊加入到域名系統記錄中。但這需要保證DNS的安全性,也就是需要部署域名系統安全擴充。截至2014年這一方案沒有大規模部署。

(2)由于HSTS會在一定時間後失效(有效期由max-age指定),是以浏覽器是否強制HSTS政策取決于目前系統時間。部分作業系統經常通過網絡時間協定更新系統時間,如Ubuntu每次連接配接網絡時,OS X Lion每隔9分鐘會自動連接配接時間伺服器。攻擊者可以通過僞造NTP資訊,設定錯誤時間來繞過HSTS。解決方法是認證NTP資訊,或者禁止NTP大幅度增減時間。比如Windows 8每7天更新一次時間,并且要求每次NTP設定的時間與目前時間不得超過15小時。

2、Content-Security-Policy 内容安全政策 default-src  ‘self’

該響應頭主要用來定義頁面可以加載哪些資源,減少XSS攻擊

  • default-src

     限制全局,預設所有都會使用這種規則
  • script-src

     限制JavaScript的源位址。
  • style-src

     限制層疊樣式表檔案源。
  • img-src

     限制圖檔和圖示的源位址

限制規則

(1)default-src ‘self’;隻允許同源下的資源

(2)script-src ‘self’; 隻允許同源下的js

(3)script-src ‘self’ www.xxx.com; 允許同源以及指定位址下的js加載

(4)default-src ‘none’; script-src ‘self’; connect-src ‘self’; img-src ‘self’; style-src ‘self’;

3、X-Content-Type-Options  nosniff

nosniff

下面兩種情況的請求将被阻止:

  • 請求類型是"

    style

    " 但是 MIME 類型不是 "

    text/css

    ",
  • script

    " 但是 MIME 類型不是javascript mime類型  

4、X-XSS-Protection  

  • 0(禁用XSS過濾器/稽核員)
  • 1(删除不安全的部分;如果沒有X-XSS-Protection标題,ie8中是預設設定)
  • 1; mode = block(如果找到XSS,則不要渲染文檔)

5、X-Frame-Options 

X-Frame-Options SAMEORIGIN; 允許同域嵌套

X-Frame-Options ALLOW-FROM http://XXX.com/;允許單個域名iframe嵌套

X-Frame-Options "ALLOW-FROM http://XXX1. com/,https://XXX2. com/";允許多個域名iframe嵌套,注意這裡是用逗号分隔

6、跨域設定

怎麼才算跨域:

  1. 請求協定

    http,https

    的不同
  2. domain

  3. 端口

    port

Access-Control-Allow-Origin(辨別允許哪個域的請求)  * 

Access-Control-Allow-Credentials:true  意味這将cookie開放給了所有的網站

Access-Control-Allow-Methods 允許的方法通路

Access-Control-Max-Age   傳回結果可以用于緩存的最長時間,機關是秒

Access-Control-Allow-Headers   可支援的請求首部名字。請求頭會列出所有支援的首部清單,用逗号隔開。