保护 root 用户的安全
下面的部分将介绍在增强的 RBAC 模式中运行时如何禁用 root 用户。
选择保护 root 用户的安全
当 AIX 系统运行于增强的 RBAC 模式时,可以对系统进行相应的配置,从而使 root 用户不具有超级 用户权限,并且将其禁用,以至使 root 用户帐号失去登录权限。
通常在 AIX 中,root 用户的 UID 值为 0,操作系统将其作为一种特权 UID,并允许 root 用户绕过 强制的安全检查。通过禁用 root 用户,可以有效地删除这些操作系统检查。
在禁用了 root 用户之后,对 root 用户进行了限制,不允许它访问系统,尽管它将仍然保留文件的 DAC 所有权(如果可以访问该帐号的话)。尽管 root 用户仍然可以拥有文件对象,但不能通过 su 命令 、或者远程登录、或者从定义的系统控制台来访问 root 用户。
传统的 UNIX 管理依赖于为执行某些特权命令而启用 root 用户;对于攻击者而言,他们也希望启用 root 用户,并集中其所有的力量攻击 root 用户。
攻击者可能试图获得对 root 用户的访问,如果 root 用户的完整性遭到破坏,那么攻击者将可以自 由地执行任何特权命令以实现其恶意的目的。如果获得了未经授权的 root 用户访问权限,那么攻击者就 可能对系统造成广泛的、且不受任何限制的危害。这种故意的损害称为恶意 root。
在禁用了 root 用户的增强的 RBAC 系统中,可以将攻击者可能造成的危害降到最低,因为禁用了 root 用户。即使攻击者破坏了现有的网络安全设施并收到一个登录提示,但是攻击者不能以远程的方式 、或者在控制台、或者通过 su 命令访问 root 帐号。
在禁用了 root 用户之后,必须由 root 用户以外的其他用户来执行系统管理任务。需要通过一个或 多个其他的用户帐号来访问由 root 用户所拥有的特权命令和文件。
使用 AIX V6 中预定义的 isso、so 和 sa 角色,就是这种方式的一个示例。
重要:isso、so 和 sa 角色可能并不包括管理系统所需的所有特权命令或者授权。
因此在尝试禁用 root 用户的功能之前,应该对系统以及正在系统中使用的应用程序进行仔细地分析 。
禁用 root 用户
通过 setsecconf 命令,可以禁用 root 用户的各种功能。
在这个场景中,我们首先将 isso 角色分配给 oper1 用户,这样一来,我们就可以测试 oper1 用户 执行禁用或者启用 root 用户模式所需的特权命令。
oper1 用户仍然具有 shutdown_reboot 角色,因此 oper1 用户仍然能够执行 reboot 和 shutdown 命令,以使系统重新启动。
执行下面的命令,然后重新启动系统,以禁用 root 用户的功能:
1. 以 oper1 用户的身份登录,并执行 swrole 命令启用 isso 角色:
swrole isso