我们隐藏了一个GitLab实例(以及其他几个应用程序)位于单个Apache 反向代理,即在授予较低级服务的进一步访问权限之前进行用户身份验证(OpenID)。
这使我们能够一向公众公开的服务(Apache),一服务可能受到攻击。
由于 Gitlab 提供访问令牌(技术上:基本身份验证)为了授予对其 git 存储库的访问权限,我们被迫允许 git URL 通过我们的代理,而无需任何身份验证,以便由 Gitlab 本身对其进行身份验证。
从技术上讲,这打开了第二个攻击媒介,因为未经身份验证的用户可以直接访问 Gitlab。
有没有可行的设置可以不打开第二个向量?比如
- 用户发送带有 token 标头的请求
- Apache 尝试使用此令牌对 Gitlab 进行身份验证
- 只有在身份验证成功后,Apache 才会让请求传递给 Gitlab