上一主题: 存储示例策略的位置下一主题: 遵从性和最佳实践策略


示例策略脚本

每个策略都是一个 selang 脚本,包括的注释说明了该策略的用途及其包含的规则。 编写示例策略脚本用于演示最佳实践:

示例:策略脚本注释

来自 Solaris SPARC 9 示例策略的以下片段展示了示例策略的注释方式。 使用 selang 语法规则并以哈希符号 (#) 开头的行是注释。

#
# * Home Directories Protection Policy *
# **************************************
#
# This policy uses the FILE class to protect the home
# directories of sensitive users so that only the owner
# of each directory can access it.
#
# Prerequisites:
#_____None
#
# Roles:
#_____None
#
# Containers:
#_____POL_HOME_DIR______- home directories of sensitive users
#
# define container POL_HOME_DIR
# Protect home directories
editres   CONTAINER POL_HOME_DIR audit(<!POLICY_AUDIT_MODE>) owner(+nobody) comment("AC Sample - Protect home directories")
authorize CONTAINER POL_HOME_DIR uid(* _undefined)   access(NONE)
editres ACVAR ("HOME_OS_ADMIN") value("/root") type(static)
editusr (<!USER_OS_ADMIN>)
# define specific FILE resources and connect them with POL_HOME_DIR
editres FILE ("<!HOME_OS_ADMIN>/*") audit(<!POLICY_AUDIT_MODE>) owner(+nobody) defaccess(NONE) <!POLICY_WARNING_MODE>  comment("AC Sample")
authorize FILE ("<!HOME_OS_ADMIN>/*") uid(<!USER_OS_ADMIN>) access(ALL)
chres CONTAINER POL_HOME_DIR mem+("<!HOME_OS_ADMIN>/*") of_class(FILE)

示例:示例策略中的容器

下列 selang 输出显示 POL_SYS_FILES 的属性。 AIX 示例策略包含保护系统文件的子策略。

AC> sr container POL_SYS_FILES
Data for CONTAINER 'POL_SYS_FILES'
------------------------------------------------------------------------
ACLs______________:
____Accessor________________Access
____ROL_SYSADMIN__(GROUP__)_All
____ROL_SYSTEM____(GROUP__)_All
____*_____________(USER___)_R, Chdir
_____undefined____(USER___)_R, Chdir
Members___________:
____/boot/*_______(FILE__)
____/dev/kmem_____(FILE__)
____/dev/mem______(FILE__)
____/dev/port_____(FILE__)
Audit mode________: Failure
Owner_____________: +nobody_______(USER__)
Create time_______:_10-Dec-2008 10:32
Update time_______:_10-Dec-2008_10:35
Updated by________: root__________(USER__)
Comment___________: AC Sample - Protect OS system files

示例:示例策略中的变量

来自 Red Hat Enterprise Linux 5 示例策略的以下片段展示了示例策略使用变量的方式。 在该片段中,示例策略定义了本地主机的可能名称和管理用户 root 的主目录。

#
# * AC Variables Definitions *
# ****************************
#
# The rules in this section define variables that policies use.
# Variables:
#     LOCALHOST             : list of possible names for local host
#     POLICY_AUDIT_MODE     : set policies audit mode
#     POLICY_DEFACCESS      : set defaccess of policies` resources
#
editres ACVAR ("LOCALHOST") value("localhost") type(static)
editres ACVAR ("LOCALHOST") value+("127.0.0.1")
editres ACVAR ("LOCALHOST") value+("0.0.0.0")
editres ACVAR ("POLICY_AUDIT_MODE")   value("FAILURE") type(static)
editres ACVAR ("POLICY_DEFACCESS")    value("ALL")     type(static)