集中式审计服务器解决scheme,用于多服务器pipe理

我们有几十台Linux服务器和几个开发人员,每个开发人员都覆盖了部分服务器。

目前每个服务器都有一个pipe理员帐户,如果有人想要pipe理该服务器,他的pubkey将被添加到服务器pipe理员帐户的ssh authorized_keys中,以便他可以访问和编辑该服务器。 但是不是一个好的解决scheme:

  • 每个服务器的ssh端口不应该向公众开放,这是危险的。
  • 如果一个服务器被多个人使用同一个帐户访问,我们不能分辨谁login。
  • 这些服务器很难删除或撤销某人的ssh密钥。

所以我觉得应该有一个更好的解决scheme:

  • 一个集中的ssh审计和pipe理服务器。
  • 每个服务器只允许从这个服务器访问ssh端口。
  • 此服务器可以pipe理用户帐户,并访问每个服务器的权限。
  • 开发人员使用这个审计服务器来执行服务器操作,所有的操作都应该被logging下来,并在他正在做危险的事情时提醒其他人。
  • 如果这台服务器停机,那么有紧急访问解决scheme。

如果有人知道这样的解决scheme? 谢谢。

每个服务器的ssh端口不应该向公众开放,这是危险的。

这是不正确的,特别是如果你使用密码良好的通行短语,并已禁用密码login(你没有你)。

如果一个服务器被多个人使用同一个帐户访问,我们不能分辨谁login。

在你目前的情况下,这是正确的 – 共享帐户不是一件好事。 但是,通过适当详细的sshd日志,您可以查看谁login的时间。

这些服务器很难删除或撤销某人的ssh密钥。

有一些工具可以实现自动化 – 傀儡,厨师,等等 – 一般的configurationpipe理工具。

一个解决您的问题的一般办法是

  • 为每个人提供他们自己的账户(使用configurationpipe理工具自动化)
  • 停止使用共享帐户。
  • 给大家合适的sudo访问权限。
  • 使用rsyslog将所有日志发送到中央日志服务器。

这使您可以logging访问系统的个人用户。 通过适当的教育,您还可以logging个人用户对pipe理帐户的使用情况。

也许检查出Monkeyspere。 它使您能够设置一个中央密钥服务器,您可以在其中撤销用户密钥(将其视为ssh密钥的信任networking)

http://web.monkeysphere.info/getting-started-admin/

不要在服务器上为开发人员提供root权限! 使用一些像chef或cfengine3这样的中央pipe理工具,让开发人员编写应用于服务器的模板。 你可以将这些模板推到Git / SVN /无论跟踪更改。

另外,您可以使用VPN访问您的服务器。 你的服务器不需要对全世界开放,也不需要有公共ip。