SunSHIELD 基本セキュリティモジュール

監査構成の計画を立てる方法

まず、監査トレール記憶領域の計画を作成します。

  1. /etc/security/audit_class ファイル内で、サイトで必要なクラスを定義します。

    デフォルトのクラスが適切であれば、新しいクラスを定義する必要はありません。audit_class(4) のマニュアルページを参照してください。

  2. /etc/security/audit_event 内でイベントとクラスのマッピングを設定します。

    デフォルトのマッピングがサイトのニーズに合っている場合は、この手順は不要です。audit_event(4) のマニュアルページを参照してください。

  3. サイトで必要な監査の程度を決定します。

    サイトのセキュリティ上のニーズを考慮して、監査トレールの格納に必要なディスク領域を決定します。

    サイトのセキュリティを確保しながら記憶領域の要件を削減する方法と、監査記憶領域を設定する方法のガイドラインについては、「監査コストの制御」「効率的な監査」「監査トレールについて」を参照してください。

  4. どのマシンを監査サーバとして使用し、どのマシンを監査サーバのクライアントとして使用するかを決定します。

  5. 監査ファイルシステムの名前と位置を決定します。

  6. どのマシンが監査サーバ上のどの監査ファイルシステムを使用するかの計画を作成します。

記憶領域の計画を作成したら、監査の対象となるユーザと監査内容を決定します。

  1. システム単位で監査したい監査クラスと、監査クラスの選択に使用するフラグを決定します。

  2. 一部のユーザを他のユーザより詳しく監査するかどうかを決定し、ユーザの監査特性の変更に使用するフラグを決定します。

    詳細は、「プロセスの監査特性」を参照してください。

  3. 最小空き領域 (minfree) を決定します。これは弱い制限値とも呼ばれ、警告が送られる前に監査ファイルシステム上に残っていなければならない空き領域です。

    使用可能な容量が minfree のパーセンテージを下回ると、監査デーモンは次の適切なファイルシステムに切り替えて、弱い制限値を超えたことを示す通知を送ります (適切な監査ファイルシステムについては、「監査デーモンが使用できるディレクトリ」 を参照)。

    デフォルトでは、各マシン上で一定の程度の監査が構成されます。デフォルトの audit_control ファイルには、表 2-6 の各行が入っています。各行によって、監査ディレクトリが /var/audit として設定され、システムワイドな監査フラグ (lo) が 1 つ設定され、minfree のしきい値が 20 パーセントに設定され、非帰因フラグが 1 つ設定されます。

    表 2-6 audit_control ファイル内のエントリ
    dir:/var/audit
    flags:lo
    minfree:20
    naflags:ad

  4. /etc/security/audit_control ファイルを編集します。

    1. このマシン上でどの監査ファイルシステムを監査トレールの格納に使用するかを指定します。

      監査ディレクトリごとに dir: エントリをカレントマシンで使用できるようにします。分散システムの監査ディレクトリ方式を設定する方法については、「監査トレールについて」を参照してください。

    2. flags: フィールド内で、すべてのユーザのプロセスに適用されるシステムワイドな監査フラグを指定します。

      flags: フィールドで指定したシステムワイドな監査フラグは、すべてのユーザのプロセスに適用されるので、各マシン上で同じフラグを設定する必要があります。

    3. 必要であれば、minfree のパーセンテージを変更して監査のしきい値を拡大または縮小します。

    4. 特定のユーザに帰因しないイベントに適用される naflags: を指定します。

  5. 変更が必要であれば、auditconfig を使用して監査方針を変更します。

    auditconfig(1M) のマニュアルページ、または auditconfig コマンド」を参照してください。方針を指定する変数は動的なカーネル変数なので、その値はシステムの終了時に保存されません。したがって、適切な起動スクリプトを使用して目的の方針を設定する必要があります。

  6. cnt 方針を設定するか、または監査管理アカウントを設定します。

    監査トレールがあふれた場合に備えて、システムを引き続き機能させられるように cnt 方針を使用可能にするか、または監査されなくても機能できるようにアカウントを 1 つ使用可能にしなければなりません。このアカウントを設定する手順は次のとおりです。

    1. /etc/passwd ファイルに次のエントリを追加します。

      audit::0:1::/:/sbin/sh

      注 -

      このエントリは、root が所有するプロセスを正常に機能させるために、root ユーザのエントリの下に追加しなければなりません。


    2. 対応するエントリを /etc/shadow ファイルに追加するには、次のように入力します。

      # pwconv
      pwconv: WARNING user audit has no password

      監査アカウントのパスワードは手順 d. で設定します。

    3. /etc/security/audit_user ファイルに次のエントリを追加して、このアカウントの監査をオフにします。

      audit:no:all
    4. passwd を使用して新しいアカウントのパスワードを設定します。

      # passwd audit
      

      このアカウントを通じて実行される処置は監査の対象外なので注意してください。システムの完全性を保護するには、簡単には推測できないパスワードを使用してください。この例では、アカウント名として audit を使用しています。アカウントを設定する場合は、サイトに適した名前を選択してください。