我想听听大家对实现 SSH 跳转箱的意见,因为我目前正在对此进行记录。我正在寻找一个非常轻量级的 Linux 操作系统,通过它可以访问我的内部网络。只有这台服务器的 22 端口不受防火墙保护,这样我就可以从任何地方登录。
SSH box
/ | \
server1 - server2 - server3
现在从安全角度来看,应该如何确保该主机不受损害?我原本打算每隔 x 小时自动重新安装一次操作系统,但设置起来可能会很麻烦 - 即使可能的话。
答案1
我一直使用跳转盒,我认为最简单的选择是虚拟机。这是一项如此简单的任务,不需要专用机器(除非您有数百名远程技术人员?)。有一台运行 SSH 和 PPTPD 或 OpenVPN 的虚拟机。
正如您所说,仅允许通过 itpables 等方式使用 SSH,然后使用所有常用的 SSH 最佳实践来保证其安全;不允许 root 访问,仅使用非字典密码或密钥,如果您来自外部的静态 IP,则仅允许那些 IP 进入,使用 fail2ban 或 iptables 规则禁止 5 次错误登录的 IP 15 分钟,等等(有很多关于强化 SSH 的信息)。
我认为没有必要每隔 X 小时重新安装一次操作系统。这是通过隐蔽性实现的安全性。如果机器被“入侵”,几个小时后再将其恢复,你怎么知道呢?此外,被利用的安全漏洞仍然存在,因此它会被重新利用。世界上许多人在服务器上向公众开放 sshd,在我看来,这似乎是不必要的步骤。也许将它移动到不同的端口,这将消除所有自动攻击,这些攻击只会填满你的日志,坦率地说,让我很恼火,但显然任何有决心的人(而不是机器)都会在一瞬间找到备用端口(再次强调,这是通过隐蔽性实现的更多安全性,我这样做只是为了没有如此庞大的日志)。