GAC 实施已经证明非常有效,尤其是在瞬间访问数百个文件的情况下,但它却有以下约束:
GAC_root=1
该标记的默认值为 0。 要还原默认值,请将该标记设置为 0 或删除该标记。
让我们来看一个别人可能怎样试图利用该漏洞的示例。 用户 Tony 未被授权访问文件 Accounts/tmp。 因此,Tony 代替(通过 /bin/su)被授权访问 Accounts/tmp 的用户 Sandra。 如果 Sandra 已经访问了 Accounts/tmp 文件,则该文件会以她的 UID 出现在“无需调用”表中。 之后,通过使用 Sandra 的 UID 允许 Tony 访问该文件。 这是因为内核代码并不保存 UID 的历史记录。
但是,如果 Sandra 以前没有访问过该文件,则将使用 seosd 定期检查访问权限,然后拒绝 Tony 访问该文件。 要关闭该漏洞,ADMIN 用户必须保护数据库中的 SURROGATE 对象。 在本示例中,ADMIN 可以向数据库中添加以下规则:
newres SURROGATE USER.Sandra default(N) owner(nobody)
该命令确保 Tony 无法使用 su 命令来获得 Sandra 的访问权限。
版权所有 © 2013 CA。
保留所有权利。
|
|