打开端口 22 以通过网络进行 ssh 访问是否存在风险?

信息安全 SSH
2021-09-02 09:32:22

背景

我们有自己的数据中心,其中包含平台特定环境,并且每个环境都是隔离的。每个环境也有 3 层(Web 服务器、应用程序服务器和数据存储)。我们还计划引入需要与平台特定环境主机通信的自动化框架(环境)。

网络

private datacenter [Automation environment host runs commands ----> <ssh> ---> platform hosts]

关心

一些团队成员将此作为安全问题提出。特别是通过 ssh 访问第 3 层中的数据库服务器。现在我更像是一名开发人员而不是一名运维人员,所以我想更全面地解释为什么这可能会带来太大的风险。

有人可以清楚地强调为什么不推荐这样做吗?或者也许这不是风险,如果可以,请强调实施它的注意事项。

谢谢。

2个回答

有人可以清楚地强调为什么不推荐这样做吗?

因为任何正在运行的服务都会增加您的攻击面。尤其是使用支持网络的服务时,您总是处于危险之中。我认为没有人可以给您比这更具体的答案,因为从安全角度来看,SSH 实现往往相当不错。尽管如此,总有可能发现漏洞,允许任何人向您的服务器发送正确的数据包访问权限,或者您严重错误地配置了您的服务器。

但是,即使您认为软件本身是完美无缺的,也有几个原因可以让您重新考虑您的方法。显然,您没有告诉我们有关您的设置的详细信息,但在现实世界中的密钥管理、审计跟踪和防火墙始终是一个问题。因此,寻求另一种方法可能是一个好主意。

最终,您需要远程访问您的服务器,但您可以做一些事情来阻止坏人。

不要在应用程序使用的 IP 上运行面向互联网的 SSH。理想情况下,使用专用主机充当跳转盒。使用端口敲击。使用密钥对。使用fail2ban。不允许 root 登录。限制对命名组的访问。不要使用共享登录。不允许在表示层以下直接访问。