データベース サーバやアプリケーション デーモンなどのミッション クリティカルなプロセスは、サービス妨害攻撃から保護する必要があります。 ネイティブ UNIX セキュリティ システムでは、プロセス ユーザ ID に基づいてプロセスの保護を行います。 これは、ネイティブ UNIX の環境では、root ユーザはすべてのプロセスに対して何でも実行できることを意味します。 CA ControlMinder は、プロセスで実行されている実行可能ファイルに基づいたルールを定義することによって、UNIX プロセスの保護を補強します。 CA ControlMinder プロセスの保護は、そのプロセスのユーザ ID に依存しません。 CA ControlMinder で保護するすべてのプロセスを PROCESS クラスのレコードに定義する必要があります。
たとえば、ASCII ビューアである /bin/more の強制終了(kill)を阻止するには、以下の手順に従います。
newres PROCESS /bin/more defaccess(N) owner(nobody)
このコマンドは、強制終了(kill)することができないプロセスとして /bin/more を定義します。したがって、デフォルトのアクセス権限は、none(N)です。 owner(nobody) を設定すると、たとえこのルールを定義したユーザであっても、/bin/more プロセスを強制終了(kill)することはできません。
/bin/more /tmp/seosd.trace
kill %1
この試みは失敗し、CA ControlMinder では、「アクセス許可が拒否されました」というメッセージが表示されます。
例外として、特定のユーザが /bin/more プロセスを強制終了(kill)できるようにするには、以下の selang コマンドを入力します。
authorize PROCESS /bin/more uid(username)
注: システム上の他のバイナリ実行可能ファイルの強制終了(kill)を防止する場合も、同じ手順に従います。
CA ControlMinder では、通常の kill シグナル(SIGTERM)、およびアプリケーションでマスクできない kill シグナル(SIGKILL および SIGSTOP)が保護されます。 CA ControlMinder は、SIGHUP や SIGUSR1 などの他のシグナルをプロセスに渡し、kill シグナルを無視するか、kill シグナルに反応するかを決定します。
|
Copyright © 2013 CA.
All rights reserved.
|
|