![常见的服务器隔离技术有哪些?](https://linux22.com/image/701061/%E5%B8%B8%E8%A7%81%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%9A%94%E7%A6%BB%E6%8A%80%E6%9C%AF%E6%9C%89%E5%93%AA%E4%BA%9B%EF%BC%9F.png)
我们有一些开发服务器,是外包公司使用的,从这些开发服务器中,它们可以ssh
变成生产数据库服务器,你能告诉我如何隔离服务器之间的访问吗?
答案1
更改生产服务器上的登录名和密码?也许在路由器上设置防火墙?
如果您唯一关心的是 SSH,并且开发服务器必须能够以其他方式访问生产服务器,那么您可以禁用这些特定凭据的 shell(即将 shell 设置为/sbin/nologin
或/bin/false
。)
最后,如果这些特定帐户确实需要具有 SSH 访问权限,但不能从这些服务器访问(尽管此时我建议您重新考虑您的安全策略),您可以通过将允许的 IP 地址列入白名单(更好)或将不必要的地址列入黑名单(不太好)来拒绝它们访问:
白名单:
在 /etc/hosts.allow 添加:
sshd: [your allowed addresses/subnets]
sshd: [your allowed addresses/subnets]
sshd: [your allowed addresses/subnets]
(可多次输入)
在 /etc/hosts.deny 中添加:
sshd: ALL
黑名单:
相同,但相反。在 /etc/hosts.deny 中添加:
sshd: [disallowed addresses/subnets]
无需在 /etc/hosts.allow 中添加任何内容。
然后重新启动您的 SSH 服务器(sshd 服务,而不是整个服务器。)以防万一,如果 SSH 是您访问这些服务器的唯一方式,请在执行此操作时保持连接运行,这样您就不会在某些东西无法正常工作而您必须修复它的情况下失去访问权限。
答案2
您可以在您的环境中设置一个堡垒主机,以允许 ssh 进入生产环境并在防火墙中将其 IP 列入白名单。
对于身份验证和授权,您可以设置集中式身份管理解决方案。有一些开源解决方案可以让你做到这一点,免费IPA是其中之一,它是一款免费的 IDM 解决方案。它可以帮助您从一个中心位置管理 Linux 用户和主机,并为您的所有系统、服务和应用程序启用单点登录身份验证。它还可以帮助您通过身份授权策略控制谁有权访问什么。