Solaris 10 新增功能

安全性增强功能

本节介绍自 Solaris 9 OS 最初于 2002 年 5 月发行以来,在 Solaris 10 3/05 发行版中新增或增强的安全性增强功能。进程权利管理精简网络软件组尤为重要。要查看 Solaris 10 7/05 发行版中新增的安全性增强功能,请参见安全性增强功能

除了本节讲述的安全性功能之外,另请参见以下在“开发者工具”一节和“安装”一节中介绍的与安全性相关的功能:

为 ELF 对象签名

此功能是 Solaris 10 3/05 发行版中的新增功能。

Solaris 10 OS 中的库和可执行文件包括可用于验证这些文件完整性的数字签名。数字签名提供了一种检测方法,该方法可以检测对文件的可执行内容有无任何无意的更改或故意的篡改。

系统装入 Solaris 加密框架的插件时将自动对其进行验证。可以使用 elfsign 命令来手动验证任何已签名的文件。开发者和管理员也可使用 elfsign 来对他们自己的代码进行签名。

有关详细信息,请参见 elfsign(1) 手册页。

进程权利管理

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

在 Solaris 软件中,以前要求超级用户权利的管理任务现在通过进程权利管理来保护。进程权利管理在命令、用户、角色和系统四个级别上使用权限对进程加以限制。权限是进程执行某项操作所需的单项权利。系统将进程限制为仅具有执行当前任务所需的权限。这样,易被使用的 root 进程就会减少。setuid 程序的数量也会显著减少。

就权限的增强功能而言,安装的 Software Express 发行版和 Solaris 10 3/05 发行版与以前的 Solaris 操作系统版本完全兼容。作为 root 运行的未修改程序可以使用所有权限来运行。

设备保护-使用安全策略对设备进行保护。此策略通过权限得以增强。因此,设备文件的权限并不能完全确定设备的可用性。操作设备也可能需要权限。

受 UNIX 权限保护的系统接口现在受权限保护。例如,不再自动允许 sys 组的成员打开 /dev/ip 设备。使用 net_rawaccess 权限运行的进程可以访问 /dev/ip 设备。系统引导时,限制对所有设备的访问,直到按引导顺序运行到 devfsadm 命令为止。初始化策略应尽可能严格。此策略可以防止超级用户以外的所有用户启动连接。

有关更多信息,请参见以下手册页:

需要检索 Solaris IP MIB 信息的进程应打开 /dev/arp,然后推送 "tcp" 和 "udp" 模块。此方法不需要权限,它等同于打开 /dev/ip 然后推送 "arp"、"tcp" 和 "udp" 模块。现在,由于打开 /dev/ip 需要权限,因此 /dev/arp 是首选方法。

有关详细信息,请参见《System Administration Guide: Security Services 》中的以下各节:

Solaris 10 OS 对 PAM 所做的更改

在 Software Express 试点计划中添加了新的 pam_deny 模块,在 Solaris Express 6/04 版本中,又增强了此模块的功能。Solaris 10 3/05 发行版中也包含此功能。此模块可用于拒绝对命名的 PAM 服务的访问。缺省情况下,不使用 pam_deny 模块。有关更多信息,请参见 pam_deny(5) 手册页。

Solaris 10 软件对 PAM 框架所做的更改如下:

pam_ldap 更改

下列 pam_ldap 更改是 Solaris Express 10/04 发行版中的新增内容,但帐户管理功能除外。此管理功能是 Software Express 试点计划和 Solaris 9 12/02 发行版中的新增功能。有关这些更改的更多信息,请参见 pam_ldap(5) 手册页。


注 –

无法为以前的列表中的更改提供全新的自动更新。因此,升级到 Solaris 10 或其后续版本并不能自动更新现有的 pam.conf 文件以反映 pam_ldap 的更改。如果现有的 pam.conf 文件中包含 pam_ldap 配置,则 CLEANUP 文件会在升级之后向您发送通知。请根据需要对 pam.conf 文件进行检查和修改。


