/etc/shadow 权限安全最佳实践(000 vs. 600 vs. 640)

/etc/shadow 权限安全最佳实践(000 vs. 600 vs. 640)

我们有一个自动基线检查,如果权限/etc/shadow未设置为 000,则会发出警报。

收到这些警报的工作人员已经开始质疑 000 的合理性,因为 root 可以在任何想要的地方读写(所有文件对于 root 来说自动至少为 600),但 root 无法执行没有设置执行权限的文件(没有自动 700 root 文件权限)。

将权限设置/etc/shadow为 000 是在许多基线中,例如官方 Red Hat GitHub 存储库中的 Ansible playbook(针对 PCI DSS、CJIS、NIST、CCE)。

/etc/shadow为什么应该是 000 而不是功能看似相同的 600?背后有什么故事吗?或者我对 Linux 对 root 用户的限制/宽容程度的假设是错误的?

答案1

将权限设置为 000 背后的想法/etc/shadow是通过确保访问由守护进程控制来保护该文件不被守护进程访问,即使以 root 身份运行也是如此。DAC_OVERRIDE 能力。从 Fedora 12 和 RHEL 6 开始,基于 Fedora 的系统运行守护程序时无需DAC_OVERRIDE,但授予DAC_OVERRIDE管理员登录会话权限(以便管理员看不到更改)。

较低的工艺能力了解详情。

这依赖于这样一个事实:600 和 000 权限在功能上并不相同:600 向文件所有者授予读写权限,而 000 只向具有该DAC_OVERRIDE功能的进程授予访问权限。传统上,始终以 root 身份运行DAC_OVERRIDE,但情况并非必须如此。

(SELinux 也可以用来限制 root 的能力,但这不是这里涉及的内容。/etc/shadow它有自己的 SELinux 上下文,提供额外的访问控制。)

相关内容