我可以(实际上)仅阻止对我的国家/地区的 SSH 端口访问吗?

我可以(实际上)仅阻止对我的国家/地区的 SSH 端口访问吗?

我认为阻止访问 SSH 端口以仅允许我的国家/地区访问是一个显而易见的步骤,但我看不到切实可行的方法。

如果有关系的话,我在英国。我可以完全访问 Ubuntu 服务器。该服务器是一个远程云服务器。

这看起来太简单了,我不明白它是如何工作的:http://eminasif.wordpress.com/2014/01/14/how-to-restrict-server-ssh-access-or-any-port-only-for-specific-country-in-csf/

这显示了大量 IP,但我不知道如何将其转移到任何可用/实用的东西:http://www.nirsoft.net/countryip/gb.html

事实上,只有一个办公室的人需要访问(没有人远程访问)。但我不愿意设置我们连接时使用的当前 IP 地址,因为它似乎每 6 个月就会改变一次。

我确实有其他良好的安全措施 - 禁用根登录,高位加密密钥等,但这似乎是一个明显的额外步骤。

这值得这么麻烦吗?有可靠的方法吗?

答案1

这听起来像是一个巧妙的隐蔽安全例子。任何真正有兴趣入侵此类系统的人都可以很容易地找到一个开启代理或者租用服务器在英国境内,并从那里发起攻击。

与此同时,这也使得操作变得更加困难:

  • 必须使用启发式方法因为 TCP/IP 中没有“国家”之类的东西。启发式方法失败了,当它们失败时,最糟糕的时刻
  • 非标准设置将会让未来的维护者感到沮丧。
  • 关键备份应在全球范围内复制。您不想等到生产停机时才发现关键恢复路径被阻塞。

答案2

这似乎不是完全必要的。根据您的防火墙,它可能能够进行自己的 GeoIP 阻止。否则,您可以使用iptables“允许”阻止您在办公室内获得的 IP。

然而,你迄今为止所做的已经足够最多服务器。仅密钥身份验证使暴力破解变得不可行。您可以通过更改默认 SSH 端口进一步减少攻击。请注意,这不会提高安全性,但它确实减少了 90% 的来自不查找不同端口上的 SSH 的自动扫描器的虚假流量。

答案3

我发现大多数 IP 位置列表都不可靠。有些地址完全错误。

为每个需要 SSH 的人建立一个 VPN 会更简单,这样他们就可以从任何地方连接……并阻止公众进行 SSH 访问。

答案4

如果您只想允许基于 IP 的特定位置,假设您正在使用iptables,则必须设置默认INPUT策略,DROP然后单独允许每个地址块。

我认为,禁用密码验证并仅允许基于密钥登录服务器的开销会少得多,而且仍然相对安全。

相关内容