我已经创建了一个跳转主机/堡垒,它的作用就如同跳转主机到某些主机:端口一样。
我知道我可以通过以下方式限制用户/群组:
Match User Alice
PermitOpen some.host.tld:80 another.host.tld:22 third.host.tld:443
由于某些要求,我需要能够使用 SOCKS 代理。这可以通过以下方式实现:
PermitTTY yes
PermitTunnel yes
AllowTcpForwarding yes
一切按预期进行。
但是……我如何确保只有客户端明确允许的应用程序(例如 Firefox)使用 SOCK 代理,而不是客户端上的某个随机其他应用程序?我可以使用 SSH 服务器上的连接来限制会话/应用程序吗?
我确实尝试过“ MaxSessions 1
”,但遗憾的是它似乎不适用于 SOCKS 代理。
答案1
验证 socks5 使用情况的一种方法是使用具有基本身份验证的反向代理将流量转发给它,但您将无法保护它免受可以在本地查看环回设备中端口的其他用户的使用。 SSH 的动态端口转发将信任任何有权访问它正在侦听的机器的人。 但也许,如果您设法侦听-D
unix 域套接字,您可能能够设置命名管道的用户+组权限并对非 root 用户采取某种形式的安全措施。 但 ssh 的用户手册没有提到任何用于-D
socks4/5 使用动态端口转发 () 的 unix 域套接字转发。 我认为这是一个长远的目标。 您应该信任登录到机器的人。
这里有一个解决方案: 如何禁止 ssh socks5 代理连接到本地主机