內容安全策略CSP在阿里雲的實施

2021-08-19 12:53:14 字數 2884 閱讀 6130

摘要:

點點幫是我們公司推出的一款用於手機社群軟體。本軟體的功能非常強大,包括社群物業、交流廣場、**購物幾大功能模組。在點點幫中,使用者可以體驗到更便捷、舒適的生活環境,認識更多的朋友。由於**https化的大勢所趨,了解到把**公升級到https有很多優點,但遷移最大的問題在於遷移時間。如果在阿里雲上的主站點遷移到https,而網頁嵌入的物件沒有遷移,瀏覽器就會阻止這些沒有遷移的資源的呈現。那麼,有沒有一種簡單的實施技巧來完成https公升級呢?且聽我一一道來。

一、https公升級的趨勢

目前,很多**紛紛向https遷移,但遷移最大的問題在於遷移時間。如果主站點遷移到https,而網頁嵌入的物件沒有遷移,那麼瀏覽器會阻止這些沒有遷移的資源的呈現。最好的做法是將嵌入的物件遷移到安全站點並更新原始碼。然而,更改原始碼是乙個漫長而困難的過程。在這種情況下,內容安全策略content-security-policy就非常有用了。

全站做https遷移是很困難的,可以考慮使用報頭的「content-security-policy: upgrade-insecure-request」項來減少嵌入式物件的混合內容的錯誤(「mixed-content」)。最後,使用報頭的strict-transport-security項來對域和子域安全加固。

二、內容安全策略csp的上雲技巧

content-security

-policy:upgrade-insecure

-requests

這樣就可以將所有不安全的資源請求從網頁自動公升級為安全版本,網頁html**:

src =「>

src =「>

瀏覽器會認為資源請求為:

src =「>

src =「>

三、csp上雲技巧深入但在阿里雲上https化的真實情況遠比w3c規範的定義更加複雜,具體如下:

1、瀏覽器的支援

首先,並不是所有的瀏覽器都支援csp。firefox、chrome和opera支援csp指令,而ie、edge和safari目前不支援csp。

2、例外

儘管w3c文件提到導航鏈結被公升級到https,但是chrome瀏覽器和firefox對這一點卻有不同的處理解釋。

mozilla對導航鏈結是這麼說的:

* 同乙個域的鏈結將公升級

* 第三方的鏈結將不公升級

而chrome對導航鏈結是這麼說的:

* 注意,在錨標籤的href屬性中包含了「http://」內容的導航鏈結將不公升級。

3、第三方內容

第三方內容不公升級。由於瀏覽器不知道這些域是否支援https,因此它們不會被公升級。在目前的版本中,這項內容會被靜默阻止。可以通過開啟firefox / chrome中的開發者工具並導航到控制台視窗來找到這些已遮蔽的內容。看起來像以下的例子:

四、csp上雲實踐的下一步

通過使用報頭的csp項,大多數嵌入物件的錯誤可以移除。csp也支援報告。啟用此功能後,可以獲取到被瀏覽器「阻止/警告」的一組**,並在源**中修復。

1、hsts

hsts即http strict transport security,http嚴格傳輸安全,是一套由ietf組織發布的網際網路安全策略機制。**可以選擇使用hsts策略,來讓瀏覽器強制使用https與**進行通訊,以減少會話劫持的風險。hsts的作用是強制客戶端(如瀏覽器)使用https與伺服器建立連線。伺服器開啟hsts的方法是,當客戶端通過https發出請求時,在伺服器返回的超文字傳輸協議響應頭中包含strict-transport-security欄位。非加密傳輸時設定的hsts欄位無效。

使用報頭的strict-transport-security選項時,瀏覽器將確保對域(和子域)的所有請求都通過https進行。這就消除了計畫公升級報頭的缺點。比如:

strict-transport

-security: max

-age

=31536000; includesubdomains

上面的報頭字段資訊解釋如下:

1. 在隨後的31536000秒中,瀏覽器只要向該網域名稱或子網域名稱傳送http請求時,必須採用https協議發起連線請求。

2.如果該伺服器傳送的tls證書無效,使用者不能忽略瀏覽器警告繼續訪問**。

2、cookie

set

-cookie: lsid=dqaaak...eaem_vyg; secure

要說明兩點:

1. 無論 http連線或https連線,只要set-cookie欄位加上了secure標誌,那麼只有在使用了https連線時才會返回cookie內容。

2. 無論 http連線或https連線,如果set-cookie欄位沒有secure標誌,那麼http連線或https連線都會返回cookie,且在使用http連線時,存在洩露資訊的風險。

五、最後

採用了以上的手段,在阿里雲上**實施https化再也不是問題了。借助阿里雲的伺服器安全即安騎士產品和阿里雲的web應用防火牆waf產品,運營人員基本上就無需擔憂整個**的安全問題了。

CSP 內容安全策略

服務端可通過設定響應頭csp來實現 1.限制資源獲取 2.報告資源獲取越權 資源1 空格 關鍵字1 資源2 關鍵字2 如 content security policy script src self form action self report uri report ps 表轉義,避免node....

內容安全策略 CSP

內容安全策略 csp 是乙個額外的安全層,用於檢測並削弱某些特定型別的攻擊,包括跨站指令碼 xss 和資料注入攻擊等。摘自mdn 具體內容請參考mdn 對於react和vue,xss攻擊已經在框架裡進行了防範,但是使用 dangerouslysetinnerhtml react 和 v html v...

CSP內容安全策略

csp介紹 使用方法 維基百科 csp 的主要目標是減少和報告 xss 攻擊 xss 攻擊利用了瀏覽器對於從伺服器所獲取的內容的信任。惡意指令碼在受害者的瀏覽器中得以執行,因為瀏覽器信任其內容 即使有的時候這些指令碼並非來自於它本該來的地方。csp通過指定有效域 即瀏覽器認可的可執行指令碼的有效 使...