有关详细信息,请参见以下手册页:

有关 Solaris 命名和目录服务的详细信息,请参见《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》。有关 Solaris 安全性功能的信息,请参见《System Administration Guide: Security Services》

Solaris 安全 shell 增强功能

此功能描述是 Solaris Express 10/04 发行版中的新增功能。

Solaris 安全 shell 的下列增强功能可以在 Solaris 10 OS 中实现:

有关 Solaris 10 OS 中的安全性的详细信息,请参见《System Administration Guide: Security Services 》

OpenSSL 和 OpenSSL PKCS#11 引擎

该功能是 Solaris Express 8/04 发行版中的新增功能。

此 Solaris 发行版将 OpenSSL 库和命令包括在 /usr/sfw 中。

此发行版还包括 PKCS#11 的 OpenSSL 引擎接口,这样,OpenSSL 使用者便可在 Solaris 加密框架中访问硬件和软件加密服务提供器。


注 –

由于某些国家/地区对加密导入的限制,在没有安装 SUNWcry 软件包的情况下,对称密钥加密算法将被限制为 128 位。SUNWcry 软件包未包括在 Solaris 软件中。此软件包可以作为单独控制的下载使用。


sshd 守护进程和 /etc/default/login

此功能是 Solaris Express 10/04 发行版中的新增功能。

sshd 守护进程使用 /etc/default/login 中的变量和 login 命令。sshd_config 文件中的值可以覆盖 etc/default/login 变量。

有关更多信息,请参见《System Administration Guide: Security Services 》中的“Solaris 安全 Shell 和登录环境变量”。另请参见 sshd_config(4) 手册页。

非登录帐户和锁定帐户口令的新选项

此功能是 Solaris Express 10/04 发行版中的新增功能。

passwd 命令有 -N-u 两个新选项。-N 选项可为非登录帐户创建口令项。此选项可用于不应该登录、但必须运行 cron 作业的帐户。-u 选项可取消锁定以前被锁定的帐户。

有关更多信息,请参见 passwd(1) 手册页。

已删除 auditconfig 命令的 -setcond 选项

此功能是 Solaris Express 10/04 发行版中的新增功能。

auditconfig 命令的 -setcond 选项已被删除。要临时禁用审计功能,可以使用 audit -t 命令。要重新启动审计功能,可以使用 audit -s 命令。

perzone 审计策略

该功能是 Solaris Express 8/04 发行版中的新增功能。

perzone 审计策略启用了要进行单独审计的非全局区域。在每个区域中运行单独的审计守护进程。此守护进程使用特定于相应区域的审计配置文件。审计队列也特定于该区域。缺省情况下,此策略处于关闭状态。

有关更多信息,请参见 auditd(1M)auditconfig(1M) 手册页。

Kerberos 增强功能

Kerberos 增强功能包括在 Solaris 10 发行版中。有几个增强功能是以前的 Software Express 发行版中的新增功能。

rpcbind 的 TCP 包装

此功能是 Solaris Express 4/04 发行版中的新增功能。

对 TCP 包装的支持已被添加到 rpcbind 命令中。这一支持使管理员可将对 rpcbind 的调用局限于选定的主机。管理员还可以记录对 rpcbind 的所有调用。

有关详细信息,请参见 rpcbind(1M) 手册页。

zonename 审计标记和审计策略选项

Solaris Zones 分区技术是 Solaris Express 2/04 发行版中的新增功能。请参见Solaris Zones 软件分区技术。Solaris Express 2/04 发行版还引入了此处描述的 zonename 的相关增强功能。

zonename 审计标记可记录发生审计事件的区域名称。对所有区域来说,zonename audit policy 选项确定了审计记录中是否包括 zonename 标记。如果预先选择审计类的条件随非全局区域的不同而不同,那么,您可能要按区域对审计记录进行分析。zonename 审计策略使您能够按区域对审计记录进行事后选择。

