跳过导航链接 | |
退出打印视图 | |
![]() |
系统管理指南:安全性服务 Oracle Solaris 10 8/11 Information Library (简体中文) |
以下任务列表列出了有关查找系统中的危险可执行程序,以及禁止程序利用可执行栈的过程。
|
应对系统中未经授权在程序中使用 setuid 和 setgid 权限的情况进行监视。使用 setuid 和 setgid 权限,普通用户可以获取超级用户功能。可疑可执行文件为用户而不是 root 或 bin 授予所有权。
Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 "使用 Solaris Management Console(任务)"。
# find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
检查以指定的 directory(可以是根目录 (/)、sys、bin 或 mail)开头的所有挂载路径。
仅显示由 root 拥有的文件。
仅显示权限设置为 4000 的文件。
以 ls -ldb 格式显示 find 命令的输出。
包含 find 命令的结果的文件。
# more /tmp/filename
有关 setuid 权限的背景信息,请参见setuid 权限。
示例 6-12 查找具有 setuid 权限的文件
以下示例的输出显示,名为 rar 的组中的用户创建了一份 /usr/bin/sh 的个人副本,并将权限设置为 root 的 setuid。因此,/usr/rar/bin/sh 程序将使用 root 权限运行。
通过将 /var/tmp/chkprm 目录移至 /export/sysreports/ckprm 目录,可以保存此输出以供将来参考。
# 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
有关可执行栈的安全风险的说明,请参见防止可执行文件危及安全。
Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2 章 "使用 Solaris Management Console(任务)"。
set noexec_user_stack=1
# init 6
示例 6-13 禁止记录可执行栈消息
在此示例中,将禁止记录可执行栈消息,然后重新引导系统。
# cat /etc/system set noexec_user_stack=1 set noexec_user_stack_log=0 # init 6