避免在Maven中使用明文密码

安全LDAP集成:避免在Maven设置明文密码和控制登录回退

首先,一些背景
Maven的一个缺点是,它要求您将存储库密码以明文形式存储在settings.xml文件中。现在,一旦存储库的身份验证通过与外部安全服务(如LDAP)集成完成,这就不再仅仅是一种烦恼,而是开始成为一个真正的安全漏洞。SSL可以帮助您克服以明文传输密码的问题,但以明文存储LDAP/Active Directory密码则是另一回事,因为它为任何抓取您的设置文件的人打开了一扇门,让您可以在组织网络上访问所有资源:电子邮件帐户、共享文档、后台应用程序等。2022世界杯阿根廷预选赛赛程这当然不是一个受欢迎的副作用。

Artifactory包括一个开箱即用的LDAP集成,可以很容易地从web UI进行设置和测试。在将LDAP引入到artifact后不久,我们收到了一个鼓舞人心的消息功能要求Patrick Crocker的建议,这使我们实现了当前的加密密码支持,从而克服了Maven中的这个安全漏洞。

顺便说一句,你可以使用加密密码即使没有LDAP当然,就是不让别人看到你的明文密码是什么样子。

它是如何工作的?
首先,Artifactory管理员必须通过进入admin:Security:General并将密码加密策略设置为“Supported”或“Required”来启用密码加密。

避免在Maven中使用明文密码

这将根据存储为用户详细信息的一部分的安全密钥为每个用户激活安全密码生成。
从现在开始,任何用户都可以使用他的配置文件页面(您的登录名在右上角)来获得一个自动生成的Triple DES安全密码,以便在他的settings.xml文件中使用
只需输入您当前的密码,并将您的安全密码加密密码字段。
Artifactory还提供了一个示例服务器xml元素片段,供您使用settings.xml。

避免在Maven中使用明文密码

控制登录回退
一种常见的情况,经常出现在与外部认证系统集成是你想强迫所有用户只通过LDAP,除了几个特殊用户需要能够使用内部登录密码即使LDAP服务器无法访问(例如,当一个变化对LDAP服务器需要调整连接设置),或当不存在任何LDAP身份验证信息(如在CI构建服务器的情况下)。对于这类用户,只需在用户详细信息面板中保留“禁用内部密码”标志即可。

避免在Maven中使用明文密码就是这样!享受