內容安全性原則概觀

內容安全性原則(CSP)可協助偵測及緩解跨網站指令碼(XSS)和相關資料插入攻擊,為Adobe Commerce安裝提供額外的防禦層。 這個常見的攻擊向量是透過插入惡意內容來運作,這些內容會不實地聲稱來自網站。 惡意內容載入並執行後,可能會起始未經授權的資料傳輸。

CSP提供一組標準化的指示,告訴瀏覽器哪些內容資源可以信任,哪些應該封鎖。 使用謹慎定義的原則,CSP可以限制瀏覽器內容,使其只允許列入白名單的資源顯示。

設定

為避免干擾網站作業,CSP可分階段實施。 CSP有兩個基本操作模式: report-only moderestrict mode

僅報告模式:指示瀏覽器報告原則違規,但不強制執行。 每次請求的資源違反CSP時,瀏覽器都會將產生的錯誤記錄到主控台。 然後可以使用主控台記錄來調查每個違規的原因。

請務必檢閱所有CSP錯誤,並調整原則,直到所有必要資源都列入白名單為止。 當沒有其他錯誤發生時,切換至restrict mode是安全的。 否則,未妥善設定的CSP可能會導致瀏覽器顯示含有大量主控台錯誤的空白頁面。 正確設定的CSP可傳送列入白名單的內容,而不會對效能造成任何影響。

限制模式:指示瀏覽器強制執行所有內容原則,並將發佈限制在白名單上的資源。

Adobe Commerce CSP實作的第一個階段已在Adobe Commerce 2.3.5中推出,並依預設在report-only mode中提供CSP。 在Adobe Commerce 2.4.7及更新版本中,CSP預設會針對店面和管理區域中的付款頁面設定為restrict-mode,而針對所有其他頁面則設定為report-only模式。 對應的CSP標頭在付款頁面的script-src指示詞內未包含unsafe-inline關鍵字。 此外,只允許列入白名單的內嵌指令碼。

由於CSP是從伺服器(而非管理員)設定,因此大多數商家需要系統整合商或開發人員的協助才能正確設定。 請參閱​ Commerce PHP開發人員指南 ​中的內容安全性原則

報告

依預設,CSP會將錯誤傳送至瀏覽器主控台,但可設定為透過HTTP要求收集錯誤記錄。 此外,您有數個第三方服務可用來監視、收集和報告CSP違規。 透過從管理員或自訂模組的config.xml檔案新增URI,可以將CSP違規報告至集合的端點。 請參閱​ Commerce PHP擴充功能開發人員指南 ​中的報表URI組態

報告URI是一項監視CSP違規並在儀表板中顯示結果的服務。 商戶和開發人員都可以使用此服務,在發生CSP違規時接收報表。

recommendation-more-help
6ad2ec8d-4e70-43dd-8640-a894018d6404