请参见《System Administration Guide: Security Services 》中的“审计和 Solaris Zones”。

有关详细信息,请参见 audit.log(4)auditconfig(1M)auditreduce(1M) 手册页。另请参见《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“在区域中使用 Solaris 审计”。

Solaris 加密框架的用户命令

此功能是 Solaris Express 1/04 发行版中的新增功能。

现在,digestmacencrypt 三个命令中都包括一个选项,该选项列出可用于每个命令的算法。对于 macencrypt 命令,其输出包括每种算法接受的密钥长度。此外,-I <IV-file> 选项已从 encryptdecrypt 命令中删除。

有关详细信息,请参见《System Administration Guide: Security Services 》的第 14 章“Solaris 加密框架(任务)”中的“使用 Solaris 加密框架保护文件”部分。

有关更多信息,请参见 encrypt(1)digest(1)mac(1) 手册页。

IKE 配置参数

此功能是 Solaris Express 1/04 发行版中的新增功能。

重新传送参数和包超时参数已被添加到 /etc/inet/ike/config 文件中。这两种参数使管理员能够调节 IKE Phase 1(主模式)协商。通过这种调节,Solaris IKE 可以和各个平台交互操作,这些平台实现 IKE 协议的方式各不相同。这两种参数还可以帮助管理员对网络干扰和网络通信流量过大等现象进行调整。

有关这两种参数的详细描述,请参见 ike.config(4) 手册页。

简单身份验证和安全层

此功能是 Solaris Express 12/03 发行版中的新增功能。

简单身份验证和安全层 (SASL) 为应用程序的开发者提供了一个接口,用于添加身份验证、检查数据完整性和对基于连接的协议进行加密。

有关详细信息,请参见面向开发者的简单验证和安全层

另请参见《System Administration Guide: Security Services 》中的第 17 章,“使用 SASL”。

现在使用 ISO 8601 格式报告审计时间

此功能是 Solaris Express 12/03 发行版中的新增功能。

审计记录中的文件和文件头标记现在使用 ISO 8601 格式报告时间。例如,praudit 命令对于文件标记的输出如下:

旧文件标记:

file,Mon Oct  13 11:21:35 PDT 2003, + 506 msec, 
/var/audit/20031013175058.20031013182135.machine1
新文件标记:

file,2003-10-13 11:21:35.506 -07:00, 
/var/audit/20031013175058.20031013182135.machine1
旧文件头标记:

header,173,2,settppriv(2),,machine1,
Mon Oct 13 11:23:31 PDT 2003, + 50 msec
新文件头标记:

header,173,2,settppriv(2),,machine1,
2003-10-13 11:23:31.050 -07:00

XML 输出也有所更改。例如,在 praudit -x 命令的输出中,文件标记的格式如下:


<file iso8601="2003-10-13 11:21:35.506 -07:00">
/var/audit/20031013175058.20031013182135.machine1</file>

解析 praudit 输出的自定义脚本或工具也可能需要更新,以适应这种变化。

有关详细信息,请参见《System Administration Guide: Security Services 》的第 27 章“Solaris 审计(概述)”中的“Solaris 10 发行版中的 Solaris 审计更改”部分。

基本审计和报告工具

此功能是 Solaris Express 11/03 发行版中的新增功能。

基本审计和报告工具 (BART) 是一种命令行实用程序,它使 OEM、高级用户和系统管理员能够在目标系统软件目录的文件层执行检查操作。该实用程序可用于收集有关系统已安装了哪些内容的信息。BART 还使您能够对已安装的系统以及系统内容随时间的变化情况进行比较。

有关详细信息,请参见《System Administration Guide: Security Services 》中的第 5 章,“使用基本审计报告工具(任务)”。

另请参见 bart_manifest(4)bart_rules(4)bart(1M) 手册页。

IPsec 和 Solaris 加密框架

