在 Oracle® Solaris 11.2 中确保文件的安全和确认文件完整性

退出打印视图

更新时间: 2014 年 7 月
 
 

如何创建控制清单

此过程介绍了如何创建用于比较的基准线或控制清单。基于一个中心映像安装多个系统时,可使用此类清单。或者,在需要确认安装完全一致时使用此类清单运行比较。有关控制清单的更多信息,请参见BART 清单。要了解格式约定,请参见Example 2–1


注 - 不要尝试对联网的文件系统进行编目。使用 BART 监视联网的文件系统会占用大量的资源,但生成的清单价值很小。

开始之前

您必须成为 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  1. 在根据您的站点的安全要求对 Oracle Solaris 系统进行定制后,请创建一个控制清单并将输出重定向到一个文件。
    # bart create options > control-manifest
    –R

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

    –I

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

    –r

    此清单的规则文件的名称。- 参数从标准输入中读取规则文件。

    –n

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

  2. 检查清单的内容。

    有关格式的说明,请参见Example 2–1

  3. (u53ef选)保护清单。

    用来保护系统清单的一种方法是将其置于只有 root 帐户可以访问的目录中。

    # mkdir /var/adm/log/bartlogs
    # chmod 700 /var/adm/log/bartlogs
    # mv control-manifest /var/adm/log/bartlogs

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

示例 2-1  BART 清单格式说明

在本示例中,样例输出后面是对清单格式的说明。

# bart create
! Version 1.1
! HASH SHA256
! Saturday, September 07, 2013 (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 和权限的信息。输出中的文件项按文件名的编码版本顺序排列,以便正确地处理特殊字符。所有项均按文件名以升序排列。所有非标准文件名(例如那些包含嵌入的换行符或制表符的文件名)都会在排序之前将非标准字符用引号括起来。

! 开头的行提供有关清单的元数据。清单版本行指明清单规范版本。散列行指明所使用的散列机制。有关用作校验和的 SHA256 散列的更多信息,请参见 sha2(3EXT) 手册页。

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