我对Jenkins内容安全策略感到困惑。
我知道这些网站:
我有一个html页面显示通过。此html页面使用内联样式,例如:
<div class='greenbar' style='width:58px'>div元素可视化一个进度条。使用默认的Jenkins配置将得到以下结果:失败
我希望得到的结果如下:作品
我尝试放宽CSP规则,添加不同级别的参数组合(脚本-src、样式-src)(自、不安全-内联、..)。但什么都不管用。
所以我现在的问题是:
更新
1.在jenkins.xml文件中尝试: -Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'。然后发生以下错误:
拒绝应用内联样式,因为它违反了以下内容安全策略指令:"default-src 'self'“。要么是‘不安全-内联’关键字,要么是散列('sha256-'),或者是“不安全-.”(现在-.)需要启用内联执行。还请注意,“style-src”没有显式设置,因此“default-src”用作回退。
2.在jenkins.xml文件中尝试使用 -Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; style-src 'self'。然后发生以下错误:
拒绝应用内联样式,因为它违反了以下内容安全策略指令:" style -src 'self'“。要么是‘不安全-内联’关键字,要么是散列('sha256-'),或者是“不安全-.”(现在-.)需要启用内联执行。
我知道这次尝试不能解决我的问题,因为默认的src包括样式src。
3.在jenkins.xml文件中尝试使用 -Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; style-src 'unsafe-inline'。然后发生以下错误:
拒绝加载样式表的://jenkins/andsomedir/样式表. its它的https://...不允许发布两个以上的链接:(因为它违反了以下内容安全策略指令:"style-src‘不安全-内联’“。
发布于 2016-06-03 21:16:21
在进行实验时,我建议使用脚本控制台动态地调整配置内容安全策略页面中描述的CSP参数。( Jenkins wiki页面中还有另一个注释,表示您可能需要强制该页面以查看新设置。)
为了同时使用内联样式和本地样式表,您需要同时添加自定义和不安全内联。
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; style-src 'self' 'unsafe-inline';")根据进度条是如何操作的,您可能也需要以同样的方式调整'script-src‘。
一旦找到有效的设置,就可以调整Jenkins启动脚本以添加CSP参数定义。
发布于 2017-04-06 16:13:23
为了弄清楚如何将这个CSP属性永久地设置在Jenkins上。
如果您在Ubuntu上运行Jenkins
$ vim /etc/default/jenkinsJAVA_ARGS的行并添加CSP策略,如下所示:JAVA_ARGS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src data:;\""如果您在CentOS上运行Jenkins
$ vim /etc/sysconfig/jenkinsJENKINS_JAVA_OPTIONS的行并添加CSP策略,如下所示:JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src data:;\""保存文件并重新启动Jenkins。$ sudo service jenkins restart或浏览器中的http://localhost:8080/safeRestart
发布于 2019-07-21 06:57:00
下面的房产为我服务。以下属性允许所有外部服务器。
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src * 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline';")https://stackoverflow.com/questions/37618892
复制相似问题