我有以下设置:
我有一台使用 XEN 运行多台虚拟机的服务器。所有虚拟机都连接到各种(虚拟或物理)网络。我有互联网(坏人)、DMZ 网络和内部网络(只有好人)。我用(虚拟)路由器将网络分开,以防止未经授权的流量被阻止。
现在,如果需要进行远程修复,我希望能够通过 SSH 从 LAN 和互联网访问所有机器。从互联网,所有 SSH 访问都会重定向到 DMZ 中的一台机器。现在我可以从那里做两件不同的事情:
- 在我的笔记本电脑上(互联网上的某个地方)保存所有机器的密钥,然后连接到 SSH 机器。我建立了一个通往内部路由器的隧道,通过它我可以访问内部网络。
- 在笔记本电脑上有我的 SSH 机器的密钥,并通过虚拟网络从一台机器转到另一台机器。因此,路由器的密钥在 SSH 机器上,依此类推。
我自己的建议是使用选项 1,再加上从那里建立到 DMZ/LAN/VPN 中每台 PC 的隧道的可能性(iptables 此时处于活动状态)。
你会怎么做?你有什么建议?还有更好的解决方案吗?
答案1
注意:这是我作为一名对安全感兴趣的人的个人观点。我不是专家,也没有任何资质。
可能的安全风险:
我认为拥有 DMZ-ed SSH 服务器存在安全风险,因为 DMZ-ed 服务器意味着防火墙将简单地传递任何未知/未明确阻止的连接尝试到该服务器,这意味着该服务器容易受到探测,最坏的情况是受到攻击。
建议1
您是否考虑过在 LAN 内安装 VPN 服务器?这样,您可以删除 DMZ,并且仍可通过 VPN 的安全隧道在 LAN 后面进行访问。
专业版:VPN 允许从互联网到 LAN 建立安全、加密的连接。如果您有 VPN,则不需要 DMZ - 这意味着希望它对您来说更安全。
反对意见:VPN 服务器可能难以设置,或者需要花钱设置,并且会给 IT 管理增加另一层复杂性。
把所有的鸡蛋都放在一个篮子里(所有安全的 SSH 密钥都放在笔记本电脑中)并不是最好的方法(场景:如果您丢失了笔记本电脑) - 但您可以随时使用 TrueCrypt 或其他软件进行全盘加密,因此如果您的笔记本电脑离开您的手,至少您的数据将被完全加密,并且没有坏人可以试图滥用这些数据。
如果你没有资源/时间投资 VPN - 如果你有一些现有的 NAS 盒(Synology、QNAP 或其他品牌),他们可能具有 VPN 服务器作为模块,您可以下载并轻松安装和设置(对于我拥有并亲自测试过的 Synology 来说确实如此)。
建议2
或者如果 VPN 确实不可行(无论出于何种原因)——那么也许可以考虑使用远程支持软件?
(GotoAssist、TeamViewer、Logmein 等等)。
在 LAN 内您信任的机器上安装客户端,然后只需从互联网连接到该机器即可。然后使用该机器作为跳转点,您可以在任何地方使用 SSH,就像您坐在 LAN 内的机器前面一样。
专业版:您可以将 SSH 密钥保存在 LAN 内的 PC 中。受公司防火墙保护。 反对意见:需要第三方软件才能允许从互联网连接到您的 LAN。并且该软件可能需要付费。
个人体验:TeamViewer 确实非常易于使用,个人使用免费。此外,TeamViewer 还提供了通过 VPN 连接的选项(遗憾的是,我还没有亲自测试过,但我看到了安装 VPN 驱动程序的选项)——这增加了连接安全性。
希望这可以帮助。