AIX命令参考大全,卷 5,s - u - tcbck 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 5,s - u

tcbck 命令

用途

审计系统的安全状态。

语法

检测方式

tcbck { -n | -p | -t| -y } [ -i ] [-o] { ALL | tree | { Name ... Class ... } }

更新方式

tcbck -a -f File | PathName Attribute = Value ...

tcbck -d -fFile | { PathName ... | Class ... }

tcbck -l /dev/filename /dev/filename

描述

tcbck 命令通过检测在 /etc/security/sysck.cfg sysck 数据库)文件中定义的文件安装来审计系统的安全状态。/etc/security/sysck.cfg 文件之中的每个文件定义可以包含一个或多个描述正确安装的属性。当不带标记和参数调用时,tcbck 命令打印其语法摘要。

tcbck 数据库通常定义作为可信计算库的一部分的所有文件和程序,但是 root 用户或安全组的成员可以选择只定义那些认为与安全相关的文件。

注:
该命令将其消息写入 stderr

标志

-a 添加或更新 sysck 数据库中的文件定义。
-d sysck 数据库中删除文件定义。
-f File 指定文件定义从 File 读入。
-i 当指定 tree 选项后,排除列在 treeck_nodir 属性中的目录下的文件系统。
-l (小写的 L)为管理员希望注册到可信计算库的 /dev/ 文件增加条目到 sysck.cfg 文件。
-n 指定检测方式,并指明将报告但不修正错误。
-o 写输出到 syslog。
-p 指定检测方式,并指明将修正但不报告错误。
-t 指定检测方式,指明将报告错误并提示询问是否应该修正错误。
-y 指定检测方式,并指明将修正并报告错误。

操作方式

tcbck 命令有两种操作方式:检测方式和更新方式。下面是它们各自的描述。

检测方式

在检测方式中,tcbck 命令检测已安装文件的定义。可以通过指定 ALL 值来检测 sysck 数据库(/etc/security/sysck.cfg 文件)中的所有文件定义,或通过指定 tree 值检测文件系统树中的所有文件。如果想要检测特定文件,可以使用 Name 参数来给出单个文件的路径名或给出 Class 参数将若干文件打成一个由类名定义的逻辑包,例如 audit。必须从以下选择其一:ALLtree 值,或由 ClassName 参数标识的一个或多个文件。

如果 tree 值为选择条件,则检测所有在文件系统树中的文件来确保所有相关文件已在 sysck 数据库中定义。对定义在 tcbck 数据库中的文件则按其定义检测。不在 tcbck 数据库中的文件一定不可

如果 tcbck 命令以检测方式运行并带有 tree 值和 -t 标记时出现错误,该命令会提供一个出错消息,并提示您确定如何或是否应纠正该错误。如果决定不删除该文件或关闭非法许可,则将提示您确定更新该数据库。如果请求更新,系统提供缺少的信息,诸如文件名、链接或未注册的设备名。

还必须包括一个标记(-n-p-t-y)来指定检测方式并标识错误处理方法。如果文件 /etc/security/sysck.cfg 中有一个重复节,将报告一个错误,但并不修正。

更新关键产品数据库(VPD)包括定义 VPD 管理器每一个文件的 typechecksumsize 属性。该信息用于验证正确的安装。如果这些属性未在 -f File 中定义,则将在程序安装或更新时计算它们。checksum 属性将用一个专门为 VPD 管理器定义的方法来计算。 有关文件属性的更多信息,请参阅修正错误

在更新时修改的文件定义仅是指示文件为可信计算库(TCB)的一部分的新定义。File 参数是一个节文件,包括 tcbck 格式的文件定义,在文件 /etc/security/sysck.cfg 中定义。当更新完成时,按节文件中的文件定义检测文件,并修正和报告错误。

要求 setuidsetgid 特权的程序必须在 tcbck 数据库里,否则当 tcbck 命令以检测方式运行时这些特权会被清除。

更新方式

在更新方式中,tcbck 命令为 FilePathNameClass 参数所指定的文件添加(-a)、删除(-d)或修改 /etc/security/sysck.cfg 文件中的文件定义。Class 参数允许您将若干文件打成一个由类名定义的逻辑包,例如 audit。tcbck 命令还删除 /etc/security/sysck.cfg 文件中指定节。

