網站中的 Security Headers 安全設定

當使用者通過瀏覽器發送request到伺服器上,伺服器會回應response給瀏覽器,此時就會帶上一些header,其中有些header可以保證網站安全。

主要的Security Headers設定:

X-Frame-Options

告訴瀏覽器您是否要允許您的網站被嵌入(iFrame)。通過防止瀏覽器構架您的網站,您可以防禦諸如Click Jacking之類的攻擊。

設定方式:

  1. 開啟 mod headers
    在\apache\apacheXXX\conf中,編輯httpd.conf
    將LoadModule headers_module modules/mod_headers.so前的註解取消掉
  2. 在\etc\apache2\conf-available中,編輯security.conf
    Header set X-Frame-Options: "sameorigin" 前的註解取消掉
  3. 重啟Apache

Strict-Transport-Security

簡稱 HSTS,告知瀏覽器強制啟用 https , max-age 代表強制維持 https 多少時間,一般為一年31536000秒,includeSubDomains包含子網域。

在\etc\apache2\conf-available中,編輯security.conf,加入

Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"

或是編輯htaccess

<IfModule mod_headers.c>

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

</IfModule>

Content-Security-Policy

為了防止 XSS , CSP 可以設定來源白名單,只讓信任的來源執行腳本,self 代表讓網站的所有資源都來自於自己。

在\etc\apache2\conf-available中,編輯security.conf,加入

Header set Content-Security-Policy "frame-ancestors 'self';"

X-Content-Type-Options

阻止瀏覽器探知檔案的 mime type ( disable Content sniffing ),一般情況下瀏覽器會去探知資源的 Content-Type ,以判別資源類型,例如:image/png、text/css,而有些資源的 Content-Type 有可能是錯誤或缺少的,此時就會進行 Content sniffing猜測解析內容,將 X-Content-Type-Options 設成 nosniff,可阻止這種行為。

在\etc\apache2\conf-available中,編輯security.conf,加入

Header set X-Content-Type-Options: "nosniff"

Referrer-Policy

referrer是訪問來源網址,會將使用者從哪個網站來的資訊帶到 request 的header。

在\etc\apache2\conf-available中,編輯security.conf,加入

Header set Referrer-Policy "strict-origin-when-cross-origin"

Permissions-Policy

允許一個站點開啟或者禁止一些瀏覽器屬性和 API,來更好的確保站點的安全性和隱私性。有點類似內容安全策略,但是它控制的是瀏覽器的特徵而不是安全行為

在\etc\apache2\conf-available中,編輯security.conf,加入

Header always set Permissions-Policy "geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()"

X-Permitted-Cross-Domain-Policies

該標頭用於限制哪些數據外部資源(例如Adobe Flash和PDF文檔)可以在域上訪問。未能將X-Permitted-跨域 - 核心標題設置為“無”值,允許其他域將應用程序的數據嵌入其內​​容中。

Header Set X-Permitted-Cross-Domain-Policies "none"

Clear-Site-Data

透明SITE-DATA標頭為應用程序開發人員提供功能,以控制哪些數據持續存儲在瀏覽器的各個存儲位置(Cookie,Storage API,CACHE)中。這對於Web開發人員可能很有用,因為他們可以指示瀏覽器在註銷過程中刪除瀏覽器存儲在客戶端(例如cookie,caches和存儲)上的敏感信息。注意:僅在安全上下文(HTTPS)中支持這。

Header Set Clear-Site-Data: "*"

Cross-Origin-Embedder-Policy

可以利用交叉原始物體 - embedder-Policy(COEP)標頭來防止Web瀏覽器從第三方域中加載資源,這些域未使用交叉源源物 - 資源 - 資源 - 託管標頭明確授予許可。

Header Set Cross-Origin-Embedder-Policy "require-corp"

Cross-Origin-Opener-Policy

交叉啟動 - 開花 - POLICY(COOP)標頭用於在Web瀏覽器中分離跨原始瀏覽上下文。瀏覽上下文是瀏覽器向用戶顯示文檔對象的環境,例如,選項卡,窗口或iframe。該標頭用於防止一組特定的交叉攻擊,稱為XS-Leaks。

Header Set Cross-Origin-Opener-Policy "same-origin"

Cross-Origin-Resource-Policy

開發人員使用了跨源性資源 - 庫利(Corp)標頭來定義用戶的瀏覽器是否能夠從其他來源向應用程序或Web服務提出請求。標題用於防止側向通道和跨站點腳本包含攻擊。

Header Set Cross-Origin-Resource-Policy "same-origin"

 

Security Headers掃描網站:https://securityheaders.com/

網站中的 Security Headers 安全設定

參考:

網站中的 Security Headers 安全設定

關於作者 多力哥
網站中的 Security Headers 安全設定
影像創作攝影師/網頁動畫設計師/系統網路工程師/水草研究生
景文科大畢業後,我成為一名網站動畫設計師,並副修MIS電腦資訊管理。2004年,我開始接觸單眼相機,並在2008年正式成為一名接案攝影師,目前使用Canon系統進行拍攝。2016年,我愛上了美麗的水草缸,這讓我的生活多了另一層次的放鬆。每天在電腦前修圖時,能欣賞紅吱吱、綠油油的水草,彷彿多了一份平靜與愉悅。攝影與水草讓我的生活充滿了藝術與自然的交融。
連絡信箱:[email protected] (歡迎合作提案)
DORIGO IMAGE 攝影工作室:https://dorigo-image.com
若您喜歡這篇文章,歡迎按讚分享喔!
0 回復

發表評論

想要留言嗎?
歡迎歡迎!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *