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

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

BART 功能

BART 组件

BART 清单

BART 报告

BART Rules 文件

使用 BART(任务)

BART 安全注意事项

使用 BART(任务列表)

如何创建清单

如何定制清单

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

如何比较不同系统的清单

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

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

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

BART 清单文件格式

BART Rules 文件格式

Rules 文件属性

引用语法

BART 报告

BART 输出

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

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

词汇表

索引

使用 BART(任务)

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

BART 安全注意事项

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


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


使用 BART(任务列表)

任务
说明
参考
创建 BART 清单。
生成有关系统上安装的每个文件的信息列表。
创建定制 BART 清单。
生成有关系统上安装的特定文件的信息列表。
比较 BART 清单。
生成比较一个系统在一段时间内发生的更改的报告。

或者,生成将一个或几个系统与控制系统比较的报告。

(可选的)定制 BART 报告。
通过以下方法之一生成定制 BART 报告:
  • 指定属性。

  • 使用 rules 文件。

如何创建清单

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

开始之前

要创建系统清单,必须采用 root 角色。

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

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

    -I

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

    -r

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

    -n

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

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

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

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

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

例如:

# bart create
! Version 1.1
! HASH SHA256
! Wednesday, September 07, 2011 (22:22:27)
# 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
3ebc418eb5be3729ffe7e54053be2d33ee884205502c81ae9689cd8cca5b0090 0 0
.
.
.
/zone D 512 40755 user::rwx group::r-x,mask:r-x,other:r-x 3f81e892
154de3e7bdfd0d57a074c9fae0896a9e2e04bebfe5e872d273b063319e57f334 0 0
.
.
.

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

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

如何定制清单

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

开始之前

您必须是 root 角色。

  1. 确定要在目录中列出和监视的文件。
  2. 安装了 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
  3. 检查清单的内容。
  4. 保存清单供将来使用。

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

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

开始之前

要创建并比较包含公共对象的清单,必须采用 root 角色。

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

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

    -i

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

    -p

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

    control-manifest

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

    test-manifest

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

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

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

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

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

如何比较不同系统的清单

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

开始之前

要比较系统清单,必须采用 root 角色。

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

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

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

    例如:

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

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

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

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

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

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

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

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

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

开始之前

您必须是 root 角色。

  1. 确定需要监视的文件属性。
  2. 安装了 Oracle Solaris 软件之后,创建一个控制清单。
  3. 在需要监视更改时创建测试清单。

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

  4. 比较这些清单。

    例如:

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

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

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

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

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

开始之前

您必须是 root 角色。

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

示例 6-4 通过使用 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 文件。