Go to main content

Oracle® Solaris 11.4 新增功能

退出打印视图

更新时间: 2018 年 8 月
 
 

安全性和符合性功能

本节介绍本发行版中新增的安全性和符合性功能。这些新功能通过反恶意软件保护帮助防御新威胁,并使您能够满足最严格的符合性要求。

安全沙箱

沙箱是可用于指定安全性和资源隔离要求的进程属性的唯一命名集合。在 Oracle Solaris 11.4 中,可以在临时沙箱中执行不可信的进程。可以通过使用 sandboxadm 命令创建持久的分层沙箱。可以通过使用 sandbox 命令进入临时和持久的沙箱。

沙箱既适合约束特权应用程序又适合约束非特权应用程序。利用 SPARC 芯片化安全内存的增强型漏洞利用缓解控件自动保护关键应用程序和系统内核。

有关更多信息,请参见Securing Users and Processes in Oracle Solaris 11.4 中的 Configuring Sandboxes for Project Isolation,以及 sandboxing(7)sandbox(1)sandboxadm(8) 手册页。

安全符合性评估

Oracle Solaris Cluster 符合性检查

Oracle Solaris compliance 命令的标准基准测试包括对 Oracle Solaris Cluster 的检查。只有当系统上安装和配置了 Oracle Solaris Cluster 时,才运行 Oracle Solaris Cluster 检查。

有关基准测试、配置文件、compliance 命令和 Oracle Solaris Cluster 符合性检查的信息,请参见以下文档:

每文件审计

Oracle Solaris 11.4 中的每文件审计针对特定文件和目录提供细粒度访问时审计。使用此功能,系统和安全管理员可以将需要审计的指定文件作为目标。可以按照某些方式访问指定的文件,这样更便于收集和分析审计数据。

例如:

# chmod A+everyone@:write_data/read_data:successful_access/failed_access:audit /data/db1

这个审计 ACE 确保为系统上的任何用户针对 /data/db1 文件执行的任何读取或写入操作(成功访问和被拒访问)生成审计记录。还可以为元数据更改添加审计 ACE。

有关更多信息,请参见Managing Auditing in Oracle Solaris 11.4 中的 What’s New in the Audit Service in Oracle Solaris 11.4

验证的引导审计

在 Oracle Solaris 11.4 中,这个新功能帮助生成审计记录以指示内核模块的签名验证结果。该功能会在 Oracle Solaris 11.4 引导时检查验证的引导 boot_policy 值,并将该值输出到 AUE_SYSTEMBOOT 事件的审计记录。在启用了“验证的引导”并将 boot_policy 属性的值设置为 warningenforce 时,如果在装入模块时 elfsign 签名验证失败,Oracle Solaris 审计功能会生成 AUE_MODLOAD 审计事件。在启用了“验证的引导”时,可以跟踪事件,看其中是否存在具有无效签名的内核模块或者其签名尚未装入系统的内核模块。

有关更多信息,请参见Managing Auditing in Oracle Solaris 11.4 中的 New Feature – Auditing Verified Boot

特权命令执行历史记录报告

Oracle Solaris 11.4 引入了 admhist 实用程序,使用该实用程序,可以按照易于理解的有用格式概述与系统管理相关的、已在系统上运行的事件。admhist 实用程序利用使 prauditauditreduce 实用程序能够提供更详细日志分析的审计数据。

提供了各种可以按用户、日期、时间或事件类型缩小结果范围的选项,如下所示。例如,可以标识特定用户 ID 在过去 24 小时内执行的特权命令:

# admhist -v -a "last 24 hours"
2017-05-09 10:58:55 user1@example.com cwd=/export/home/user1 /usr/sbin/zfs get quota rpool/export/home/user1 
2017-05-09 10:59:16 user1@example.com cwd=/export/home/user1 /usr/sbin/zfs set quota 40g 
2017-05-09 10:59:27 user1@example.com cwd=/export/home/user1 /usr/sbin/zfs get quota rpool/export/home/user1 
2017-05-09 10:59:31 user1@example.com cwd=/export/home/user1 /usr/bin/bash 
2017-05-09 10:59:31 user1@example.com cwd=/ /usr/bin/su 

该输出说明用户 user1 已切换到 root 用户并增加了其配额。在命令退出时,将检查在进程的整个寿命期间内使用的特权,这就是为什么在输出的末尾列出 su 操作的原因。

有关更多信息,请参见 admhist(8) 手册页、Managing Auditing in Oracle Solaris 11.4 中的 New Feature – Per-Privilege Logging of Audit Events使用 Oracle Solaris 12 分析

KMIP 客户机支持

