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.  使用基本审计报告工具(任务)

基本审计报告工具(概述)

BART 功能

BART 组件

BART 清单

BART 报告

BART Rules 文件

使用 BART(任务列表)

使用 BART(任务)

BART 安全注意事项

如何创建清单

如何定制清单

如何比较同一个系统在一段时间内的清单

如何比较不同系统的清单

如何通过指定文件属性定制 BART 报告

如何通过使用 Rules 文件定制 BART 报告

BART 清单、Rules 文件和报告(参考)

BART 清单文件格式

BART Rules 文件格式

Rules 文件属性

引用语法

BART 报告

BART 输出

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

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 审计(参考)

词汇表

索引

使用 BART(任务)

您可以使用一般用户、超级用户或承担 Primary Administrator(主管理员)角色的用户身份来运行 bart 命令。如果以一般用户身份运行 bart 命令,则只能在目录中列出和监视您有权访问的文件(如起始目录中的文件)。以超级用户身份运行 bart 命令的优势是,您创建的清单中会包含有关要监视的隐藏文件和私有文件的信息。如果需要在目录中列出和监视有关具有限制性权限的文件(例如,/etc/passwd/etc/shadow 文件)的信息,请以超级用户身份运行 bart 命令。有关使用基于角色的访问控制的更多信息,请参见基于角色的访问控制(概述)

BART 安全注意事项

以超级用户身份运行 bart 命令会使任何人都能读取其输出。此输出可能包含私有的文件名。如果以超级用户身份运行 bart 命令,请采取适当的措施保护输出。例如,使用可生成具有限制性权限的输出文件的选项。


注 - 本章中的过程和示例显示了由超级用户运行的 bart 命令。除非另有说明,否则以超级用户身份运行 bart 命令为可选操作。


如何创建清单

可以在初始安装 Oracle Solaris 软件之后立即创建系统的清单。此类型清单可提供用于比较同一个系统在一段时间内发生的更改的基准线。或者,也可以将此清单与不同系统的清单进行比较。例如,如果为网络中的每个系统创建快照,然后将每个测试清单与控制清单进行比较,则可以迅速确定需要执行哪些操作来实现测试系统与基准线配置的同步。

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

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

  2. 在安装了 Oracle Solaris 软件之后,创建一个控制清单并将输出重定向到文件。
    # bart create options > control-manifest
    -R

    指定清单的根目录。由规则指定的所有路径都会被解释为此目录的相对路径。清单中报告的所有路径均为此目录的相对路径。

    -I

    接受要在目录中列出的单个文件的列表(无论是从命令行执行此选项,还是从标准输入中读取此选项)。

    -r

    此清单的 rules 文件的名称。请注意, 在与 -r 选项一起使用时,会从标准输入读取 rules 文件。

    -n

    禁用文件列表中所有常规文件的内容签名。此选项可用于改善性能。或者,可以在需要更改文件列表的内容时使用此选项,这与系统日志文件的情况类似。

  3. 检查清单的内容。
  4. 保存清单供将来使用。

    为清单选择一个有意义的名称。例如,使用创建清单的系统名称及日期。

示例 5-1 创建可列出有关系统上每个文件的信息的清单

如果运行 bart create 命令时不带任何选项,则会在目录中列出有关系统上安装的每个文件的信息。基于一个中心映像安装多个系统时,可使用此类清单作为基准线。或者,在需要确保安装完全一致时使用此类清单运行比较。

例如:

