我遇到了一个有趣的问题。
我目前从 Hetzner(一家德国托管服务提供商)租用了几台服务器。每台服务器都配有软防火墙,并可执行网站托管/数据库等操作。
我想租用一台更强大的服务器,并在其上设置一个类似 ESXi 的虚拟机管理程序,使用一个连接到物理 NIC 和 pfSense VM 的 vSwitch,以及从 pfSense VM 到其他 VM 的另一个 vSwitch。不幸的是,Hetzner 似乎没有在公共接口和您的服务器之间提供硬件防火墙(只能使用软防火墙)。
在公共场合运行 ESXi (v5.5) 会带来哪些安全隐患?建议进行快速研究spiceworks 上的这个帖子简而言之,就是禁用 SSH/Console(telnet?)访问,并设置正确的 SSL 证书和非常复杂且不可猜测的用户名/密码对。这显然意味着单入口攻击点。
答案1
您可以限制通过 ESXi 防火墙允许的 IP 地址。
这确实是您强化它所需要的全部内容。将您的管理锁定到特定 IP 地址非常安全。当然,也要遵循有关密码等的其他最佳实践。
只需确保完全检查防火墙并将所有内容锁定到您的管理 IP 即可。
非静态 IP 替代方案
锁全部端口降至 127.0.0.1 如上所述除了用于 SSH。 将 SSH 锁定为仅使用私钥/公钥进行身份验证并禁用 ChallengeResponseAuthentication 和 PasswordAuthentication。这是非常安全的。
使用您最喜欢的 SSH 客户端通过命令行连接到服务器,例如:
ssh my.vmhost.rackhoster -L80:localhost:80 -L443:localhost:443 -L903:localhost:903
然后让 SSH 会话保持运行并将浏览器指向https://localhost/
,它会自动将端口 443 转发到 ESXi 主机。如果您已经在本地计算机上使用端口 443,请更改端口(即改为 -L8443:localhost:443 -> https://localhost:8443/
)。端口 80 也一样。端口 903 用于控制台。
如果你丢失了私钥,那么你就完蛋了把它备份!:-)
为了超级安全,请确保您的私钥使用好的密码加密。 别忘了!
答案2
使用 ESXi 内置防火墙关闭不需要的端口,并将对开放端口的访问限制在已知 IP 地址范围内。
如果您在家中不使用固定的外部 IP 地址(像大多数人一样),这可能会很有挑战性,因此您最终可能会限制对 Internet 上其他一些服务器的地址的访问。
答案3
为什么要在公共网络上运行 ESX?您不能只使用 pfSense FW 作为“公共端点”,而将其他所有内容设为私有吗?这就是我要做的。