SPECIALPGM クラス

SPECIALPGM クラスは、特定のプログラムに特別なセキュリティ権限を指定します。
cminder12901jp
SPECIALPGM クラスは、特定のプログラムに特別なセキュリティ権限を指定します。
SPECIALPGM クラスの各レコードには、次のいずれかの機能があります。
  • Windows の場合は、backup、DCM、PBF、PBN、STOP、SURROGATE、REGISTRY、KILL の各プログラムを登録します。UNIX の場合は、xdm、backup、mail、DCM、PBF、PBN、stop、および surrogate の各プログラムを登録します。
  • 特別な権限付与によって保護する必要があるアプリケーションを論理ユーザ ID に関連付けます。 これにより、誰が実行しているかではなく
    が実行されているかによって、アクセス許可を効率的に設定できます。
注:
SPECIALPGM クラスにプログラムを定義する場合、FILE クラスにもプログラムを定義することをお勧めします。 FILE リソースは、実行可能ファイルが承認なく変更(置換または破損)されないようにすることで実行可能ファイルを保護し、PROGRAM リソースは、
Privileged Identity Manager
が実行されていないときに変更されていた場合にプログラムが実行されないようにします。
注:
受信ネットワーク インターセプト イベントに対しレコードを SPECIALPGM クラスに定義できません。 これは、受信ネットワーク インターセプト イベントがこのコンテキストにプロセス名を持ってないために起こります。 インターセプト イベントに対する監査レコードの作成をバイパスするには、TCP クラスの対応するレコードの AUDIT プロパティを [NONE] に設定します。
PGMTYPE プロパティを使用して、システム サービス、デーモン、またはその他の特別なプログラムを登録します。
SEOSUID プロパティおよび NATIVEUID プロパティを使用して、論理ユーザをプログラムに割り当てます。
SPECIALPGM クラス レコードのキーは、特殊プログラムへのパス、または特殊プログラムの範囲またはパターンへのパスです。
注:
SPECIALPGM クラスのテーブルに配置できるルールの最大数は 512 です。
以下の定義では、このクラス レコードに含まれるプロパティについて説明します。 ほとんどのプロパティは変更可能で、selang インターフェースまたは管理インターフェースを使用して操作することができます。 変更できないプロパティには、
「情報のみ」
と記載されます。
  • COMMENT
    レコードに含める追加情報を定義します。 コメントは、認証に使用されません。
    制限:
    255 文字。
  • CREATE_TIME
    (情報のみ)レコードが作成された日時が表示されます。
  • NATIVEUID
    プログラムまたはプロセスを起動するユーザを指定します。 すべてのユーザを指定するには、* を使用します。
    このプロパティを変更するには、chres コマンド、editres コマンド、または newres コマンドの nativeuid パラメータを使用します。
    注:
    Privileged Identity Manager
    の旧バージョンとの後方互換性を維持するために、NATIVEUID プロパティの代わりに UNIXUID プロパティを使用できます。
  • OWNER
    レコードを所有するユーザまたはグループを定義します。
  • PGMTYPE
    アクセスを許可する際に、無視するアクセス チェックのタイプを決定します。
    • バックアップ
      READ アクセス、CHDIR アクセス、および UTIME アクセスを省略します。
      注:
      バックアップを実行する方法は 2 つあります。 バックアップ プログラムを実行したユーザが root 以外のユーザである場合は、このユーザを OPERATOR として定義する必要があります。 バックアップ プログラムを実行したのが root である場合、バックアップ プログラムを SPECIALPGM クラスに pgmtype(backup) として登録するだけで済みます。
    • changeid
      (UNIX のみ) PAM を有効にしたサロゲート ツールを除くすべての ID 変更ツールを省略します。
      例: er specialpgm /bin/mail pgmtype(changeid)
    • dcm
      (Windows) STOP イベントを除くすべてのイベントに対するセキュリティ チェックを省略します。
      (UNIX)READ イベントおよび EXEC イベントに対するセキュリティ チェックを省略します。
    • fullbypass
      認可およびデータベース チェックをすべて省略します。
      Privileged Identity Manager
      は、このプロパティがあるプロセスを無視します。また、プロセス イベントのレコードはいずれも 監査、トレースまたはデバッグ ログ内に表示されません。
    • kill
      (Windows のみ)プロセスに対するプログラム終了を省略します。
      たとえば、次のルールでは、プロセスがアクセス マスク KILL で サービス(プロセス)のハンドルを開こうとする場合、services.exe に省略されます。
      nr specialpgm c:\Windows\system32\services.exe pgmtype(kill)
      Windows Server 2008 の場合、サービスの停止および開始を管理する services.exe プロセスは、アクセス タイプ KILL でサービス(プロセス)のハンドルを開いて、プロセス終了および開始を管理します。 Windows Server 2008 でのインストール時に、services.exe を見つける検出プロセスが実行され、services.exe に対する省略ルールが作成されます。 この省略がない場合、services.exe が サービスのハンドルを開こうとするとき、監査イベント拒否になります。
    • 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. 以下のコマンドを使用して、機密ファイルを
    Privileged Identity Manager
    に定義します。
    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)
この結果、デーモンがファイルにアクセスすると、
Privileged Identity Manager
は、root ユーザではなく論理ユーザをファイルのアクセサとして認識します。 ハッカーが root ユーザとしてファイルにアクセスしようとしても、アクセスできません。
例: Windows ファイルの保護
C:\DATABASE\data にあるファイルを保護するために、データベースの管理者は、firmdb_filemgr.exe というファイル サーバ サービスを使用します。 このファイル サーバは、C:\Program Files\dbfirm\bin\firmdb_filemgr.exe にあります。 このサービスは通常システム アカウントで実行され、データはあらゆるシステム ハックが可能な状態になっています。
以下の例では、これらのファイルの唯一のアクセサとして論理ユーザが定義されます。つまり、他のユーザはアクセスを制限されます。
  1. 以下のコマンドを使用して、機密ファイルを
    Privileged Identity Manager
    に定義します。
    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)
この結果、サービスがファイルにアクセスすると、
Privileged Identity Manager
は、システム アカウントではなく論理ユーザをファイルのアクセサとして認識します。 ハッカーがシステム アカウントでファイルにアクセスしようとしても、アクセスできません。