# bart create
! Version 1.0
! Thursday, December 04, 2003 (16:17:39)
# Format:
#fname D size mode acl dirmtime uid gid
#fname P size mode acl mtime uid gid
#fname S size mode acl mtime uid gid
#fname F size mode acl mtime uid gid contents
#fname L size mode acl lnmtime uid gid dest
#fname B size mode acl mtime uid gid devnode
#fname C size mode acl mtime uid gid devnode
/ D 1024 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3fd9ea47 0 0
/.java D 512 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3f8dc04d 0 10
/.java/.userPrefs D 512 40700 user::rwx,group::---,mask:---
other:--- 3f8dc06b 010
/.java/.userPrefs/.user.lock.root F 0 100600 user::rw-
group::---,mask:---,other:--- 3f8dc06b 0 10 -
/.java/.userPrefs/.userRootModFile.root F 0 100600 user::rw-,
group::---,mask:---,other:--- 3f8dc0a1 0 10 -
.
.
.
/var/sadm/pkg/SUNWdtmad/install/depend F 932 100644 user::rw-,
group::r--,mask:r--,other:r-- 3c23a19e 0 0 -
/var/sadm/pkg/SUNWdtmad/pkginfo F 594 100644 user::rw-
group::r--,mask:r--,other:r-- 3f81e416 0 0 -
/var/sadm/pkg/SUNWdtmad/save D 512 40755 user::rwx,group::r-x
mask:r-x,other:r-x 3f81e416 0 0
/var/sadm/pkg/SUNWdtmaz D 512 40755 user::rwx,group::r-x
mask:r-x,other:r-x 3f81e41b 0 0
/var/sadm/pkg/TSIpgxw/save D 512 40755 user::rwx
group::r-x,mask:r-x,other:r-x 3f81e892 0 0
.
.
.

每个清单都包括一个文件头和多个文件项。每个清单文件项均单独占据一行,具体取决于文件类型。例如,对于以上输出中的每个清单项,类型 F 指定文件,而类型 D 指定目录。同时列出的还有关于大小、内容、用户 ID、组 ID 和权限的信息。输出中的文件项按文件名的编码版本顺序排列,以便正确地处理特殊字符。所有项均按文件名以升序排列。所有非标准文件名(例如那些包含嵌入的换行符或制表符的文件名)都会在排序之前将非标准字符用引号括起来。

! 开头的行提供有关清单的元数据。清单版本行指明清单规范版本。日期行以日期格式显示清单的创建日期。请参见 date(1) 手册页。清单比较工具会忽略某些行。被忽略的行包括空白行、仅包含空格的行,以及以 # 开头的注释。

如何定制清单

可以通过以下方法之一定制清单:

  1. 确定要在目录中列出和监视的文件。
  2. 承担 Primary Administrator(主管理员)角色,或成为超级用户。

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

  3. 安装了 Oracle Solaris 软件之后,使用以下选项之一创建定制清单:
    • 指定子树:

      # bart create -R root-directory
    • 指定一个或多个文件名:

      # bart create -I filename...

      例如:

      # bart create -I /etc/system /etc/passwd /etc/shadow
    • 使用 rules 文件:

      # bart create -r rules-file
  4. 检查清单的内容。
  5. 保存清单供将来使用。

示例 5-2 通过指定子树创建清单

此示例说明如何创建仅包含有关 /etc/ssh 子树中文件的信息的清单。

# bart create -R /etc/ssh
! Version 1.0
! Saturday, November 29, 2003 (14:05:36)
# Format:
#fname D size mode acl dirmtime uid gid
#fname P size mode acl mtime uid gid
#fname S size mode acl mtime uid gid
#fname F size mode acl mtime uid gid contents
#fname L size mode acl lnmtime uid gid dest
#fname B size mode acl mtime uid gid devnode
#fname C size mode acl mtime uid gid devnode
/ D 512 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3f81eab9 0 3
/ssh_config F 861 100644 user::rw-,group::r--,mask:r--,
other:r-- 3f81e504 0 3 422453ca0e2348cd9981820935600395
/ssh_host_dsa_key F 668 100600 user::rw-,group::---,mask:---,
other:--- 3f81eab9 0 0 5cc28cdc97e833069fd41ef89e4d9834
/ssh_host_dsa_key.pub F 602 100644 user::rw-,group::r--,mask:r--,
other:r-- 3f81eab9 0 0 16118c736995a4e4754f5ab4f28cf917
/ssh_host_rsa_key F 883 100600 user::rw-,group::---,mask:---,
other:--- 3f81eaa2 0 0 6ff17aa968ecb20321c448c89a8840a9
/ssh_host_rsa_key.pub F 222 100644 user::rw-,group::r--,mask:r--,
other:r-- 3f81eaa2 0 0 9ea27617efc76058cb97aa2caa6dd65a
.
.
.

