前のトピック: SEOS クラス次のトピック: SUDO クラス


SPECIALPGM クラス

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

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

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

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

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

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

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

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

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

COMMENT

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

制限: 255 文字。

CREATE_TIME

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

NATIVEUID

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

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

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

OWNER

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

PGMTYPE

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

backup

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

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

changeid

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

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

dcm

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

(UNIX)バイパス セキュリティは READ イベントおよび EXEC イベントをチェックします。

fullbypass

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

kill

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

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

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

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

mail

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

none

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

pbf

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

pbn

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

propagate

この PGMTYPE でプログラムから呼び出されるプログラムに独自のセキュリティ権限を伝達します。 これを設定しない場合、SPECIALPGM 権限が親プログラムに影響するのみです。 SPGM バッチ ファイルは、伝達を含め、実行可能ファイルに対してのみサポートされています。

注: セキュリティ権限の伝達は、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 ControlMinder に定義します。
    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 ControlMinder は、root ユーザではなく論理ユーザをファイルのアクセサとして認識します。 ハッカーが root ユーザとしてファイルにアクセスしようとしても、アクセスできません。

例: Windows ファイルの保護

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

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

  1. 以下のコマンドを使用して、「機密」ファイルを CA ControlMinder に定義します。
    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 ControlMinder は、システム アカウントではなく論理ユーザをファイルのアクセサとして認識します。 ハッカーがシステム アカウントでファイルにアクセスしようとしても、アクセスできません。