此功能是 Solaris Express 9/03 发行版中的新增功能。

IPsec 使用 Solaris 加密框架取代其加密和验证模块。这些模块已针对 SPARC 平台进行优化。此外,还提供了新的 ipsecalgs 命令行实用程序和 API,用于查询支持的 IPsec 算法和其他 IPsec 属性的列表。

有关详细信息,请参见 ipsecalgs(1M) 手册页。

请参见《系统管理指南:IP 服务》的第 18 章“IP 安全体系结构(概述)”中的“IPsec 中的验证算法和加密算法”部分。

供系统管理员使用的 Solaris 加密框架

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

Solaris 加密框架为 Solaris 环境中的应用程序提供了加密服务。系统管理员通过 cryptoadm 命令对可用的加密算法进行控制。使用 cryptoadm 命令可以实现下列功能:

AES、DES/3DES、RC4、MD5、SHA-1、DSA、RSA 插件和 Diffie-Hellman 算法与该加密框架一同提供。可以根据需要添加或删除插件。

encryptdecryptdigestmac 命令都使用该加密框架中的加密算法。

有关详细信息,请参见《System Administration Guide: Security Services 》中的第 13 章,“Solaris 加密框架(概述)”。

另请参见以下手册页:

远程审计日志

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

Solaris 发行版除了在二进制审计日志中记录审计事件以外,还使您能够在系统日志中记录审计事件。

通过生成系统日志数据,您可以使用相同的管理和分析工具来处理各种 Solaris 和非 Solaris 环境(包括工作站、服务器、防火墙和路由器)中的系统日志消息。可以使用 syslog.conf 将审计消息路由到远程存储器,从而保护日志数据不被攻击者改动或删除。但是,系统日志选项提供的只是审计记录数据的摘要。此外,若系统日志数据存储在远程系统中,则容易遭受网络攻击,如拒绝服务、假的或“哄骗的”源地址。

有关详细信息,请参见《System Administration Guide: Security Services 》的第 27 章“Solaris 审计(概述)”中的“审计文件”部分。

另请参见以下手册页:

FTP 服务器增强功能

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

FTP 服务器的可伸缩性和传送日志增强功能如下:

FTP 客户机和服务器现在支持 Kerberos。有关更多信息,请参阅 ftp(4) 手册页和《System Administration Guide: Security Services》中的“Kerberos 用户命令”。

此外,ftpcountftpwho 现在支持 -v 选项,该选项显示 FTP 服务器类的用户计数和进程信息,FTP 服务器类在虚拟主机 ftpaccess 文件中定义。

有关以上更改的详细信息,请参见以下手册页:

FTP 客户机

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

Solaris 软件包括对 FTP 客户机的更改。缺省情况下,在发出 ls 命令以后,连接到 Solaris FTP 服务器的 Solaris FTP 客户机就会列出目录以及纯文本文件。如果 FTP 服务器没有在 Solaris 操作系统中运行,就不会列出目录。

要在连接到非 Solaris FTP 服务器时执行缺省的 Solaris 操作,可以在每个 Solaris 客户机上对 /etc/default/ftp 文件进行编辑。要对单个用户进行更改,可以设置 FTP_LS_SENDS_NLST 环境变量。

有关更多信息,请参见 ftp(4) 手册页。

FTP 客户机和服务器现在支持 Kerberos。有关更多信息,请参阅 ftp(4) 手册页和《System Administration Guide: Security Services》中的“Kerberos 用户命令”。

Sun Crypto Accelerator 4000 卡上的 Internet 密钥交换 (IKE) 密钥存储

此功能是 Software Express 试点计划和 Solaris 9 12/03 发行版中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

IKE 在 IPv6 和 IPv4 网络上运行。有关特定于 IPv6 实现的关键字的信息,请参见 ifconfig(1M)ike.config(4) 手册页。

