呈现用户内容

Jenkins的多个特性,以及插件中的更多必威国际有限公司特性,提供了可以从Jenkins查看或下载的文件。其中的一些内置示例是工作区浏览器、归档工件、要构建的文件参数或/ userContent /目录中。插件等JavadocHTML的出版商,或Maven集成(当发布Maven站点时)突出的特性功能是由来自Jenkins的用户控制的HTML。必威国际有限公司

这可能会有风险跨站点脚本编制攻击可能会被那些对构建有影响的人放到那些HTML文件中,而这些人可能并不完全信任。

Content-Security-Policy

默认情况下,Jenkin必威国际有限公司s提供的文件可能来自不太可信的来源Content-Security-PolicyHTTP响应头。这个默认值阻止了所有JavaScript和其他活动元素,只允许CSS和来自Jenkins中其他文件的图像。必威国际有限公司

虽然这是安全的,但它也阻止了许多有用的功能的工作,比如在构建期间创建的丰富的动态HTML报告。有可能配置Content-Security-Policy.这通常是功能和安全性之间的一个困难的权衡,所以应该非常小心地去做。

资源根URL

作为放松的另一种选择Content-Security-Policy,管理员可以配置Jenkins来提供来自不同域的可能不太可信的必威国际有限公司源的文件。这个选项可以在管理Jenki必威国际有限公司ns»配置系统一节中从另一个域提供资源文件

如果定义了资源根URL, Jenkins将把用户创建的资源文件的请求重定向必威国际有限公司到以此处配置的URL开头的URL。这些url不会设置CSP头,允许JavaScript和类似的功能工作。要使该选项按预期工作,需要考虑以下限制和考虑因素:

  • 为了正确处理请求,资源根URL必须是Jenkins URL的有效替代选择。必威国际有限公司

  • 必须设置必威国际有限公司Jenkins URL,并且它必须与这个资源根URL不同(实际上,需要一个不同的主机名)。

  • 一旦设置好,Jenk必威国际有限公司ins将只通过资源根URL提供资源URL请求。所有其他请求将得到HTTP 404未找到响应。

一旦正确设置了这个URL, Jenkins就会将请求重定向到工作区、归档工件和类似必威国际有限公司的用户生成内容集合,并将这些请求重定向到以资源根URL开头的URL。而不是像工作/ name_here / ws,资源URL将包含编码该路径的令牌、为其创建URL的用户以及创建URL的时间。这些资源url访问静态文件,就像为它们创建的用户访问它们一样:如果用户访问这些文件的权限被删除,相应的资源url也将不再工作。在这些url过期之前,任何人都可以访问这些url,因此共享这些url类似于直接共享文件。

安全注意事项

身份验证

资源URL不需要身份验证(用户将没有资源根URL的有效会话)。与另一个用户共享资源URL,即使这个用户没有Jenkins的Overall/Read权限,也会授予该用户访问这些文件的权限,直到URL过期。必威国际有限公司

过期

资源url默认在30分钟后过期。过期的资源URL将把用户重定向到等价的Jenkins URL,这样用户就可以在必要时重新验证,然后重定向回一个新的资源URL必威国际有限公司,该资源URL将在另外30分钟内有效。如果用户有一个有效的Jenkins会话,这通常对用户是透明的。必威国际有限公司否则,他们将需要与詹金斯再次验证。必威国际有限公司然而,当浏览带有HTML框架的页面时,比如Javadoc站点,登录表单不能出现在框架中。在这些情况下,用户需要重新加载顶级框架以显示登录表单。

要更改资源url过期的速度,请设置系统属性必威国际有限公司jenkins.security.ResourceDomainRootAction.validForMinutes以分钟为单位。较早的过期可能会使使用这些url变得更加困难,而较晚的过期则增加了未经授权用户通过授权用户共享的url获得访问权限的可能性。

真实性

资源URL编码URL、为其创建的用户以及创建时间戳。此外,该字符串包含HMAC以确保URL的真实性。这可以防止攻击者伪造url,使他们可以像其他用户一样访问资源文件。



这个页面有用吗?

请通过这个提交你对这个页面的反馈快速形成

或者,如果您不希望完成快速表单,您可以简单地指出,如果您觉得这个页面有帮助?


看到现有的反馈在这里