【发布时间】:2018-03-25 16:51:25
【问题描述】:
如果我的settings.xml 文件中有一个带有 HTTP(不是 HTTPS)URL 的 (Nexus) 远程存储库的用户名/密码,这个用户名/密码会以明文形式发送到远程服务器吗?
我想知道我们面向公众的仅通过 HTTP 密码验证的 Nexus 服务器是否存在潜在的安全问题。
【问题讨论】:
如果我的settings.xml 文件中有一个带有 HTTP(不是 HTTPS)URL 的 (Nexus) 远程存储库的用户名/密码,这个用户名/密码会以明文形式发送到远程服务器吗?
我想知道我们面向公众的仅通过 HTTP 密码验证的 Nexus 服务器是否存在潜在的安全问题。
【问题讨论】:
Maven 使用 HTTP 基本身份验证来发送凭据。一个典型的 HTTP 标头看起来像这样:
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
QWxhZGRpbjpvcGVuIHNlc2FtZQ== 实际上是 username:password 组合的 Base64 编码表示。这不提供任何安全性,但也不是纯文本。
更多HTTP Basic认证详情,可以查看here。
大多数构建工具,如 Maven、Ant、Gradle、SBT、npm,都使用 HTTP Basic。这并不像应有的那样安全。通过 HTTPS 使用它可以让您感觉更安全。 :)
【讨论】: