假设管理员需要远程访问一台机器。root 登录被禁用,但他属于 sudoers 列表。我读到“sudo 命令”是一种很好的做法,因为你不会忘记你正在使用 root,而且 sudo 日志命令(这对我来说是令人惊讶的部分)。我需要跟踪管理员命令,但他可以升级到 root 这一事实使任务变得复杂,因为他可以删除日志。我当时想使用 selinux 来帮助我。我知道这个问题听起来很奇怪,但是:
有没有办法限制属于 sudoers 列表的管理员的某些访问权限,或者至少保护其操作日志?
管理员只能远程访问,不允许直接访问 root 权限。我给出这些规则是因为可以根据生成的 shell 限制对管理员的访问。
亲切的问候
答案1
问题是,如果你授予某人 sudo 权限,他们就可以使用以下命令成为 root 用户:
- sudo-i
- 须藤苏
- sudo sh
- sudo bash
- sudo {他们想要的任何 shell}
- sudo vi (认真的)
- sudo python
好消息是,你可以以半精细的方式限制 sudo 权限。以下是sudoers 手册页进一步详细说明一下。man sudoers
可以为您提供相同的信息。
阻止访问su
就比较简单了。这是 U&L 上的一篇文章显示了如何执行此操作。基本上,您创建一个名为“becomeroot”的组,并告诉 PAM 在允许 su 之前检查用户是否在该组中。不要将管理员添加到此组,这样就万事大吉了。但是,他们将有权更改此设置,因为他们有 sudo!
您需要信任您的管理员,或者删除他们的 sudo。如果日志记录是主要关注点,请导出 .bash_history 文件并将其记录在外部。这是另一篇 U&L 帖子(这些人真聪明)这描述了使用auditd
系统日志服务器。一旦日志离开盒子,您的管理员就无力阻止它,因为它们已经被揭发了!