多管理员 root 访问的最佳实践

Jim*_*Jim 3 linux root

我正在尝试为一组 Linux 服务器制定安全策略。我的组织中有 8 个人需要通过 SSH 进行根级别访问。

在过去的一家公司,我的解决方案是只允许使用 RSA 密钥,并为每个人提供一个拥有自己密钥的用户。

为了授予 root 权限,我将 UID 设置为 0。这不需要设置 sudo 或 su,人们似乎只是 sudo su - 或 sudo /bin/bash 反正。它还让我执行以下操作。

我修补了 Bash 以将 getlogin() 的返回值和命令记录到 syslog。然后,我记录了服务器上运行的所有内容以及与用户相关联的用户名。如果我使用 su 或 sudo,我只会获得用户 root。

我现在在一家新公司处于一种全新的状态,想知道是否有人有他们使用和喜欢的政策。

ski*_*inp 7

我们使用 sudo 配置来允许来自组的命令。为了防止 sudo -i 或 sudo bash,我设置了一个别名,包括我禁止使用的所有已知 shell!在定义小组可以做什么。这样,所有使用 sudo 运行的命令都会记录到系统日志中。我安装并允许的唯一 shell 是rootsh,它记录了从中完成的所有操作。

Cmnd_Alias SHELLS= /bin/sh, /bin/ksh, /bin/bash, /bin/zsh, /bin/csh, /bin/tcsh, /bin/login, /bin/su
%admin ALL = (ALL) ALL, !SHELLS
Run Code Online (Sandbox Code Playgroud)

显然,没有什么可以阻止管理员

cp /bin/bash /tmp/shell
sudo /tmp/shell
Run Code Online (Sandbox Code Playgroud)

为了绕过这种安全性,但你仍然给他们 root 权限,无论如何你必须信任他们......

  • sudo 可以通过 syslog 进行日志记录,如果你让它在主机外(到一个受限的第二个系统)记录事情,你至少可以有某种审计跟踪,至少对于第一个可疑命令,如果你需要的话之后。 (3认同)
  • 任何未列出非常具体的命令(具有非常具体的功能)的 sudo 配置都是不安全的 (2认同)