Security Headers 是 Probely 公司提供的網頁安全標頭檢查工具,網頁標頭是瀏覽器和伺服器在請求與回應過程所傳遞的資料,包含許多元數據,也提供瀏覽器如何顯示或處理網頁的指示,不過標頭通常無法直接看到,必須透過瀏覽器的開發人員工具或是使用第三方服務例如 httpstatus.io、Web-Check 等等進行查詢,網頁標頭也會隱藏許多資訊,在網頁前端除錯時就會很有用。
網頁標頭中也存在一組「安全標頭」,這些標頭主要用來加強網頁的安全性,也可以防止多種常見網頁攻擊手法,因此稍微花點時間檢查網頁是否已經設定這些安全標頭就顯得很重要。
利用 Security Headers 工具可以檢查網頁是否已經設定各種安全標頭,包括:
- Strict-Transport-Security
- X-Content-Type-Options
- Content-Security-Policy
- Referrer-Policy
- X-Frame-Options
- Permissions-Policy
最後顯示一個安全級別,有助於網頁開發者去完善各項安全標頭設定,當安全標頭設定得宜就能有效減少常見安全漏洞,提高網站的防護能力。
網站名稱:Analyse your HTTP response headers
網站鏈結:https://securityheaders.com/
使用教學
開啟 Security Headers 網站後輸入要掃描、分析的網站網址,下方可以勾選「Hide results」從首頁隱藏結果(如果未勾選網址會顯示於首頁)。
在首頁會看到其他網站的測試評級,想研究其他人怎麼設定也能點進去看看分析結果。
接著會顯示一個安全評分,舉例來說我測得的是「C」級,在安全標頭上我有三種沒有設定、使用,從下方遺失的標頭可以看到說明,想加強網頁安全性可以研究一下這些安全標頭的設定方式和功能。
有個 HSTS(Strict Transport Security)標頭建議一定要設定一下,它會要求瀏覽器僅使用 HTTPS 與伺服器通訊,即使使用者輸入 HTTP,也會自動轉為 HTTPS 協定,可參考「將網站提交到 HSTS Preload List,強制使用 HTTPS 協議連線更安全」一文。
往下捲動頁面還能看到完整的網頁標頭資訊,這部分就和 httpstatus.io 可以查到的內容相同,或是使用瀏覽器開發人員工具也能看到,網頁標頭是瀏覽器和伺服器在請求與回應過程中所傳遞的資料,其中就有非常多的內容(綠色的代表是已設定、被檢查到的安全標頭)。
點選安全標頭後方的說明會連到介紹該標頭的文章,不過我是建議直接去 Google 輸入關鍵字搜尋,就會有非常多文章教使用者如何設定。
在測試後我也照著說明去開啟了另一個安全標頭功能,安全評分也上升到「B」級。
最後還是要提醒一下,這些安全標頭在設定上一定要務必小心謹慎,因為是牽涉到安全性,有可能沒設定正確反而會對網站造成負面影響喔!
值得一試的三個理由:
- 免費且操作簡單的網頁安全檢測工具,適合所有網站管理者使用
- 提供安全標頭分析與建議,幫助開發者提升網站安全性
- 顯示安全評分等級,方便追蹤改善成效