HTTP協議安全相關header詳解
HTTP安全標頭是網站安全的基本組成部分http協議有許多可以增強網站安全性,減少用戶被攻擊的安全策略,部署這些安全標頭有助于保護您的網站免受XSS,代碼注入,clickjacking的侵擾。
當用戶通過瀏覽器訪問站點時,服務器使用HTTP響應頭進行響應。這些header告訴瀏覽器如何與站點通信。它們包含了網站的metadata。您可以利用這些信息概括整個通信并提高安全性。本文將依次介紹HTTP協議安全相關header。
1. 強制使用https傳輸,HTTP Strict Transport Security (HSTS)
在各種劫持小廣告+多次跳轉的網絡環境下,可以有效緩解此類現象。同時也可以用來避免從https降級到http攻擊(SSL Strip)
服務器設置響應頭:Strict-Transport-Security: max-age=31536000 ; includeSubDomains 即可開啟
網站(譬如百度)啟用該策略后且在有效期之內,用戶在瀏覽器地址欄輸入baidu.com后,瀏覽器不會經歷該過程:baidu.com--->http://www.baidu.com--->https://www.baidu.com;而是直接訪問https://www.baidu.com
該策略只適用于80、443端口。
有些網站并不是全站https比如圖片,畢竟使用https對服務器性能要求更高,中間人攻擊仍然可以修改用戶看到的圖片。
2. 安全策略(CSP)
HTTP內容安全策略響應標頭通過賦予網站管理員權限來限制用戶被允許在站點內加載的資源,從而為網站管理員提供了一種控制感。 換句話說,您可以將網站的內容來源列入白名單。
內容安全策略可防止跨站點腳本和其他代碼注入攻擊。 雖然它不能完全消除它們的可能性,但它確實可以將損害降至最低。 大多數主流瀏覽器都支持CSP,所以兼容性不成問題。
- Content-Security-Policy: <policy-directive>; <policy-directive>
3. 跨站XSS防護,X-XSS-Protection
開啟瀏覽器端的xss防護,減少反射xss對用戶的危害(chrome瀏覽器默認開啟)
服務器配置響應頭:
- X-XSS-Protection: 1; mode=block / 1; report=http://[YOURDOMAIN]/your_report_URI
4. 阻止網站被嵌套,X-Frame-Options
網站被嵌套,可能出現clickhijacking等攻擊
服務器配置響應頭:
- X-Frame-Options: deny/sameorigin/allow-from: DOMAIN
因為X-Frame-Options只檢測與top窗口的關系,若有多層嵌套victim{hacker{victim,則可以繞過,
另外主頁面可以監聽事件onBeforeUnload可以取消iframe的跳轉;iframe的sandbox屬性可以禁用iframe中的j
所以需要配合csp規則的Content-Security-Policy: frame-ancestors 'self';
5. 配置多種安全策略,Content-Security-Policy
可以定義許多安全策略,script-src,frame-src ,referrer等
服務器配置響應頭:Content-Security-Policy: script-src 'self'
6. 響應內容探測,X-Content-Type-Options
有些服務器響應內容未設置content-type,瀏覽器會自動檢測內容type(MIME自識別),會出現編碼相關的安全問題(IE和chrome會忽略content-type 自行推測網頁格式、編碼等,會出現IE的utf-7 xss繞過等bug)
服務器配置響應頭:X-Content-Type-Options: nosniff
時代在進步在發展,我們的生活越來越離不開網絡,可以說網絡承載著我們大部分的生活,稍不注意就會裸露在不法分子手上。為網站部署SSL證書進程已勢不可擋,數安時代建議廣大站長或企業網站負責人盡早為網站部署合適的SSL證書.