Oracle Solaris 11.4 提供了密钥管理互操作性协议 (Key Management Interoperability Protocol, KMIP) 版本 1.1。通过 Oracle Solaris 加密框架中提供的新 PKCS#11 提供者 pkcs11_kmip,PKCS#11 应用程序可以用作 KMIP 客户机并与符合 KMIP 的服务器通信。

Oracle Solaris 11.4 还包括一个名为 kmipcfg 的新命令,该命令初始化 pkcs11_kmip 提供者并管理该提供者的状态。

有关更多信息,请参见Managing Encryption and Certificates in Oracle Solaris 11.4 中的 第 5 章, KMIP and PKCS #11 Client Applications,以及 pkcs11_kmip(7)kmipcfg(8) 手册页。

文件和进程标签

Oracle Solaris 11.4 中的文件和进程标签提供了一个用来限制对敏感信息进行访问的框架。现在可以为文件和目录贴标签,以便为具有足够 clearance(安全许可)的用户或角色提供访问权限。clearance 策略还适用于具有所有特权的进程。Oracle Solaris 11.4 可以生成有关对有标签文件的每次访问的日志,使用该日志可以满足诸如 PCI-DSSHIPAA 之类的符合性标准。

有关更多信息,请参见在 Oracle Solaris 12 中确保文件的安全和确认文件完整性 中的 标签和安全许可,以及 clearance(7) 手册页。

芯片化安全内存安全漏洞利用缓解

芯片化安全内存 (Silicon Secured Memory, SSM) 增加了对内存中数据访问的实时检查,可帮助在生产中防御恶意入侵并防止出现有缺陷的程序代码,从而提高安全性和可靠性。

SSM 可通过缺省系统内存分配器使用,也可以在内核区域内部使用。请参见Oracle Solaris 内核区域中对芯片化安全内存的支持

系统缺省分配器 (libc malloc) 现在能够识别应用程序数据完整性 (Application Data Integrity, ADI)。使用 sxadm 命令标记的二进制文件自动接受保护。请参见 sxadm(8) 手册页的“安全扩展”部分中的 ADIHEAPADISTACK 保护。

SSM 应用编程接口适用于高级定制。请参见Securing Systems and Attached Devices in Oracle Solaris 11.4 中的 Protecting Against Malware With Security Extensions,以及 adi(2) 手册页。

数据包过滤器

Oracle Solaris 11.4 包括 OpenBSD 数据包过滤器 (Packet Filter, PF) 防火墙以过滤 TCP/IP 通信。PF 防火墙是 Oracle Solaris 11.4 中 IP 过滤器 (IP Filter, IPF) 的替代功能,可实现带宽管理和数据包优先级划分。要使用 PF 防火墙,请安装 pkg:/network/firewall 软件包并启用 svc:/network/firewall:default 服务实例。


注 -  请确保在启用该服务之前配置防火墙。缺省配置会将该服务置于降级状态。降级的防火墙会阻止除 ssh 以外的所有入站会话。允许进行出站会话。

PF 包括 pflogd 功能,这是一个数据包记录守护进程,可以安全地保存由 PF 防火墙记录的数据包。这些数据包可以从捕获数据链路获取。此守护进程从该数据链路读取数据包并将它们存储在一个文件中。有关更多信息,请参见 pflogd(8) 手册页。

PF 支持 ftp-proxy(适用于 FTP 的半透明的代理)并支持 IPv4 NAT。运行适用于 NAT 的 PF 防火墙的系统可以使用 ftp-proxy 允许 FTP 连接通过防火墙。有关更多信息,请参见 ftp-proxy(8) 手册页。

有关更多信息,请参见Securing the Network in Oracle Solaris 11.4 中的 第 4 章, Oracle Solaris Firewall,以及 pfctl(8)pf.conf(7)pf.os(7) 手册页。

Kerberos

Oracle Solaris 11.4 提供更新版本的 Kerberos,该版本的 Kerberos 包括最新版本的 MIT Kerberos 中的改进功能,以及针对 Oracle Solaris 进行的增强功能。Kerberos 提供网络验证和(可选)消息完整性及隐私,具体取决于应用程序如何使用 Kerberos。

有关更多信息,请参见Managing Kerberos in Oracle Solaris 11.4 中的 第 1 章, Kerberos on Oracle Solaris,以及 kerberos.7 手册页。

libsasl2

简单验证和安全层 (Simple Authentication and Security Layer, SASL) 框架为网络协议提供验证和可选安全性服务。Oracle Solaris 11.4 将其 SASL 实现基于开源 Cyrus SASL 2.1.26 版并对其进行少许更改。

