linux – 限制切换到root帐户的并发用户数量?

前端之家收集整理的这篇文章主要介绍了linux – 限制切换到root帐户的并发用户数量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这适用于Ubuntu 14.04和Centos 7.

我需要限制以root身份主动运行的用户数量.即在CLI上以root用户身份登录.

基本上,我希望一次只有一个用户能够以root身份运行命令.这里的目的是审计.

我查看了/etc/security/limits.conf中的设置限制,但pam_limits.so模块似乎只影响登录.或登录shell.不确定.但无论具体细节如何,它确实会阻止用户多次SSH到一个盒子,但不会阻止多个用户通过“sudo su”成为root用户.因此,设置limits.conf仍然可以允许多个用户一次以root用户身份登录.

这是我试过的limits.conf行限制了这个:

root            hard    maxlogins            1

接下来,我尝试限制@admins组中的用户.我认为那些用户是唯一被允许su su su到root的用户(基于我们现有的自定义sudo规则).

@admins            hard    maxlogins            1

这似乎做我想要的但看起来很笨/错.称之为直觉 – 我不太了解我认为这个错误.

最后,“为什么?”.为什么我有此要求?

我们正在尝试实施控制以满足PCI-DSS 3.1要求8.5“不要使用组,共享或通用ID,密码或其他身份验证方法” – 强调“共享”.在Windows环境中,您只授予用户执行任何操作的权限,并且没有人共享主管理员帐户. Linux环境的设计使得某些事情,您真的希望以root用户身份登录.在Linux环境中必须有符合PCI的方法解决此问题.

解决方法

解决了我的问题: Log all commands run by admins on production servers

摘要

1)安装auditd

2)在audit.rules中使用这些规则审核execve系统调用

-a exit,always -F arch=b64 -F euid=0 -S execve
-a exit,always -F arch=b32 -F euid=0 -S execve

3)将audit = 1添加到grub.conf

Centos和Ubuntu的示例:

#Centos
grep audit=1  /etc/default/grub || \
( sed -i.bak -e '/^GRUB_CMDLINE_LINUX=/ s/" *$/ audit=1"/' /etc/default/grub && \
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg )

#ubuntu
grep audit=1  /etc/default/grub || \
( sed -i.bak -e '/^GRUB_CMDLINE_LINUX=/ s/" *$/ audit=1"/' /etc/default/grub && \
/usr/sbin/update-grub )

4)将这一行放在这些文件/etc/pam.d/{login,kdm,sshd}中

session  required                pam_loginuid.so

(我包括摘要,因为链接解决方案违反Serverfault方式)

猜你在找的Linux相关文章