linux – 用于多个服务器管理的集中式审计服务器解决方案

我们有几十个 Linux服务器和几个开发人员,每个开发人员都有部分服务器.

目前每个服务器都有一个管理员帐户,如果有人想要管理该服务器,他的pubkey将被添加到服务器管理员帐户的ssh authorized_keys中,这样他就可以访问和编辑这个服务器了.但这不是一个好的解决方案:

>每个服务器的ssh端口都不应该向公众开放,这很危险.
>如果一个服务器由具有相同帐户的多个人访问,我们无法确定谁已登录.
>很难删除或撤销某人服务器的ssh密钥.

所以我认为应该有一个更好的解决方案:

>一个集中的ssh审计和管理服务器.
>每个服务器仅允许从此服务器访问ssh端口.
>此服务器可以管理用户帐户,以及每个服务器的访问权限.
>开发人员使用此审计服务器执行服务器操作,应记录所有操作,并在他执行危险操作时提醒其他人.
>如果此服务器已关闭,则有紧急访问解决方案.

如果有人知道这样的解决方案吗?谢谢.

解决方法

Each server’s ssh port should not open to the public,it is dangerous.

事实并非如此,特别是如果您使用密码具有良好的密码短语并且已禁用密码登录(您还没有密码登录).

If one server is accessed by multiple person with the same account,we cannot tell who is logged in.

在您当前的情况下,这是正确的 – 共享帐户不是一件好事.但是,适当的verbose sshd logs你可以看到谁登录时.

It is hard to remove or revoke someone’s ssh key for those server’s.

有一些工具可以实现自动化 – 木偶,厨师,安全等 – 一般的配置管理工具.

解决问题的一般方法

>为每个人提供自己的帐户(使用配置管理工具自动化)
>停止使用共享帐户.
>给每个人合适的sudo访问权限.
>使用rsyslog将所有日志发送到中央日志服务器.

这允许您记录访问系统的各个用户.通过适当的教育,您还可以记录个人用户对管理帐户的使用.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...