如何在任何地方使用相同的静态 IP

如何在任何地方使用相同的静态 IP

不确定这是否属于这里或者是一个愚蠢的问题,所以请随时告诉我离开这里(我对这一切都很陌生)。

因此,我需要能够通过 SSH 访问服务器,以便下载更改/管理某些应用程序。仅允许某些 IP 进行 SSH 访问,但有时我想四处移动并在不同的地方工作。有没有办法让我拥有一个静态 IP 并在任何地方使用它?我在想也许是远程桌面访问,但这意味着我需要另一台始终在当前办公室运行的计算机?还有其他选择吗?感谢您提供的任何信息!

答案1

获取静态 IP 的一种方法是租用某处 VPS。然后,您可以使用 SSH 或 VPN 连接到 VPS,然后使用 SSH 从 VPS 连接到服务器。

你可能会注意到,在此设置中,VPS 的使用方式类似于堡垒主机或跳转服务器。然而,它远远达不到你对堡垒主机所期望的安全标准。

具体来说,堡垒主机和服务器之间的通信预计会通过私有安全网络进行。但 VPS 和服务器之间的通信将通过公共互联网进行。

因此,您可以放弃 VPS 并在与目标服务器相同的数据中心设置真正的堡垒主机来提高安全性。

如果此时您决定,为了获得额外的安全性,堡垒主机将只允许来自白名单 IP 的连接,那么您已经完成了一个完整的周期。

如果出于某种原因,你不得不一遍又一遍地重复这个循环,那么你最终会添加多层堡垒主机。但多层堡垒主机并不能增加安全性。通过一台堡垒主机可能是一个好主意,但通过两台堡垒主机则很愚蠢。

显然,如果你确实经历了整个过程,那你肯定做错了。我可以看到错误可能出现在两个地方,其中哪一个是错误取决于你的安全策略:

  • 将堡垒主机的访问限制到白名单是愚蠢的,因为堡垒主机本身应该是唯一一个保持足够安全的主机,因此不需要那种保护。
  • 尝试从没有静态 IP 地址的机器访问堡垒主机只是试图绕过安全策略,不应该这样做。相反,应该先进入白名单位置,然后再开始进行维护。

如何保护并使用堡垒主机

如果我们假设堡垒主机和服务器都使用 SSH 协议访问,那么连接服务器的命令可能如下所示:

ssh -o ProxyCommand='ssh -W %h:%p username@bastion' username@server

在此命令中,重要的是与服务器的 SSH 连接直接来自客户端。堡垒仅用于传输,即使堡垒被攻破,您仍然在使用 SSH 连接服务器时拥有第二道防线。

为了获得这一层安全性,您必须:

  • 切勿将 ssh 代理转发到堡垒主机
  • 永远不要从堡垒主机上的 shell 通过 ssh 连接到服务器
  • 始终在 ssh 命令上使用该ProxyCommand选项连接到服务器。

为了尽可能保证堡垒主机的安全,应做到以下几点:

  • 确保堡垒除 之外没有其他监听服务sshd
  • 配置sshd为仅接受使用公钥的身份验证,不接受其他任何身份验证。
  • 始终保持内核和sshd堡垒主机的安全更新。
  • 从堡垒主机上卸载所有软件,这不是严格需要的。

您可以sshd在非标准端口上运行。这样可以避开大多数端口扫描程序。这只有一个目的,它显著减少了您在日志中看到的登录失败次数。但它并没有真正增加任何安全性,因为绝大多数通过端口扫描找到您服务器的人要么瞄准弱密码(这在仅接受基于密钥的身份验证的服务器上不起作用),要么瞄准已知的安全漏洞(当然,您会在攻击者有时间准备攻击特定漏洞之前修补这些漏洞)。如果您面临有针对性的攻击,那么无论端口号如何,攻击者都会找到您的服务器。

答案2

回答最初的问题:实际上您不能在任何地方使用相同的静态 IP。

您可以购买 VPS 并通过 VPN 连接到它,或者使用您当前的计算机作为中间链路。

您可以要求此服务器的管理员在服务器上实施端口敲击。首先,您应该远程登录到某个端口,然后能够在一段时间内通过 ssh 登录。在 Linux 上,它是通过 knockd 守护进程实现的。端口敲击在防止暴力攻击方面非常安全,同时提供了从任何地方 ssh 访问服务器的机会。

相关内容