SASL 插件位于 /usr/lib/sasl2 目录中,SASL 配置文件的缺省位置是 /etc/sasl2 目录。Oracle Solaris 11.4 通过将 SASL 版本基于开源,能够提供最新的 SASL 功能(包括安全更新)。

有关更多信息,请参见Managing Authentication in Oracle Solaris 11.4 中的 第 2 章, Using Simple Authentication and Security Layer

account-policy 服务

此 Oracle Solaris 发行版提供了在 /etc 目录中编辑单个文件的替代方法,以建立系统策略。account-policy 服务管理工具 (Service Management Facility, SMF) 服务将 loginsu、shell 变量、日志记录、安全策略 (policy.conf) 和 RBAC 设置作为属性存储在 SMF 中。在启用了此服务时,通过此服务设置和获取系统策略。请注意,/etc 文件可能不指示已生效的策略。有关更多信息,请参见 account-policy(8S) 手册页和Securing Users and Processes in Oracle Solaris 11.4 中的 Modifying Rights System-Wide As SMF Properties

PKCS #11 v2.40 对 Oracle Solaris 加密框架的支持

Oracle Solaris 加密框架已从 PKCS #11 v2.20 更新到 PKCS #11 v2.40。更新中包括 PKCS #11 v2.40 中的一些最新机制(包括 PKCS #11 v2.30 中的机制)。在 PKCS #11 v2.40 中也已引入了一个新错误代码和一个新值。已添加了以下新机制:

  • AES 签名和验证

    CKM_AES_XCBC_MAC
    CKM_AES_XCBC_MAC_96
    CKM_AES_CMAC
    CKM_AES_GMAC
  • AES 加密和解密

    CKM_AES_GCM
    CKM_AES_CCM
    CKM_AES_CFB128
  • SHA-512/t 消息摘要

    CKM_SHA512_224
    CKM_SHA512_256
    CKM_SHA512_T
  • 具有 HMAC 的 SHA-512/t 通用长度

    CKM_SHA512_224_HMAC_GENERAL
    CKM_SHA512_256_HMAC_GENERAL
    CKM_SHA512_T_HMAC_GENERAL
    CKM_SHA512_224_HMAC
    CKM_SHA512_256_HMAC
    CKM_SHA512_T_HMAC
  • SHA-512/t 密钥派生

    CKM_SHA512_224_KEY_DERIVATION
    CKM_SHA512_256_KEY_DERIVATION
    CKM_SHA512_T_KEY_DERIVATION
  • TLS 1.2

    CKM_TLS12_MASTER_KEY_DERIVE
    CKM_TLS12_MASTER_KEY_DERIVE_DH
    CKM_TLS12_KEY_AND_MAC_DERIVE
    CKM_TLS12_KEY_SAFE_DERIVE
    CKM_TLS_KDF - replacing CKM_TLS_PRF
    CKM_TLS_MAC - replacing CKM_TLS_PRF
  • 椭圆曲线的错误代码 CKR_CURVE_NOT_SUPPORTED

    如果无法支持特定的椭圆曲线,则会返回错误代码 CKR_CURVE_NOT_SUPPORTED。在上一个版本中,如果不支持椭圆曲线,则会返回 CKR_TEMPLATE_INCONSISTENT。

  • CK_UNAVAILABLE_INFORMATION

    在调用 C_GetAttributeValue() 后,如果属性由于无效或者不可用而无法返回,ulValueLen 将设置为 CK_UNAVAILABLE_INFORMATION。调用者必须通过对 ulValueLenCK_UNAVAILABLE_INFORMATION 进行比较来检查所返回的属性值是否无效或不可用。而且,调用者必须将 ulValueLen = 0 视为有效值。

  • 属性 CKA_DESTROYABLECKR_ACTION_PROHIBITED

    如果对象具有 CKA_DESTROYABLE = CK_FALSE 设置,则针对该特定对象请求 C_DestroyObject 应当会导致将 CKR_ACTION_PROHIBITED 作为错误代码返回。

  • 删除 CKU_SO 的限制

    此更改会删除在登录 CKU_SO 后让 R/O 保持打开状态的限制。尽管 R/O 会话现在可以与 CKU_SO 共存,但是这些会话将充当 CKS_RO_PUBLIC_SESSION。在 R/O 会话中,不能使用 CKU_SO 执行 C_Login

    CKR_SESSION_READ_ONLY_EXISTSCKR_SESSION_READ_WRITE_SO_EXISTS 已过时。

有关更多信息,请参见 SUNW_C_GetMechSession(3EXT)SUNW_C_KeyToObject(3EXT)libpkcs11(3LIB)pkcs11_softtoken(7)pkcs11_kms(7)pkcs11_tpm(7) 手册页。