我正在尝试为一组 Linux 服务器制定安全策略。我的组织中有 8 个人需要通过 SSH 进行根级别访问。
在过去的一家公司,我的解决方案是只允许使用 RSA 密钥,并为每个人提供一个拥有自己密钥的用户。
为了授予 root 权限,我将 UID 设置为 0。这不需要设置 sudo 或 su,人们似乎只是 sudo su - 或 sudo /bin/bash 反正。它还让我执行以下操作。
我修补了 Bash 以将 getlogin() 的返回值和命令记录到 syslog。然后,我记录了服务器上运行的所有内容以及与用户相关联的用户名。如果我使用 su 或 sudo,我只会获得用户 root。
我现在在一家新公司处于一种全新的状态,想知道是否有人有他们使用和喜欢的政策。
我们使用 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 权限,无论如何你必须信任他们......
| 归档时间: |
|
| 查看次数: |
2546 次 |
| 最近记录: |