连接了 Sun Crypto Accelerator 4000 卡之后,IKE 就可以将需要大量计算的操作卸载到该卡上,这样就可以释放操作系统以用于其他任务。IKE 还可以使用已连接的卡存储公钥、私钥和公共证书。针对单个硬件的密钥存储可以提供附加安全性。

有关详细信息,请参见 ikecert(1M) 手册页。

另请参见《系统管理指南:IP 服务》中的以下各节:

IKE 硬件加速

此功能是 Software Express 试点计划和 Solaris 9 4/03 发行版中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

Sun Crypto Accelerator 1000 卡和 Sun Crypto Accelerator 4000 卡可以加速 IKE 中的公钥操作。有关操作都被转到该卡中,从而加快加密过程,并降低对 Solaris 操作系统资源的要求。

有关 IKE 的信息,请参见《系统管理指南:IP 服务》中的以下各节:

ipseckey 增强功能

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

对于已在系统上安装了 IPsec 或 IKE 的网络管理员,ipseckey 解析器提供了更明确的帮助。ipseckey monitor 命令现在为每个事件提供一个时间戳。

有关更多信息,请参见 ipseckey(1M) 手册页。

通过回送连接传播凭证

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

该 Solaris 发行版引入了 ucred_t * 作为进程凭证的抽象表示。可以使用门服务器中的 door_ucred() 和用于回送连接的 getpeerucred() 来检索这些凭证。可以使用 recvmsg() 来接收这些凭证。

有关详细信息,请参见 socket.h(3HEAD) 手册页。

头标记审计记录包含主机信息

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

审计记录中的头标记已得到扩展,可包含主机名。

旧的标头显示如下:


header,131,4,login - local,,Wed Dec 11 14:23:54 2002, + 471 msec

新扩展的标头显示如下:


header,162,4,login - local,,example-hostname,
Fri Mar 07 22:27:49 2003, + 770 msec

解析 praudit 输出的自定义脚本或工具也可能需要更新,以反映这种变化。

有关详细信息,请参见《System Administration Guide: Security Services》的第 30 章“Solaris 审计(参考)”中的“header 标记”部分。

审计增强功能

此功能是 Software Express 试点计划和 Solaris 9 8/03 发行版中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

Solaris 软件的审计增强功能降低了跟踪噪音,使管理员可以使用 XML 脚本来分析跟踪。这些增强功能包括:

有关详细信息,请参见《System Administration Guide: Security Services 》中的以下各节:

新的审计标记 path_attr

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

path_attr 审计标记包含某个对象的访问路径信息。访问路径指定了路径标记对象以下的属性文件对象的顺序。系统调用存取属性文件,如 openat()。有关扩展文件属性的更多信息,请参见 fsattr(5) 手册页。

path_attr 标记有三个字段:

praudit 命令显示 path_attr 标记如下:


path_attr,1,attr_file_name

有关详细信息,请参见《System Administration Guide: Security Services》的第 30 章“Solaris 审计(参考)”中的“path_attr 标记”部分。

检查口令历史记录

此功能是 Software Express 试点计划中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

对于本地文件中定义的登录帐户,可以启用口令历史记录,该记录中包括多达 26 个以前更改过的口令。用户更改口令以后,如果新口令与历史记录中的某个口令匹配,则更改失败。此外,还可以禁用登录名检查。

有关更多信息,请参见 passwd(1) 手册页。

增强的 crypt() 函数

此功能是 Software Express 试点计划和 Solaris 9 12/02 发行版中的新增功能。Solaris 10 3/05 发行版中也包含此功能。

口令加密可以防止口令被侵入者读取。现在,软件中有三种可用的加强口令加密模块:

有关如何使用这些新的加密模块来保护用户口令的信息,请参见《System Administration Guide: Security Services》中的以下各节:

有关这些模块的功能的信息,请参见 crypt_bsdbf(5)crypt_bsdmd5(5)crypt_sunmd5(5) 手册页。