示例 5-3 通过指定文件名定制清单

此示例说明如何创建仅列出有关系统上 /etc/passwd/etc/shadow 文件的信息的清单。

# bart create -I /etc/passwd /etc/shadow
! Version 1.0
! Monday, December 15, 2003 (16:28:55)
# Format:
#fname D size mode acl dirmtime uid gid
#fname P size mode acl mtime uid gid
#fname S size mode acl mtime uid gid
#fname F size mode acl mtime uid gid contents
#fname L size mode acl lnmtime uid gid dest
#fname B size mode acl mtime uid gid devnode
#fname C size mode acl mtime uid gid devnode
/etc/passwd F 542 100444 user::r--,group::r--,mask:r--,
other:r-- 3fcfd45b 0 3 d6
84554f85d1de06219d80543174ad1a
/etc/shadow F 294 100400 user::r--,group::---,mask:---,
other:--- 3f8dc5a0 0 3 fd
c3931c1ae5ee40341f3567b7cf15e2

下面对比列出了同一系统上 /etc/passwd/etc/shadow 文件的 ls -al 命令的标准输出。

# ls -al /etc/passwd
-r--r--r--   1 root     sys          542 Dec  4 17:42 /etc/passwd
# ls -al /etc/shadow
-r--------   1 root     sys          294 Oct 15 16:09 /etc/shadow

示例 5-4 通过使用 Rules 文件定制清单

此示例说明如何通过使用 rules 文件创建一个清单,仅在清单中列出 /etc 目录中的文件。同一个 rules 文件还包括一些指令,bart compare 命令使用这引起指令监视 /etc/system 文件的 acl 属性更改。

如何比较同一个系统在一段时间内的清单

要监视同一个系统在一段时间内的文件级别更改时,可使用此过程。此类型的清单可以帮助您找到损坏或异常的文件,检测安全违规,或对系统的性能问题进行故障排除。

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

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

  2. 在安装了 Oracle Solaris 软件之后,创建一个要在系统上监视的文件的控制清单。
    # bart create -R /etc > control-manifest
  3. 在需要监视系统更改时,创建一个在准备方式上与控制清单完全相同的测试清单。
    # bart create -R /etc > test-manifest
  4. 将控制清单与测试清单进行比较。
    # bart compare options control-manifest test-manifest > bart-report
    -r

    用于此次比较的 rules 文件的名称。将 -r 选项和 一起使用表示将从标准输入中读取指令。

    -i

    允许用户从命令行设置全局 IGNORE 指令。

    -p

    生成标准非本地化输出以进行程序解析的程序模式。

    control-manifest

    控制系统的 bart create 命令的输出。

    test-manifest

    测试系统的 bart create 命令的输出。

  5. 检查 BART 报告中的异常情况。

示例 5-5 比较同一个系统在一段时间内的清单

此示例说明如何监视 /etc 目录在两个时间点之间发生的更改。通过此类比较,可以迅速确定系统上的重要文件是否受到威胁。

上面的输出表明 vfstab 文件的权限自创建了控制清单以来已发生更改。此报告可以用于检查所有权、日期、内容或任何其他文件属性是否发生了更改。具备此类信息有助于跟踪可能的文件篡改者和更改可能发生的时间。

如何比较不同系统的清单

