在 Proxmox 主机和虚拟机上进行 SSH 访问的正确安全设计

在 Proxmox 主机和虚拟机上进行 SSH 访问的正确安全设计

我理解,为了安全起见,人们必须时刻保持警惕。

我的情况:

我将在 Proxmox VE 上安装 3 个 KVM 虚拟机

  1. Apache/Tomcat 服务器
  2. 运行 mysql 的服务器
  3. 运行 mongod 的服务器

    • 所有这些虚拟机都将禁用直接 root 登录,并且仅使用密码短语 ssh 密钥。每个虚拟机都将安​​装 CSF 防火墙引擎,并允许基于 ip 和端口的流量。

现在的问题是

当主机服务器与提供商位于同一位置时,我有 3 种设置远程登录的选择。

选择 1

a. 启用从互联网直接对所有机器的 SSH 访问,这里的风险是我不想将 mysql、mongodb 和应用服务器直接暴露给外界,即使它只是 passprhrase-protected-ssh-key。

选择 2

a. 仅启用 Proxmox 主机的 SSH,然后将我的 ssh 密钥存储在此处。这看起来很可怕,因为任何破解我登录 Proxmox 的人都会拥有所有机器的密钥(即使它们受密码保护)

选择 3

a. 在另一台 VM/路由器上创建 openvpn,并允许防火墙规则仅授予对具有该 VLAN 段的虚拟机的 ssh 访问权限,这样我就可以将 SSH 密钥存储在我的笔记本电脑/计算机上,而不是任何服务器上。

我是一家初创公司,在管理 Linux 服务器方面人才非常有限。我可以浏览 Linux,但不太擅长系统管理,但在过去几周限制访问和全面加强 Linux 系统的过程中,我阅读了足够多的 Linux 安全方面的资料。我只想遵循规则,只使用/安装那些绝对需要的工具。

第二个问题是,我也想知道这是否正确 - 我倾向于默认停止 Proxmox 的 Web 界面,并根据需要启动/停止为该 Web 界面提供服务的 apache2。因为 apache 界面非常强大,可以直接提供每个虚拟机的控制台访问,而无需任何 SSH 密钥

我们也非常欢迎任何想法和一般建议或指点。

答案1

我从您的帖子中了解到,您希望保护您的服务器免受 SSH 攻击。保护服务器的简单方法是在 proxmox VE 和 VM 中配置 Fail2ban。Fail2ban 将阻止 ssh 攻击并阻止输入错误密码次数最多的 IP。试试看。继续使用 Fail2Ban。

相关内容