各ポリシーは selang スクリプトになっており、その中のコメントによって、ポリシーの目的と含まれているルールが説明されています。 サンプル ポリシー スクリプトはベスト プラクティスの実例を示すために提供されます。
サンプル ポリシーには注釈が追加されているため、サンプル ポリシーの各セクションで何が実行されるのかを理解するのに役立ちます。
サンプル ポリシーでは、関連するリソースを 1 つのコンテナ リソースにまとめています。 この方法により、共通のポリシーが関連するすべてのリソースに一度で適用されます。 ポリシー ルール(ACL)を個々のリソースに適用する必要はありません。 たとえば、ポリシーで 1 つのコンテナを使用して、すべてのシステム環境設定ファイルをまとめることができます。
ポリシー コンテナでは、命名規則 POL_container_name を使用します。 これらのコンテナをサブポリシーと見なすことができます。 たとえば、OS サンプル ポリシーでは、POL_SYS_CONF コンテナを使用して OS 環境設定ファイルを保護します。
ユーザの管理を簡略化するために、サンプル ポリシーではロールに ACL を適用します。 各ロールでは CA ControlMinder のユーザ グループが使用され、このグループに、実際のユーザを追加できます。
ポリシー ロールでは、命名規則 ROL_role_name を使用します。 たとえば、サンプル ポリシーは、adm および lp のような組み込みのシステム ユーザに対して ROL_SYSTEM グループを使用します。 多くのポリシーでは、ユーザに(適切なシステム操作に必要な)幅広い権限を割り当てていますが、ユーザがログインに使用できないように権限を無効にすることができます。
デプロイ時に適用する変更を最小限に抑える必要があるため、サンプル ポリシーでは CA ControlMinder 変数を使用します。 サンプル ポリシーは、組み込み変数を使用してローカルのシステム リソース(例えば、ローカル ホストの端末ルール)を保護します。 また、ポリシーの変更を簡略化するためにユーザ定義の変数も使用します。 たとえば、ユーザ定義の変数に管理者ユーザのホーム ディレクトリを含めることができます。 管理者ユーザが別のホーム ディレクトリを使用する場合、ユーザ定義の変数を一度書き換えるだけで、影響を受けるすべてのルールが自動的に変更されます。
例: ポリシー スクリプト コメント
以下の 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: AccessorAccess 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-200810: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)
|
Copyright © 2013 CA.
All rights reserved.
|
|