前のトピック: SEOS クラス

次のトピック: SUDO クラス

SPECIALPGM クラス

SPECIALPGM クラスは、特定のプログラムに特別なセキュリティ権限を指定します。

SPECIALPGM クラスの各レコードには、次のいずれかの機能があります。

注: SPECIALPGM クラスにプログラムを定義する場合、FILE クラスにもプログラムを定義することをお勧めします。 FILE リソースは実行可能ファイルが許可なく変更(置換または破損)されないようにすることで実行可能ファイルを保護し、PROGRAM リソースは CA Access Control が実行されていないときに変更されていた場合にプログラムが実行されないようにします。

: 受信ネットワーク インターセプト イベントに対しレコードを SPECIALPGM クラスに定義できません。 これは、受信ネットワーク インターセプト イベントがこのコンテキストにプロセス名を持ってないために起こります。 インターセプト イベントに対する監査レコードの作成をバイパスするには、TCP クラスの対応するレコードの AUDIT プロパティを [NONE] に設定します。

PGMTYPE プロパティを使用して、システム サービス、デーモン、またはその他の特別なプログラムを登録します。

SEOSUID プロパティおよび NATIVEUID プロパティを使用して、論理ユーザをプログラムに割り当てます。

SPECIALPGM クラス レコードのキーは、特殊プログラムへのパス、または特殊プログラムの範囲またはパターンへのパスです。

注: SPECIALPGM クラスのテーブルに配置できるルールの最大数は 512 です。

以下の定義では、このクラス レコードに含まれるプロパティについて説明します。 ほとんどのプロパティは変更可能で、selang インターフェースまたは管理インターフェースを使用して操作することができます。 変更できないプロパティには、「情報のみ」と記載されます。

COMMENT

レコードに含める追加情報を定義します。 この情報が権限付与に使用されることはありません。

制限: 255 文字。

CREATE_TIME

(情報のみ)レコードが作成された日時が表示されます。

NATIVEUID

プログラムまたはプロセスを起動するユーザを指定します。 すべての CA Access Control ユーザを指定するには、* を使用します。

このプロパティを変更するには、chres コマンド、editres コマンド、または newres コマンドの nativeuid パラメータを使用します。

注: CA Access Control の旧バージョンとの後方互換性を維持するために、NATIVEUID プロパティの代わりに UNIXUID プロパティを使用できます。

OWNER

レコードを所有するユーザまたはグループを定義します。

PGMTYPE

アクセスを許可する際に、CA Access Control が無視するアクセス チェックのタイプを決定します。

backup

READ アクセス、CHDIR アクセス、および UTIME アクセスを省略します。

注: バックアップを実行する方法は 2 つあります。 バックアップ プログラムを実行したユーザが root 以外のユーザである場合は、このユーザを OPERATOR として定義する必要があります。 バックアップ プログラムを実行したのが root である場合、バックアップ プログラムを SPECIALPGM クラスに pgmtype(backup) として登録するだけで済みます。

changeid

(UNIX のみ) su のような PAM を有効にしたサロゲート ID 変更ツールを無視します。

例: er specialpgm /bin/su pgmtype(changeid)

dcm

STOP イベントを除くすべてのイベントに対するセキュリティ チェックを省略します。

fullbypass

CA Access Control 認可およびデータベース チェックをすべてバイパスします。 CA Access Control は、このプロパティがあるプロセスを無視します。また、プロセス イベントのレコードはいずれも CA Access Control 監査、トレースまたはデバッグ ログ内に表示されません。

kill

(Windows のみ)プロセスに対するプログラム終了を省略します。

たとえば、次のルールでは、プロセスがアクセス マスク KILL で CA Access Control サービス(プロセス)のハンドルを開こうとする場合、services.exe に省略されます。

nr specialpgm c:¥Windows¥system32¥services.exe pgmtype(kill)

Windows Server 2008 の場合、サービスの停止および開始を管理する services.exe プロセスは、アクセス タイプ KILL で CA Access Control サービス(プロセス)のハンドルを開いて、プロセス終了および開始を管理します。 Windows Server 2008 でのインストール時に、CA Access Control は services.exe を見つける検出プロセスを実行し、services.exe に対する省略ルールを作成します。 この省略がない場合、services.exe が CA Access Control サービスのハンドルを開こうとするとき、CA Access Control 監査イベント拒否になります。

mail

(UNIX のみ)setuid イベントおよび setgid イベントに対するデータベース チェックを無視します。 mail によるこのデータベース チェックの省略により、アクセスを試みるメールをトレースできます。

なし

以前に設定された PGMTYPE を削除します。

pbf

ファイル処理イベントに対するデータベース チェックを省略します。

