Solaris のシステム管理 (セキュリティサービス)

監査サービスで使用されるファイル

監査サービスでは、次のファイルが使用されます。

system ファイル

/etc/system ファイルには、カーネルが初期設定で読み込み、システム動作をカスタマイズするためのコマンドが格納されます。bsmconv および bsmunconv シェルスクリプトは、監査機能を起動および終了するときに使用され、/etc/system ファイルを変更します。bsmconv シェルスクリプトは、/etc/system ファイルに次の行を追加します。


set c2audit:audit_load=1

set c2audit:audit_load=1 エントリは、システムのブート時に監査用のカーネルモジュールをロードします。bsmunconv シェルスクリプトは、システムのリブート時に監査を無効にします。このコマンドは、/etc/system ファイルから c2audit の行を削除します。

syslog.conf ファイル

/etc/syslog.conf ファイルは、audit_control ファイルと一緒に使用して、監査レコードをテキスト形式で格納します。syslog ユーティリティーが監査レコードを格納できるように、syslog.conf ファイルを設定できます。例は、syslog 監査ログの構成方法」を参照してください。

audit_class ファイル

/etc/security/audit_class ファイルは、監査クラスを定義します。監査クラスは、監査イベントのグループです。audit_control ファイル内のこのクラス名を使用して、監査するイベントのクラスを事前選択します。クラスには、失敗したイベントだけ、または正常なイベントだけを選択する接頭辞を使用できます。詳細は、「監査クラスの構文」を参照してください。

スーパーユーザーまたはそれと同等の役割を持つ管理者は、監査クラスの定義を変更できます。管理者は、audit_class ファイルをテキストエディタで編集することによって、新しい監査クラスを定義したり、既存クラスの名前を変更したり、既存クラスにその他のさまざまな変更を施したりすることができます。詳細は、audit_class(4) のマニュアルページを参照してください。

audit_control ファイル

各システム上の/etc/security/audit_control ファイルには、auditd デーモンの構成情報が含まれます。このファイルを使用すると、すべてのシステムが、その監査レコードを格納する遠隔監査ファイルシステムをマウントできるようになります。

audit_control ファイルには、次の 5 種類の情報を指定できます。各行の情報は、キーワードで始まります。

audit_control ファイルの詳細は、audit_control(4) のマニュアルページを参照してください。プラグインについては、「監査プラグイン」audit_binfile(5) および audit_syslog(5) のマニュアルページを参照してください。


例 31–2 audit_control ファイルの例

次の例は、システム noddy で使用する audit_control ファイルです。noddy では、監査サーバー blinken 上で 2 つの監査ファイルシステムを使用し、2 つ目の監査サーバー winken からマウントされる 3 つ目の監査ファイルシステムを使用します。3 つ目のファイルシステムは、blinken 上の監査ファイルシステムがいっぱいであるか使用できないときにだけ使用されます。minfree の値として 20% を指定しているため、ファイルシステムの使用率が 80% に達した時点で警告スクリプトが実行されます。次の設定では、監査対象としてログイン操作と管理操作が指定されています。これらの操作について、その成功と失敗が監査されます。ファイルシステムオブジェクト作成の失敗を除くすべての失敗が、監査対象となります。また、ユーザーに起因しないイベントも監査されています。syslog 監査ログはより少ない監査イベントを記録します。このログには、失敗したログインと失敗した管理操作のテキストサマリーが記録されます。

Solaris 10 リリースでは、dir 行および minfree 行は非推奨です。次の例では、plugin 行に改行が含まれていません。


flags:lo,am,-all,^-fc
naflags:lo,nt
plugin:name=audit_binfile.so; p_minfree=20; p_dir=/var/audit/blinken/files,
/var/audit/blinken.1/files,/var/audit/winken
plugin:name=audit_syslog.so; p_flags=-lo,-am

audit_event ファイル

/etc/security/audit_event ファイルには、監査イベントから監査クラスへのマッピングのデフォルト値が格納されます。このファイルを編集して、クラスのマッピングを変更できます。クラスのマッピングを変更したときは、システムをリブートするか、変更したマッピングをカーネルに読み込むために auditconfig -conf コマンドを実行する必要があります。詳細は、audit_event(4) のマニュアルページを参照してください。

audit_startup スクリプト

システムがマルチユーザーモードに移行すると、/etc/security/audit_startup スクリプトが監査サービスを自動的に構成します。auditd デーモンは、スクリプトが次のタスクを実行してから起動します。

詳細は、audit_startup(1M) のマニュアルページを参照してください。

audit_user データベース

/etc/security/audit_user データベースは、システム全体の事前選択クラスを個々のユーザーごとに変更します。audit_user データベース内のユーザーエントリに追加するクラスは、audit_control ファイルにある設定を次の 2 つの方法で変更します。

audit_user データベースの各ユーザーエントリには、次の 3 つのフィールドがあります。


username:always-audit-classes:never-audit-classes

監査フィールドは、順番に処理されます。

たとえば、ファイルシステムオブジェクトの正常な読み取り動作を除き、システム全体の監査設定を tamiko というユーザーに適用するとします。次の audit_user エントリでの 2 番目のコロン (:) の位置に注意してください。


tamiko:^+fr:no  modify system defaults for fr

前述のエントリは、「正常なファイル読み取り動作を除くすべての動作を監査する」ことを意味しています。

ユーザー tamiko について、正常なファイル読み取り動作を除くすべての動作を監査する場合、次のエントリを使用します。


tamiko:all,^+fr:no  audit everything except fr

ユーザー tamiko の正常なファイル読み取り動作について、システムのデフォルト設定を上書きするとします。次のエントリは、「常にすべての動作を監査するが、正常なファイルの読み取り動作はまったく監査しない」ことを意味しています。


tamiko:all:+fr    override system defaults for fr

注 –

正常終了したイベントと失敗したイベントは別々に取り扱われます。プロセスが生成する監査レコードの数は、イベントが正常終了した場合よりも失敗した場合のほうが多くなる可能性があります。


audit_warn スクリプト

auditd デーモンで監査レコードの書き込み中に異常な状態が発生すると、/etc/security/audit_warn スクリプトは電子メールエイリアスに通知します。このスクリプトをサイトに合わせてカスタマイズすることで、手動による対処が必要な状態を警告するようにしたり、そのような状態を自動的に処理するための方法を指定したりできます。エラーが発生すると、audit_warn スクリプトは、daemon.alert の重要度で syslog にメッセージを書き込みます。syslog.conf を使用すると、syslog メッセージのコンソール表示を設定できます。audit_warn スクリプトはさらに、audit_warn 電子メールエイリアスにもメッセージを送信します。このエイリアスは、監査構成の一部として設定します。

auditd デーモンは、次の条件を検出すると audit_warn スクリプトを起動し、audit_warn エイリアスに電子メールを送信します。

perzone 監査ポリシーが設定されている場合、非大域ゾーンの auditd のインスタンスがゾーンの audit_warn スクリプトを呼び出します。詳細は、audit_warn(1M) のマニュアルページを参照してください。

bsmconv スクリプト

/etc/security/bsmconv スクリプトは、監査サービスを有効にします。bsmunconv コマンドは、監査サービスを無効にします。bsmconv スクリプトを実行したあと、監査ディレクトリと監査構成ファイルを設定します。リブート時に、監査が有効になります。

詳細は、bsmconv(1M) のマニュアルページを参照してください。