如何阻止 ssh 隧道流量?

网络工程 ssh 隧道
2021-07-11 15:53:47

如果有人要建立往返工作或家庭的 ssh 隧道,有没有办法防止未来的 SSH 隧道流量?

我知道 websense 可以阻止流量,但使用 ssh 隧道的用户可以绕过 websense 或其他类似产品,因为它无法解密或进一步查看数据包以区分合法或非法流量。

从一些阅读和研究中,我发现你可以做的一些事情如下: - 完全关闭 SSH;根本不允许 - 将 ssh 访问限制为仅需要他们访问的用户并拒绝其他所有人 ssh 访问 - 创建自定义协议以按目的地将 ssh 流量列入黑名单或白名单(假设列表是可管理的) - 查看 ssh 流量日志,查看目标 IP 并检查它们是否解析为合法或允许的设备,或者检查是否有比隧道流量更多的常规互联网流量,您可以拒绝/黑名单该 IP

但是我想知道,除了这些选项之外,是否有可能通过中间人攻击来规避上述选项?

或者是否有其他选项可以阻止 ssh 隧道流量,甚至是某些可以过滤/阻止此流量的网络设备?

谢谢您的帮助。

3个回答

阻止出站 ssh 连接,从而阻止任何隧道,需要通过深度数据包检查完全封锁出站连接。查看端口将是 100% 没用的。您必须查看实际的数据包负载才能知道它是 SSH。(这就是 websense 正在做的。)

唯一的其他选择是设置“代理”主机。锁定配置,使 ssh 客户端服务器不允许隧道,然后只允许该机器进行出站 ssh 连接——当然,这也包括保护系统,否则人们可以运行他们想要的任何 ssh 软件。

还有另一种方法,如果您只是想阻止人们使用 SSH 作为代理解决方法,为什么不将其速率限制为 20kB/秒左右,这对于网络来说已经足够痛苦了,但对于控制台使用来说却是难以察觉的。

如果您想允许以正常速度传输文件,这将不是一个选择。

如果您控制 SSH 服务器和防火墙,那么您可以通过阻止访问 SSH 服务器使用的任何端口(默认为 22)来控制访问。除非该端口先前已打开,否则入站连接可能会被阻止,尽管您可能会发现允许出站连接。通过正确的设计和规划,您可以按照自己喜欢的细粒度或粗粒度方式控制访问。

如果您不控制 SSH 服务器,则无法保证它使用的端口,因此仅根据端口进行过滤将更加困难。

如果您需要允许每个人在您的网络中访问 SSH 服务器,但在网络之外时只允许少数人访问,端口敲门是一个很好的读物。