jenkins安全內容配置策略


有時我們使用HTML Publisher Plugin插件時,在jenkins點開html report,會發現沒有帶任何的css或js樣式,這是因為Jenkins 1.641 / Jenkins 1.625.3將Content-Security-Policy標題引入了Jenkins 提供的靜態文件(具體來說,DirectoryBrowserSupport)。此標題設置為非常限制的默認權限集,以保護Jenkins用戶免受工作空間/userContent或歸檔工件中的惡意HTML / JS文件的干擾。默認的設置是:

默認規則設置為:

sandbox; default-src 'none'; img-src 'self'; style-src 'self';

 

此規則集導致以下內容:

  • 根本不允許JavaScript
  • 不允許插件(對象/嵌入)
  • 不允許內聯CSS或其他網站的CSS
  • 沒有允許來自其他網站的圖片
  • 不允許幀
  • 不允許使用網絡字體
  • 不允許XHR / AJAX
  • 等等

詳細:

  • sandbox限制了頁面可以執行的一些操作,類似於sandboxiframe上設置屬性。有關禁止的完整列表,請參閱此網站該屬性不被廣泛支持。
  • default-src 'none' probihits加載腳本,AJAX / XHR / WebSockets / EventSources的URL,字體,插件對象,媒體和框架(圖像和樣式也將被禁止,但可以通過下面描述的更具體的規則進行)。
  • img-src 'self'允許加載由詹金斯提供的其他文件的圖像。禁止內聯圖像定義。
  • style-src 'self'允許從Jenkins提供的其他文件加載樣式表。禁止內聯樣式表。

請參閱content-security-policy.com以獲取有關此標題及其可能值的引用。

 

所以需要我們在jenkins中做如下設置: 

確保將HTML Publisher Plugin更新到1.10版,以使其與內容安全策略配合使用

進入系統管理->腳本執行行->輸入下面的命令:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

點擊下面的運行按鈕,不生效的話,多運行幾次。

 

還可以做如下配置:

Set a custom value for the header:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; default-src 'self';")

 

Unset the header:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

 

Set the header to the default:

System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")

 

Find out the current header value:

System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")

 

更多信息參見官網介紹:

https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy

用瀏覽器翻譯了一下,作為參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM