Dre*_*rew 8 ubuntu su sudo dpkg hardening
我正在阅读 Ubuntu 14 强化指南,这是建议之一:
确保只有 sudo 组中的用户才能运行 su 命令以充当(或成为)root 用户似乎是一个明智的想法:
dpkg-statoverride --update --add root sudo 4750 /bin/su
我查看了dpkg-statoverride
命令,但我仍然无法弄清楚上面的命令到底在做什么?
这似乎意味着默认情况下 Ubuntu 14 允许任何人 sudo。为了测试,我创建了一个新用户,以该用户身份登录,尝试 sudo 并且失败了——这很好。
那么以上建议的目的是什么?
Nat*_*zoo 18
目的是防止普通用户运行su命令(su与sudo类似,区别在于sudo执行一个命令,su以新用户的身份启动一个新的会话,一直持续到那个用户运行退出)
su 的默认模式是 4755 或 rwsr-xr-x,“s”表示该命令是 set-UID(这意味着它始终以拥有它的用户身份运行,而不是以碰巧执行它的用户身份运行。在这种情况下 su 归 root 所有,所以它总是以 root 权限运行)
su 有自己的安全措施来确保执行它的用户有权成为另一个用户(通常是通过询问其他用户的密码),但可以想象 su 中会有一个安全漏洞,允许攻击者以某种方式说服它在没有权限的情况下做其他事情。
通过将模式更改为 4750,它可以防止普通用户(root 和 sudo 组中的用户以外的用户)甚至首先读取或执行它,因此攻击者需要更改该文件的所有权,或者更改文件的模式,或者在他们甚至可以尝试利用 su 中的这个理论漏洞之前更改自己的有效 UID/GID。
dpkg-statoverride 命令在这种情况下很有用,因为它指示包管理器使用该文件的所有权/模式值,即使它被更新的版本替换(即通过 apt 升级)。换句话说,它使它比 chown 和 chmod 更持久。
这是我为此实例推荐的通用策略:每当我在 Linux/UNIX 机器上调整 su/sudo 或任何身份验证组件的配置时,我都会打开另一个到该服务器的 ssh/putty 会话并以身份登录root 用户,然后让该会话在另一个窗口中打开。这样,如果我搞砸了某些事情并将自己锁在外面,我已经有了一个登录会话,我可以在其中修复我破坏的任何东西。
归档时间: |
|
查看次数: |
1771 次 |
最近记录: |