pbn

ネットワーク関連のイベントに対するデータベース チェックを省略します。

propagate

(UNIX のみ) PGMTYPE でプログラムから呼び出されるプログラムに独自のセキュリティ権限を伝達します。 これを設定しない場合、SPECIALPGM 権限が親プログラムに影響するのみです。

注: セキュリティ権限の伝達は、PBF、PBN、DCM、FULLBYPASS、および SURROGATE 権限の場合にのみ有効です。

registry

(Windows のみ)Windows レジストリを操作するプログラムに対するデータベース チェックを省略します。

stop

STOP 機能に対するデータベース チェックを省略します。

surrogate

カーネル内の ID 変更イベントに対するデータベース チェックを省略します。 surrogate を使用してデータベース チェックを省略した場合は、トレースを行うことができません。

xdm

(UNIX のみ)制限されたネットワーク範囲(6000 ~ 6010)に対してネットワーク イベント(TCP クラス、HOST クラス、および CONNECT クラスなど)を省略します。

このプロパティを変更するには、chres コマンド、editres コマンド、または newres コマンドの pgmtype パラメータを使用します。

SEOSUID

この特別なプログラムを実行する権限がある、代理論理ユーザを定義します。 この論理ユーザは、データベースの USER クラスのレコードに定義されている必要があります。

このプロパティを変更するには、chres コマンド、editres コマンド、または newres コマンドの seosuid パラメータを使用します。

UPDATE_TIME

(情報のみ)レコードが最後に変更された日時を示します。

UPDATE_WHO

(情報のみ)更新を実行した管理者を示します。

例: UNIX ファイルの保護

/DATABASE/data/* にあるファイルを保護するために、データベースの管理者は、ファイル サーバ デーモン firmdb_filemgr を使用します。 このファイル サーバは、/opt/dbfirm/bin/firmdb_filemgr にあります。 このデーモンは通常 root 権限で実行され、データはルート シェル ハックによってアクセスが可能な状態になっています。

以下の例では、これらのファイルの唯一のアクセサとして論理ユーザが定義されます。つまり、他のユーザはアクセスを制限されます。

  1. 以下のコマンドを使用して、「機密」ファイルを CA Access Control に定義します。
    newres file /DATABASE/data/* defaccess(NONE)owner(nobody)
    
  2. ファイルにアクセスする論理ユーザを定義します。
    newusr firmDB_mgr
    
  3. 論理ユーザ firmDB_mgr のみにファイルへのアクセスを許可します。
    authorize file /DATABASE/data/* uid(firmDB_mgr) access(ALL)
    
  4. 最後に、論理ユーザ firmDB_mgr が firmdb_filemgr を実行できるようにします。
    newres SPECIALPGM /opt/dbfirm/bin/firmdb_filemgr unixuid(root) ¥
    seosuid(firmDB_mgr)
    

この結果、デーモンがファイルにアクセスすると、CA Access Control は、root ユーザではなく論理ユーザをファイルのアクセサとして認識します。 ハッカーが root ユーザとしてファイルにアクセスしようとしても、アクセスできません。

例: Windows ファイルの保護

C:¥DATABASE¥data にあるファイルを保護するために、データベースの管理者は、firmdb_filemgr.exe というファイル サーバ サービスを使用します。 このファイル サーバは、C:¥Program Files¥dbfirm¥bin¥firmdb_filemgr.exe にあります。 このサービスは通常システム アカウントで実行され、データはあらゆるシステム ハックが可能な状態になっています。

以下の例では、これらのファイルの唯一のアクセサとして論理ユーザが定義されます。つまり、他のユーザはアクセスを制限されます。

  1. 以下のコマンドを使用して、「機密」ファイルを CA Access Control に定義します。
    newres file C:¥DATABASE¥data¥* defaccess(NONE)owner(nobody)
    
  2. ファイルにアクセスする論理ユーザを定義します。
    newusr firmDB_mgr
    
  3. 論理ユーザ firmDB_mgr のみにファイルへのアクセスを許可します。
    authorize file C:¥DATABASE¥data¥* uid(firmDB_mgr) access(ALL)
    
  4. 最後に、論理ユーザ firmDB_mgr が firmdb_filemgr を実行できるようにします。
    newres SPECIALPGM ("C:¥Program Files¥dbfirm¥bin¥firmdb_filemgr.exe") ¥
    nativeuid(system) seosuid(firmDB_mgr)
    

この結果、サービスがファイルにアクセスすると、CA Access Control は、システム アカウントではなく論理ユーザをファイルのアクセサとして認識します。 ハッカーがシステム アカウントでファイルにアクセスしようとしても、アクセスできません。