在更新方式中,tcbck 命令(-l)为指定的 /dev 条目增加或修改在 /etc/security/sysck.cfg 文件中定义的 /dev/ 条目。该标记应由管理员运行,用来添加新创建的并为 sysck.cfg 文件所信任的设备。在新设备未添加到 sysck.cfg 文件时,tree 选项生成未注册设备的警告。

-l 标记为命令行上列出的每一 /dev/ 条目创建一个节。节的信息来自 /dev 条目的当前状态。节包括:

设备名 /dev/ 条目名
文件类型 FILEDIRECTORYFIFOSYMLINKBLK_DEVCHAR_DEVMPX_DEV
所有者标识 所有者名
组标识 组名
许可权 所有者、组和其他人的读/写/执行许可权。SUIDSGIDSVTXTCB 属性位
目标 如果文件为符号链接,将列出目标文件。

要以 -a 标记添加或修改的文件定义可以在命令行上指定,或在文件中以 Attribute=Value 语句指定。可使用下列属性:

acl 文件的访问控制表。如果该值为,则除去 acl 属性。如果没有指定值,则命令会根据访问控制表中描述的格式计算值。
class 文件的逻辑组。必须指定一个值,因为无法计算出来。如果该值为,则从指定的文件节除去 class 属性。该值是 ClassName [ClassName ]。
checksum 文件的校验和。如果该值为,则除去 checksum 属性。如果未指定值,则该命令根据 sum 命令指定的格式计算值。该值为 sum -r 命令的输出,包含空格。
group 文件组。如果该值为,则除去 group 属性。如果未指定值,则该命令计算一个值,该值可以是组标识,也可以是组名。
links 指向该文件的硬链接。如果该值为,则除去 links 属性。必须指定一个值,因为无法计算出来。该值必须为绝对路径名,表示为 Path [, Path ...]。
mode 文件方式。如果该值为,则除去 mode 属性。如果没有指定值,则该命令计算值,它可以是八进制数字或字符串(rwx),并具有属性 tcbSUIDSGIDSVTX
owner 文件所有者。如果该值为,则除去 owner 属性。如果没有指定值,则该命令会计算值,它可以是用户标识或用户名。
program 文件关联的检测程序。如果该值为,则除去 program 属性。必须指定一个值,因为无法计算出来。该值必须为绝对路径名。如果指定了标志,则该值应表示为 Path, Flag
symlinks 指向文件的符号链接。如果该值为,则除去 symlinks 属性。必须指定一个值,因为无法计算出来。该值必须为绝对路径名,表示为 Path [, Path...]。
size 文件的大小,以字节表示。如果该值为,则除去 size 属性。如果未指定值,则该命令会计算值。该值为一个十进制值。
source 文件源。如果该值为,则除去 source 属性。如果未指定值,则创建一个适当类型的空文件。该值必须为绝对路径名。
type 文件类型。该值不可为。如果未指定值,则该命令会计算值,它可以是 FILEDIRECTORYFIFOBLK_DEVCHAR_DEVMPX_DEV 关键字。

可通过创建或修改 /etc/security/sysck.cfg 文件中的 sysck 节来添加、删除或修改 tcbck 命令的属性。 可使用下列属性:

checksum 计算文件校验和值的备用 checksum 命令。系统将每个文件名附加到该命令。如果该值为,则去除该备用 checksum 属性。该值为对每一文件运行的命令字符串。缺省字符串为 /usr/bin/sum -r <
setgids 要用 setgid 程序检测是否为无效的管理组的附加列表(ID 号大于 200 的组)。如果该值为,则除去 setgids 属性。该值为一个由逗号分隔的组名列表。
setuids 要用 setuid 程序检测是否为无效的管理用户的附加列表(ID 号大于 200 的用户)。如果该值为,则除去 setuids 属性。该值为一个由逗号分隔的用户名列表。
treeck_nodir tcbck 命令不验证的目录列表。如果该值为空,则除去 treeck_nodir 属性。该值为由逗号分隔的目录列表。排除该属性中的目录下的文件系统。用 -i 标记来排除这些文件系统。
treeck_novfs 为在检测已安装的文件系统树时 tcbck 命令不验证的文件系统列表。如果该值为,则除去 treeck_novfs 属性。该值为由逗号分隔的文件系统列表。

有关这些属性的更多信息,请参阅 /etc/security/sysck.cfg 文件,有关典型节的信息,请参阅示例

