跳到元数据的末尾
进入元数据的开始

概述

Artifactory的安全模型提供了多个级别的保护。它允许你做以下事情:

  • 为存储库中的区域分配基于角色或基于用户的权限(称为权限目标)
  • 允许权限目标的子管理员
  • 即时配置LDAP
  • 防止Maven中的明文settings.xml文件
  • 检查单个工件或文件夹等的安全定义。

Artifactory的安全性基于Spring security,可以扩展和定制。

本节将解释Artifactory提供的强大安全性方面和控件。

常规配置

Artifactory提供了几个系统范围的设置来控制对不同资源的访问。2022世界杯阿根廷预选赛赛程这些是在安全|一般政府选项卡。

允许匿名访问

Artifactory提供了一个详细而灵活的基于权限的系统来控制用户对不同特性和工件的访问。

然而,Artifactory还支持“匿名访问”的概念,该概念控制未登录用户可用的特性和工件。

这是通过一个“匿名用户”完成的,它内置在Artifactory中,具有默认的权限集。

属性可以打开(默认值)或关闭匿名访问允许匿名访问设置下安全常规设置政府模块

您可以修改分配给“匿名用户”的权限集,就像修改任何其他用户一样,这需要这样做允许匿名访问启用。

允许基本读取构建相关信息

此设置赋予所有用户对系统中所有构建的已发布模块的查看权限。这与应用于特定构建的任何特定权限无关。并且仅适用于匿名用户,前提是匿名访问应用已启用。

隐藏未授权资源的存在2022世界杯阿根廷预选赛赛程

当用户试图访问未授权的资源时,Artifactory的默认行为是指示该资源存在但受保护。

例如,匿名请求将导致身份验证请求(401),而未经授权的身份验证用户的请求将被简单地拒绝(403)。

您可以配置Artifactory在这些情况下返回404(而不是403)- Not Found响应隐藏未授权资源的存在2022世界杯阿根廷预选赛赛程安全|一般政府模块。

密码加密策略

Artifactory提供了一种独特的解决方案,支持通过密码加密策略设置如下:

支持
Artifactory可以接收使用加密密码的请求,但也可以接受使用非加密密码的请求(默认)
要求
Artifactory要求每个经过身份验证的请求都有一个加密的密码
不支持的
Artifactory将拒绝使用加密密码的请求

有关为什么Artifactory允许您执行密码加密的详细信息,请参阅统一安全密码

用户锁定和登录暂停

用户锁定设置

用户帐户锁定和临时登录暂停是Artifactory用于防止暴力破解的两种机制。

临时暂停登录

临时登录暂停意味着当由于使用了不正确的身份验证凭证而导致登录尝试失败时,Artifactory将临时暂停该用户的帐户一段时间,在此期间Artifactory将忽略其他登录尝试。如果登录尝试多次失败,Artifactory将每次增加暂停时间,直到达到最大5秒。

用户帐号锁定

除了临时暂停登录之外,您还可以配置Artifactory在指定次数的登录失败尝试后锁定用户帐户。可以通过勾选“超过最大失败登录次数后锁定用户”,并指定最大登录失败次数字段。由于超过允许的最大失败登录尝试次数而被锁定帐户的用户最大登录失败次数)必须有管理员权限才能解锁其帐户。

解锁用户帐号

Artifactory管理员可以使用下面的“解锁所有用户”按钮解锁所有被锁定的用户安全总体配置配置用户锁定的界面。,管理员还可以解锁指定用户或一组用户安全模块用户管理。



管理员可以通过REST接口解锁单用户,一个用户群体同时锁定所有用户

密码过期策略

Artifactory允许管理员用户强制执行密码过期策略,强制所有用户定期更改密码。当密码过期策略生效时,未在指定时间间隔内执行密码过期策略的用户将被锁定,直到用户修改密码。

密码过期策略

启用密码过期策略
选中时,启用密码过期策略。
密码每(天)过期一次
指定所有用户必须更改密码的频率。
在密码过期前发送邮件通知
勾选后,用户会在密码过期前几天收到一封电子邮件通知。
强制所有用户密码过期
强制所有密码过期。所有用户下次登录时必须更改密码。

管理API密钥

作为管理员用户,您可以撤销系统中当前定义的所有API密钥安全|一般政府模块。

若要撤销系统中所有API密钥,请单击“移除所有用户的API密钥”。

若要撤销特定用户的API密钥,请导航到政府模块> >安全|用户并选择要编辑的相关用户。一旦进入编辑屏幕,其中一个可用的操作是“撤销API密钥”

一旦你撤销了一个API密钥,任何使用该API密钥的REST API调用都将不再工作。用户必须创建新的API密钥并更新使用它的任何脚本。

密码加密

Artifactory中的不同配置文件可能包含以纯文本形式存储的密码信息。

为确保密码安全,你可选择按Artifactory密钥加密


CSRF保护

从5.11版本开始,Artifactory可以阻止CSRF使用新的自定义头进行攻击,X-Requested-With用于内部UI调用。此功能可能需要对代理服务器进行修改(如果您正在使用代理服务器),以确保代理不会过滤掉此报头。

在版本5.11中,默认情况下禁用CSRF Protection。启用CSRF保护,添加artificial .csrf.filter.enabled = true标志。artifactory.system.properties$ ARTIFACTORY_HOME /等文件夹并重新启动Artifactory以应用更改。

从版本6.0及以后,CSRF保护在默认情况下是启用的,不能禁用。


加固机密安全

Artifactory使用一组加密参数(秘密)来连接到外部资源,例如它使用的不同数据库。2022世界杯阿根廷预选赛赛程虽然这些秘密可能存储在Artifactory配置文件中,但这会造成它们被暴露的风险。

为了不让秘密暴露,从版本6.6开始,当你启动Artifactory时,你可以从临时文件中预加载秘密。一旦Artifactory读取并成功使用秘密,文件就会被删除。

下面的代码片段显示了可以包含在这个临时文件中的参数示例。这些是Artifactory用来连接到PostgreSQL数据库的参数。

类型= = org.postgresql postgresql驱动程序。驱动url=jdbc:postgresql://postgresql:5432/artifactory username=artifactory password=JE2cyPQtEmJovMbxwEGrghre9EXcu4ANtTtPu9Lk3s15UPs73M

虽然我们建议只包含加密连接字符串等敏感信息,但此文件可能包含任何数据库配置参数,并且指定的任何参数(包括环境变量和系统属性)将覆盖数据库配置文件中的相应参数。

要使用这种机制加载参数,在启动Artifactory之前将它们放在以下临时文件中:

美元ARTIFACTORY_HOME / etc / .secrets / .temp.db.properties

每次重新启动Artifactory时执行

由于临时文件在Artifactory启动时被删除,因此每次重新启动Artifactory时都需要替换临时文件。



  • 没有标签