为什么 /etc/sudoers 不可读?

为什么 /etc/sudoers 不可读?

我注意到我的/etc/sudoers所有者root:root0440

$ ls -l /etc/sudoers
-r--r----- 1 root root 755 feb  3  2020 /etc/sudoers

请注意,它不是世界可读的。

我正在努力思考了解谁可以使用可能存在哪些安全风险sudo

答案1

  • 不必要的信息泄露;如果任何帐户或进程受到威胁,攻击者可能会读取 sudoers 配置并使用该信息来找出下一个目标(帐户、允许的程序……)
  • 不必要的世界可读文件可能会为拒绝服务攻击创造条件,例如 Sendmail 文件和锁定机制https://securitytracker.com/id/1004368(世界可读的文件也可以由许多进程打开;这可能会降低文件的 I/O 性能,这可能sudo与数据库或日志守护进程无关,但可能有害)
  • 未知的漏洞让攻击者可以通过一些几乎被遗忘ioctl或有缺陷的音频接口来做一些真正聪明的事情,而不必要的世界可读文件为他们提供了足够的立足点来攀登

答案2

简短的有问题的答案:

长答案:

你的观点是完全可以接受的。 GNU/Linux 在设计时就没有考虑到默默无闻的安全性。一些例子:

  • /etc/passwd- 默认情况下,系统中的每个人都可以发现存在的任何用户和组。这很好,因为唯一的秘密是他们的密码,而不是他们的存在。
  • /etc/ssh/sshd_config- 您系统中的每个人都可以分析您的 SSH 服务器的配置方式。这很好,因为唯一的秘密是 SSH 用户的密码和私钥,而不是 SSH 服务器的工作方式,也不是他们的公钥。

也许 sudo 开发者想隐藏议会以使其国家更安全。谁知道。

答案3

能够以具有sudo特权的用户为目标,使妥协变得更容易。同样的原因/etc/shadow是只读的,并且只能由 root 访问。通过默默无闻的安全性阻止的攻击比其所认为的要多。

相关内容