我注意到我的/etc/sudoers
所有者root:root
是0440
:
$ 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 访问。通过默默无闻的安全性阻止的攻击比其所认为的要多。