拒绝从代理建立的 ssh 连接

拒绝从代理建立的 ssh 连接

我看到问题涉及阻止不属于特定区域的用户的访问。我确信阻止是可能的,但我看到有一个解决方法。

  1. 我从该地区的代理登录这里
  2. 我给URL 作为要访问的站点。
  3. 现在,我位于该区域的代理中,并且也可以登录服务器。

有没有办法拒绝这种被规避的尝试iptables?我认为这是一个非常危险的安全问题。

答案1

这个问题看起来很困惑,但我认为困惑是问题的一部分,所以我会尽力提供足够的背景来澄清事情。

HTTP协议SSH是不同的协议。 HTTP 由 HTTP 客户端(称为 Web 浏览器)和 HTTP 服务器(称为 Web 服务器)使用。 SSH 由 SSH 客户端和 SSH 服务器使用。 HTTP 协议有代理的概念,其中网络节点接收来自客户端的 HTTP 请求并将其转发到服务器,并将响应从服务器转发回客户端。 SSH 没有技术意义上的代理;然而,一台允许不实际使用它的人在其上使用 SSH 客户端的机器就充当了一般英语意义上的代理。

http://www.freeproxy.ca/列出 HTTP 代理。它们对于建立 SSH 连接没有用处。

http://www.serfish.com/console/是一台运行 SSH 客户端的机器,该客户端由可公开访问的 Web 界面驱动。如果您使用Web浏览器连接到serfish,并在那里运行SSH客户端,那么就SSH服务器而言,您的连接来自serfish,句号。 SSH 服务器无法知道 SSH 客户端是由不在托管 Serfish 的数据中心内的人员驱动的。请注意,无论您是直接通过 HTTP 还是通过 HTTP 代理访问 Serfish 都没有关系。 SSH 服务器无法知道任何相关信息。

一般来说,服务器只能知道用于连接到它的最后一跳。这是安全问题吗?是的,但算不上危险。按地理来源过滤连接无法可靠地完成;任何有一定能力的系统管理员都知道这一点。地理起源可以提供有关连接是否可疑的线索,但它不是唯一的因素。世界各地都有被恶意软件感染并用作中继的机器。

SSH 的安全性不依赖于连接的地理来源。按地理来源进行过滤仅出于两个目的:

  • 对于内容分发,限制 95% 的非技术受众可以做的事情(设置代理需要比大多数人愿意做的更深入的挖掘),并让 5% 的技术受众变得更加不方便(代理需要付费或搜索,并降低性能)。
  • 作为与帐户的连接来自不寻常位置的提示 - 但这通常是在比国家/地区更细粒度的级别上完成的,因为国家/地区太宽泛而无法提供非常有用的提示。一些系统使用它来决定是否需要第二个身份验证因素。

无法跟踪 SSH(或任何)连接的最终来源的另一面是,一定程度的隐私是可能的。

答案2

因此,在使用 HTTP 时,可以通过从客户端查找特定标头来完成此操作,例如:

HTTP_CLIENT_IP
HTTP_X_FORWARDED_FOR
HTTP_FORWARDED_FOR
HTTP_FORWARDED

但据我所知,SSH 不存在类似的标头和技术。

代理黑名单这可能有用,但这绝不是一个安全的解决方案。

相关内容