【发布时间】:2022-04-11 19:39:24
【问题描述】:
我的 SSH 流量如下图所示。
要求是阻止所有 SSH 流量,并只允许从 F5 LB 访问少数项目列表,这些项目将源自 DMZ 区域。
Node1 和 Node 2 也是服务 SSH 流量的内部网络的一部分,这些节点/服务器托管了大量的 Repos,我们不希望通过 DMZ 区域打开所有 repo 访问。
我了解最终用户只能克隆添加了 SSH 密钥的存储库,但是来自 DMZ 的用户可以将他的密钥添加到其他不得被批准从 DMZ 区域访问的存储库并访问托管在 Bitbucket 上的存储库服务器。
要实现的目标:
阻止所有 SSH 流量,只允许从 F5 LB 访问少数项目列表,这些项目将源自 DMZ 区域。
git SSH 流量将携带诸如“ssh://git@my.domain.com:7999/prj_name/repo_name.git”之类的 URL
问题:
-
如何在此环境中对 SSH 流量实施访问控制?
-
我尝试设置 HAproxy,但无法在 ssh url 上阻止/应用 ACL。 HAproxy 是否有助于使用 url 字符串阻止 ssh?如果是,请指导/分享一个用于 SSH URL 阻止的示例 HAProxy 规则。
寻求这方面的建议/指导。
提前感谢您的关注:)
【问题讨论】:
-
Git 实际上只是运行 ssh,因此除了告诉它适当的 ssh 命令和 URL 之外,不涉及 Git 端配置。
-
您将无法在负载均衡器上执行此操作。如果您需要控制对 git 存储库的访问,请找到提供适当级别访问控制的 git 托管平台。
-
git 存储库托管在 Bitbucket DC 平台上(如图节点 1 和节点 2 所示),假设有两个网络(内部和外部)并且目标是应用 SSH ACL来自 DMZ 网络的外部 c-name。
标签: git ssh bitbucket acl haproxy