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

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

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

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

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

4.  病毒扫描服务(任务)

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

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

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

使用 UNIX 权限保护文件

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

文件和目录的所有权

UNIX 文件权限

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

setuid 权限

setgid 权限

Sticky 位

缺省 umask

文件权限模式

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

防止可执行文件危及安全

保护文件(任务)

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

如何显示文件信息

如何更改文件的所有者

如何更改文件的组所有权

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

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

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

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

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

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

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

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

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

10.  Oracle Solaris 中的安全属性(参考)

第 4 部分加密服务

11.  加密框架(概述)

12.  加密框架(任务)

13.  密钥管理框架

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

14.  网络服务验证(任务)

15.  使用 PAM

16.  使用 SASL

17.  使用 安全 Shell(任务)

18.  安全 Shell(参考)

第 6 部分Kerberos 服务

19.  Kerberos 服务介绍

20.  规划 Kerberos 服务

21.  配置 Kerberos 服务(任务)

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

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

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

25.  Kerberos 服务(参考)

第 7 部分在 Oracle Solaris 中审计

26.  审计(概述)

27.  规划审计

28.  管理审计(任务)

29.  审计(参考)

词汇表

索引

防止可执行文件危及安全

程序读写栈中的数据。通常,程序从内存中专为代码指定的只读部分开始执行。一些可导致栈中的缓冲区溢出的攻击尝试向栈中插入新代码,从而致使程序执行该代码。删除栈内存的执行权限可使这些攻击无法成功。换句话说,大多数程序可以在不使用可执行栈的情况下正常工作。

64 位进程的栈通常不可执行。通过 noexec_user_stack 变量,您可以指定 32 位进程的栈是否可执行。为了符合 32 位 SPARC ABI,缺省值为零,即指定栈可执行。

设置此变量后,将向尝试执行其栈中代码的程序发送一个 SIGSEGV 信号。此信号通常将导致程序终止,同时进行核心转储。这样的程序还将生成一条警告消息,该消息中包括违例程序的名称、进程 ID 和运行该程序的用户的实际 UID。例如:

a.out[347] attempt to execute code on stack by uid 555 

syslog kern 功能设置为 notice 级别时,该消息由 syslog 守护进程记录。缺省情况下,将在 syslog.conf 文件中设置此日志记录,这意味着,消息将发送到控制台和 /var/adm/messages 文件。有关更多信息,请参见 syslogd(1M)syslog.conf(4) 手册页。

syslog 消息用于观察可能的安全问题。通过设置 noexec_user_stack 变量,该消息还将确定依赖于可执行栈(已被禁止,无法正确执行操作)的有效程序。如果不想记录任何消息,则可以在 /etc/system 文件中将日志变量 noexec_user_stack_log 设置为零。即使未记录消息,SIGSEGV 信号仍可能会导致执行程序终止,同时进行核心转储。

如果希望程序显式将其栈标记为可执行,则可以使用 mprotect() 功能。有关更多信息,请参见 mprotect(2) 手册页。也可以使用 -M /usr/lib/ld/map.noexstk 编译您的程序,从而忽略系统级设置而使栈不可执行。