可以运行系统间的比较,这样您能够迅速确定在基准线系统与其他系统之间是否存在任何文件级别差异。例如,如果已经在基准线系统上安装了特定版本的 Oracle Solaris 软件,并且需要了解其他系统是否也安装了相同的软件包,则可以创建这些系统的测试清单,然后将测试清单与控制清单进行比较。此类比较会列出与控制系统比较的每个测试系统在文件内容方面的任何差异。

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

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

  2. 安装了 Oracle Solaris 软件之后,创建一个控制清单。
    # bart create options > control-manifest
  3. 保存该控制清单。
  4. 在测试系统上,使用相同的 bart 选项创建一个清单,并将输出重定向到文件。
    # bart create options > test1-manifest

    为测试清单选择一个独特而有意义的名称。

  5. 将测试清单保存在系统上的中心位置,直至可以开始比较清单为止。
  6. 需要比较清单时,将控制清单复制到测试清单的位置。或者,将测试清单复制到控制系统。

    例如:

    # cp control-manifest /net/test-server/bart/manifests

    如果测试系统不是 NFS 挂载的系统,请使用 FTP 或其他可靠方法,将控制清单复制到测试系统。

  7. 将控制清单与测试清单进行比较,并将输出重定向到文件。
    # bart compare control-manifest test1-manifest > test1.report
  8. 检查 BART 报告中的异常情况。
  9. 对于每个需要与控制清单比较的测试清单,重复执行步骤 4 至步骤 9。

    对于每个测试系统使用相同的 bart 选项。

示例 5-6 将不同系统的清单与控制系统的清单进行比较

此示例说明如何通过将控制清单与不同系统的测试清单进行比较,来监视 /usr/bin 目录内容的更改。

上面的输出表明 /usr/bin 目录中 su 文件的组 ID 与控制系统中的相应组 ID 不同。此信息有助于确定测试系统上是否安装了不同版本的软件,或者是否可能有人篡改了文件。

如何通过指定文件属性定制 BART 报告

此过程为可选过程,说明如何通过从命令行指定文件属性来定制 BART 报告。如果创建了列出有关系统上所有文件或特定文件的信息的基准线清单,则可以在需要监视特定目录、子目录、一个或多个文件的更改时运行 bart compare 命令,并指定不同的属性。通过从命令行指定不同的文件属性,可以针对同一清单运行不同类型的比较。

  1. 确定需要监视的文件属性。
  2. 承担 Primary Administrator(主管理员)角色,或成为超级用户。

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

  3. 安装了 Oracle Solaris 软件之后,创建一个控制清单。
  4. 在需要监视更改时创建测试清单。

    按照控制清单的准备方式准备测试清单。

  5. 比较这些清单。

    例如:

    # bart compare -i dirmtime,lnmtime,mtime control-manifest.121503 \
    test-manifest.010504 > bart.report.010504

    请注意,可使用逗号分隔在命令行语法中指定的各个属性。

  6. 检查 BART 报告中的异常情况。

如何通过使用 Rules 文件定制 BART 报告

此过程也是可选过程,说明如何通过使用 rules 文件作为 bart compare 命令的输入来定制 BART 报告。通过使用 rules 文件,可以定制 BART 报告,从而能够灵活地为多个文件或子树指定多个属性。可以使用不同的 rules 文件针对同一清单运行不同的比较。

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

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

  2. 确定需要监视的文件和文件属性。
  3. 使用文本编辑器创建包含适当指令的 rules 文件。
  4. 安装了 Oracle Solaris 软件之后,使用所创建的 rules 文件创建一个控制清单。
    # bart create -r rules-file > control-manifest
  5. 创建在准备方式上与控制清单完全相同的测试清单。
    # bart create -r rules-file > test-manifest
  6. 使用同一个 rules 文件比较控制清单与测试清单。
    # bart compare -r rules-file control-manifest test-manifest > bart.report
  7. 检查 BART 报告中的异常情况。

示例 5-7 通过使用 Rules 文件定制 BART 报告

以下 rules 文件同时包含 bart create 命令和 bart compare 命令的指令。此 rules 文件指示 bart create 命令列出有关 /usr/bin 目录内容的信息。此外,该 rules 文件还指示 bart compare 命令仅跟踪同一个目录的大小和内容的更改。

# Check size and content changes in the /usr/bin directory.
# This rules file only checks size and content changes.
# See rules file example.

IGNORE all
CHECK size contents
/usr/bin

在上面的输出中,bart compare 命令报告了 /usr/bin 目录中的差异。该输出表明删除了 /usr/bin/ypcat 文件,添加了 /usr/bin/gunzip 文件。