如果包含了无值的属性,则该命令试图从要改变的文件中计算该值。type 属性是强制性的,但其它不必指定。

修正错误

要修正错误,tcbck 命令通常将属性复位为已定义值。对于下列属性,命令按如下所述修改其操作:

checksum 通过清除文件的访问控制表来禁用文件,但不停止任何进一步的检测。
links 创建任何缺失的硬链接。如果存在到另一文件的链接,则删除该链接。
program 调用该程序,该程序必须存在并有绝对路径名。如果出错,将打印一条消息,但不采取其它操作。
size 通过清除文件的访问控制表来禁用文件,但不停止任何进一步的检测。
source 将源文件复制到由 File 参数标识的文件。如果源为空(null),则删除任何现有文件,并创建正确 type 的文件。
symlinks 创建缺失的符号链接。如果存在到另一文件的链接,则删除该链接。
type 通过清除文件的访问控制表来禁用文件,并停止任何进一步的检测。

如果使用 -t 标志和 tcbck 命令,会提示请您决定修正错误。如果回答,则修正错误。如果给出其它任何答复,则不修正错误。

安全

访问控制:该命令仅授予 root 用户和安全组的成员执行(x)访问权。该命令应 setuid 到 root 用户,并有可信计算库属性。

存取的文件:

方式 文件
r /etc/passwd
r /etc/group
r /etc/security/user
rw /etc/security/sysck.cfg
x /usr/bin/aclget
x /usr/bin/aclput
x /usr/bin/sum

审计事件:

事件 信息
TCBCK_Check 文件、错误、状态
TCBCK_Update 文件、功能

示例

  1. 将带有 aclchecksumclassgroupownerprogram 属性的 /bin/boo 文件添加到 tcbck 数据库,输入:

    tcbck -a /bin/boo acl checksum class=audit group owner\
    program=/bin/boock

    产生的节将包含之前所给出的属性,未定义的属性都会插入计算值。数据库将包含如下的节:

    /bin/boo:
           acl = 
           checksum = 48235
           class = audit
           group = system
           owner = root
           program = /bin/boock
           type = FILE          

    属性值添加到安装定义,但不检测正确性。program 属性值来自命令行,checksum 属性值用 checksum 程序计算,所有其它除 acl 之外的值,从文件 i-node 计算而来。

  2. 要指示应检测的文件大小,但不添加到数据库中(因为会在安装时扩展),请按 /etc/passwd 文件的下列示例使用 VOLATILE 关键字:

    /etc/passwd:
            type =  FILE
            owner = root
            group = system
            size  = 1234,VOLATILE
  3. 要从 tcbck 数据库删除 /bin/boo文件定义,输入:

    tcbck -d /bin/boo 
  4. 要从 tcbck 数据库删除所有带有 audit 的定义,输入:

    tcbck -d audit
  5. 要检测 tcbck 数据库中的所有文件,修正并报告所有错误,输入:

    tcbck -y ALL
  6. 要在已安装文件系统树的安全审计时不验证 /calvin/hobbes 文件系统,输入:

    tcbck -a sysck treeck_novfs=/calvin,/hobbes 
  7. 要在安全审计时不验证目录,输入:

    tcbck -a sysck treeck_nodir=/home/john
  8. 要将 jfhjsl 作为管理用户、将 developers 作为管理组添加到已安装文件的安全审计时的验证,输入:

    tcbck -a sysck setuids=jfh,jsl setgids=developers
  9. 为新创建的 /dev 条目 foobar 创建/修改 sysck.cfg 节条目,输入:

    tcbck -l /dev/foo /dev/bar
    注:
    添加这些条目,即将它们注册为可信计算库的一部分。
注意: 尽管特殊字符“$”和“?”在该例程中是允许的,在文件名中使用它们可能会引起潜在的问题,诸如引起歧义的文件。

文件

/usr/bin/tcbck 指定到 tcbck 命令的路径。
/etc/security/sysck.cfg 指定到系统配置数据库的路径。

相关信息

aclget 命令、grpck 命令、installp 命令、pwdck 命令、sum 命令、usrck 命令。

AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中的 Software Vital Product Data (SWVPD)

《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『访问控制表』,讨论访问控制表的格式并提供一个示例。

关于用户的识别和认证、任意访问控制、可信计算库以及审计的详细信息,请参阅《AIX 5L V5.2 安全指南》中的『安全管理』

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]