JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:安全性服务     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  控制对设备的访问(任务)

5.  使用基本审计报告工具(任务)

6.  控制对文件的访问(任务)

使用 UNIX 权限保护文件

用于查看和保证文件安全的命令

文件和目录的所有权

UNIX 文件权限

特殊文件权限(setuidsetgid 和 Sticky 位)

setuid 权限

setgid 权限

Sticky 位

缺省 umask

文件权限模式

使用访问控制列表保护 UFS 文件

UFS 文件的 ACL 项

UFS 目录的 ACL 项

用于管理 UFS ACL 的命令

防止可执行文件危及安全

保护文件(任务列表)

使用 UNIX 权限保护文件(任务列表)

如何显示文件信息

如何更改本地文件的所有者

如何更改文件的组所有权

如何在符号模式下更改文件权限

如何在绝对模式下更改文件权限

如何在绝对模式下更改特殊文件权限

使用 ACL 保护 UFS 文件(任务列表)

如何检查文件是否具有 ACL

如何将 ACL 项添加到文件

如何复制 ACL

如何更改文件的 ACL 项

如何删除文件的 ACL 项

如何显示文件的 ACL 项

防止程序受到安全风险(任务列表)

如何查找具有特殊文件权限的文件

如何禁止程序使用可执行栈

7.  使用自动安全性增强工具(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  基于角色的访问控制(参考)

11.  特权(任务)

12.  特权(参考)

第 4 部分加密服务

13.  Oracle Solaris 加密框架(概述)

14.  Oracle Solaris 加密框架(任务)

15.  Oracle Solaris 密钥管理框架

第 5 部分验证服务和安全通信

16.  使用验证服务(任务)

17.  使用 PAM

18.  使用 SASL

19.  使用 Oracle Solaris 安全 Shell(任务)

20.  Oracle Solaris 安全 Shell(参考)

第 6 部分Kerberos 服务

21.  Kerberos 服务介绍

22.  规划 Kerberos 服务

23.  配置 Kerberos 服务(任务)

24.  Kerberos 错误消息和故障排除

25.  管理 Kerberos 主体和策略(任务)

26.  使用 Kerberos 应用程序(任务)

27.  Kerberos 服务(参考)

第 7 部分Oracle Solaris 审计

28.  Oracle Solaris 审计(概述)

29.  规划 Oracle Solaris 审计

30.  管理 Oracle Solaris 审计(任务)

31.  Oracle Solaris 审计(参考)

词汇表

索引

防止程序受到安全风险(任务列表)

以下任务列表列出了有关查找系统中的危险可执行程序,以及禁止程序利用可执行栈的过程。

任务
说明
参考
查找具有特殊权限的文件
查找设置了 setuid 位,但不归 root 用户拥有的文件。
防止可执行栈溢出
防止程序利用可执行栈。
防止记录可执行栈消息
停止记录可执行栈消息。

如何查找具有特殊文件权限的文件

应对系统中未经授权在程序中使用 setuidsetgid 权限的情况进行监视。使用 setuidsetgid 权限,普通用户可以获取超级用户功能。可疑可执行文件为用户而不是 rootbin 授予所有权。

  1. 承担 Primary Administrator(主管理员)角色,或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"

  2. 使用 find 命令查找具有 setuid 权限的文件。
    # find directory -user root -perm -4000 -exec ls -ldb {} \; >/tmp/filename
    find directory

    检查以指定的 directory(可以是根目录 (/)、sysbinmail)开头的所有挂载路径。

    -user root

    仅显示由 root 拥有的文件。

    -perm -4000

    仅显示权限设置为 4000 的文件。

    -exec ls -ldb

    ls -ldb 格式显示 find 命令的输出。

    /tmp/filename

    包含 find 命令的结果的文件。

  3. /tmp/filename 中显示结果。
    # more /tmp/filename

    有关 setuid 权限的背景信息,请参见setuid 权限

示例 6-12 查找具有 setuid 权限的文件

以下示例的输出显示,名为 rar 的组中的用户创建了一份 /usr/bin/sh 的个人副本,并将权限设置为 rootsetuid。因此,/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

如何禁止程序使用可执行栈

有关可执行栈的安全风险的说明,请参见防止可执行文件危及安全

  1. 承担 Primary Administrator(主管理员)角色,或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"

  2. 编辑 /etc/system 文件,并添加以下行:
    set noexec_user_stack=1
  3. 重新引导系统。
    # init 6

示例 6-13 禁止记录可执行栈消息

在此示例中,将禁止记录可执行栈消息,然后重新引导系统。

# cat /etc/system
set noexec_user_stack=1
set noexec_user_stack_log=0
# init 6