应对系统中未经授权在程序中使用 setuid 和 setgid 权限的情况进行监视。使用 setuid 和 setgid 权限,普通用户可以获取超级用户功能。可疑可执行文件为用户而不是 root 或 bin 授予拥有权。
承担主管理员角色,或成为超级用户。
主管理员角色拥有主管理员配置文件。要创建角色并将角色指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
使用 find 命令查找拥有 setuid 权限的文件
# find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename |
检查以指定的 directory(可以是 root (/)、sys、 bin 或 mail)开头的所有挂载路径。
仅显示由 root 拥有的文件。
仅显示权限被设置为 4000 的文件。
以 ls -ldb 格式显示 find 命令的输出。
包含 find 命令的结果的文件。
在 /tmp/filename 中显示结果。
# more /tmp/filename |
有关 setuid 权限的背景信息,请参见setuid 权限。
以下示例的输出显示,名为 rar 的用户创建了一份 /usr/bin/sh 的个人副本,并将权限设置为 root 的 setuid。因此,/usr/rar/bin/sh 程序将使用 root 权限运行。
通过将文件从 /tmp 目录中移出,可以保存此输出以供将来参考。
# find / -user root -perm -4000 -exec ls -ldb {} \; > /var/tmp/ckprm # cat /var/tmp/ckprm -r-sr-xr-x 1 root bin 38836 Aug 10 16:16 /usr/bin/at -r-sr-xr-x 1 root bin 19812 Aug 10 16:16 /usr/bin/crontab ---s--x--x 1 root sys 46040 Aug 10 15:18 /usr/bin/ct -r-sr-xr-x 1 root sys 12092 Aug 11 01:29 /usr/lib/mv_dir -r-sr-sr-x 1 root bin 33208 Aug 10 15:55 /usr/lib/lpadmin -r-sr-sr-x 1 root bin 38696 Aug 10 15:55 /usr/lib/lpsched ---s--x--- 1 root rar 45376 Aug 18 15:11 /usr/rar/bin/sh -r-sr-xr-x 1 root bin 12524 Aug 11 01:27 /usr/bin/df -rwsr-xr-x 1 root sys 21780 Aug 11 01:27 /usr/bin/newgrp -r-sr-sr-x 1 root sys 23000 Aug 11 01:27 /usr/bin/passwd -r-sr-xr-x 1 root sys 23824 Aug 11 01:27 /usr/bin/su # mv /var/tmp/ckprm /export/sysreports/ckprm |