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

第 5 章 基本監査報告機能の使用方法 (作業)

この章では、システム上のファイルの目録を作成する方法と、それらの目録を使用してシステムの整合性をチェックする方法について説明します。基本監査報告機能 (BART) を使用すると、一定期間にわたってシステムのファイルレベルチェックを行い、システムを包括的に検証できます。

この章の内容は次のとおりです。

基本監査報告機能 (概要)

BART は、完全にファイルシステムレベルで稼働するファイル追跡ツールです。BART を使用すると、配備済みのシステムにインストールされているソフトウェアスタックのコンポーネントについての情報をすばやく簡単に、かつ確実に収集できます。このツールには、時間のかかる管理作業を簡易化し、システムネットワークの管理に伴う負担を大幅に減らす効果があります。

BART を使用することで管理者は、既知のベースラインと比較し、ファイルレベルで見てどのような変化がシステムに起きたかを確認できます。BART はベースラインの作成に使用できるほか、インストールと構成がすべて完了しているシステムの目録を制御するためにも使用できます。作成したこのベースラインをあとでシステムのスナップショットと比較すれば、システムのインストール以後にシステムで発生したファイルレベルの変化を示すレポートが生成されます。

bart コマンドは、標準の UNIX コマンドです。bart コマンドの出力は、あとで処理できるようにファイルにリダイレクトできます。

BART の機能

BART は、強力で柔軟、かつシンプルな構文に重点を置いて設計されています。このツールは、異なる時点で特定のシステムの目録を生成するのに利用できます。システムファイルの検証が必要になった場合には、新旧の目録を比較してレポートを生成できます。また、複数の類似したシステムの目録を生成し、システム同士の比較も行えます。BART と既存の監査ツールの違いは、追跡の対象となる情報と、レポートされる情報の両方に関して BART は柔軟であることです。

BART には、ほかにも次のようなメリットや利用法があります。

BART コンポーネント

BART には、主要コンポーネントが 2 つ、オプションコンポーネントが 1 つ存在します。これらを次に示します。

BART 目録

bart create コマンドを使用して、特定の時点におけるシステムのファイルレベルスナップショットを作成できます。このコマンドでは、ファイルのカタログと、「目録」と呼ばれるファイル属性が出力されます。目録には、システム上のすべてのファイルまたは特定のファイルについての情報が示されます。これはファイルの属性についての情報が入ったものであり、MD5 チェックサムなどの一意の識別情報も含めることができます。MD5 チェックサムについての詳細は、md5(3EXT) のマニュアルページを参照してください。目録は、保存して、クライアントシステムとサーバーシステムの間で転送できます。


注 –

ファイルシステムのタイプが同じである場合を除き、BART がファイルシステムの境界を越えることはありません。この制約があるため、bart create コマンドの出力を予測しやすくなります。たとえば、引数を指定せずに bart create コマンドを実行すると、ルート (/) ディレクトリの下のすべてのファイルシステムがカタログ化されます。しかし、NFS ファイルシステム、TMPFS ファイルシステム、マウントされた CD-ROM はカタログ化されません。目録を作成するときは、ネットワーク上のファイルシステムは監査の対象としないでください。ネットワーク化されたファイルシステムを BART で監視すると、リソースを大量に消費し、ほとんど価値のない目録が生成されます。


BART 目録の詳細は、「BART 目録のファイル形式」を参照してください。

BART レポート

このレポートツールの入力情報は 3 つあります。 比較される目録 2 つと、ユーザーによって任意に指定される規則ファイル 1 つです。規則ファイルは、どのような相違が監視されるかを指定するものです。

2 つの目録、制御目録とテスト目録の比較には、bart compare コマンドを使用します。これらの目録は、bart create コマンドで使用するものと同じファイルシステム、オプション、および規則ファイルで用意する必要があります。

bart compare コマンドで出力されるのは、ファイルごとに 2 つの目録の相違を示したレポートです。「相違」は、両方の目録のためにカタログ化されている特定のファイルの属性変化です。2 つの目録間でファイルエントリの追加または削除があった場合も相違とみなされます。

相違を報告するときの制御レベルは 2 つあります。

目録の生成は 2 つの目録間の相違を報告するよりも負担が大きいため、これらのレベルの制御は計画的に行われます。目録の作成が終わると、さまざまな規則ファイルを使用して bart compare コマンドを実行し、異なる視点から目録を比較できます。

BART レポートの詳細は、「BART レポート」を参照してください。

BART 規則ファイル

規則ファイルは、bart コマンドへの入力情報として任意に指定できるテキストファイルです。このファイルは、取り込みについての規則と除外についての規則を使用します。規則ファイルは、カスタム目録とカスタムレポートの作成に使用されます。このファイルには、どのファイル群をカタログ化するか、特定のファイル群のどの属性を監視するかを指定できます。目録を比較する場合、目録間の相違を報告するには規則ファイルが役立ちます。規則ファイルを使用することで、システム上のファイルについての特定の情報を効率良く収集できます。

規則ファイルは、テキストエディタで作成できます。次に、規則ファイルを使用して行える作業を示します。


注 –

目的に合わせて、複数の複数の規則ファイルを作成できます。しかし、規則ファイルを使用して目録を作成する場合は、それらの目録を比較する際に同じ規則ファイルを使用する必要があります。規則ファイルを使用して作成された目録を比較する時に同じ規則ファイルを使用しないと、bart compare コマンドは不正な相違を多数表示します。

規則ファイルには、ユーザーエラーの結果として構文エラーなどのあいまいな情報も含めることができます。規則ファイルに誤った情報が含まれている場合は、それらのエラーも報告されます。


規則ファイルを使用してシステム上の特定のファイルやファイル属性を監視する場合は、計画が必要です。規則ファイルを作成する前に、システム上のどのファイルとファイル属性を監視するかを決定してください。何を達成するかに基づき、目録の作成、目録の比較、あるいはこれら双方の目的に規則ファイルを利用できます。

BART 規則ファイルの詳細は、「BART 規則ファイルの書式」と、bart_rules(4) のマニュアルページを参照してください。

BART の使用方法 (作業マップ)

タスク 

説明 

参照先 

目録を作成します。 

システムにインストールされているファイルごとにそれらの情報を表示する目録を取得します。 

「目録を作成する方法」

カスタム目録を作成します。 

システムにインストールされている特定のファイルについての情報を次に示す方法のいずれかで表示する目録を取得します。 

  • サブツリーを指定する

  • ファイル名を指定する

  • 規則ファイルを使用する

 

 

 

 

「目録をカスタマイズする方法」

 

 

同一システムの目録を一定期間で比較します。あるいは、異なるシステムの目録を制御システムの目録と比較します。 

一定期間における同一システムの変化を比較するレポートを取得します。あるいは、1 つまたは複数のシステムを制御システムと比較するレポートを取得します。 

「一定期間内で同一システムの目録を比較する方法」

「異なるシステムの目録を制御システムの目録と比較する方法」

(省略可能) BART レポートをカスタマイズします。 

次に示す方法のいずれかでカスタム BART レポートを取得します。 

  • 属性を指定する

  • 規則ファイルを使用する

 

 

 

「ファイル属性を指定して BART レポートをカスタマイズする方法」

「規則ファイルを使用して BART レポートをカスタマイズする方法」

BART の使用方法 (作業)

bart コマンドは、通常のユーザーとしても、スーパーユーザーとしても、あるいは Primary Administrator 役割を引き受けたユーザーとしても実行できます。ただし、bart コマンドを通常のユーザーとして実行する場合は、アクセス権のあるファイルのカタログ化と監視しか行えません (たとえば、自分のホーム内のファイルに関する情報のみ)。スーパーユーザーとして bart コマンドを実行する利点は、作成する目録に隠しファイルやプライベートファイルについての情報が含まれることです。これらの情報を監視することもあるでしょう。アクセス権を制限したファイル (/etc/passwd ファイルや /etc/shadow ファイル) に関する情報のカタログ化と監視が必要な場合は、bart コマンドをスーパーユーザーとして実行するか、あるいは同等の役割を引き受けてください。役割に基づくアクセス制御の実行についての詳細は、「RBAC の構成 (作業マップ)」を参照してください。

BART におけるセキュリティー上の考慮事項

bart コマンドをスーパーユーザーとして実行した場合、その出力は誰にでも読み取れます。この出力には、プライベートであることを意図するファイル名も含まれる可能性があります。bart コマンドの実行時にスーパーユーザーになる場合には、出力を適切に保護してください。たとえば、アクセス権を制限した状態で出力ファイルを生成するオプションを使用します。


注 –

この章に示されている作業と例は、スーパーユーザーによって実行された bart コマンドを示しています。特に明記しない限り、bart コマンドをスーパーユーザーとして実行するかどうかは任意に選択できます。


Procedure目録を作成する方法

システムの目録は、Solaris ソフトウェアの初期インストールが終わった直後に作成できます。このタイプの目録は、一定期間における同一システムの変化を比較するためのベースラインとなります。あるいは、この目録を使用し、異なるシステムの目録と比較することもできます。たとえば、ネットワーク上の各システムのスナップショットを作成し、各テスト目録を制御目録と比較する場合、テストシステムをベースライン構成と一致させるために必要な作業をすばやく判断できます。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. Solaris ソフトウェアのインストール後に制御目録を作成し、その出力をファイルにリダイレクトします。


    # bart create options > control-manifest
    
    -R

    目録の検査対象としてルートディレクトリを指定します。規則で指定されるパスはすべて、このディレクトリからの相対パスとなるように変換されます。目録で報告されるパスはすべて、このディレクトリからの相対パスとなります。

    -I

    カタログ化される個々のファイルの一覧 (コマンド行上で指定されるか、あるいは標準入力から読み取られる) を受け入れます。

    -r

    この目録の規則ファイルの名前です。 を付けて -r オプションを使用すると、規則ファイルが標準入力から読み取られます。

    -n

    ファイルリストに挙げられたすべての通常ファイルの署名を無効にします。このオプションは、パフォーマンスを上げる目的で使用できます。また、(システムログファイルの場合のように) ファイルリストの内容が変わる予定がある場合にも使用できます。

  3. 目録の内容を確認します。

  4. あとで利用できるように目録を保存します。

    目録にわかりやすい名前をつけてください。たとえば、システム名と目録が作成された日付を組み合わせます。


例 5–1 システム上のファイルごとに情報を一覧表示する目録を作成する

オプションをまったく指定せずに bart create コマンドを実行すると、システムにインストールされているファイルごとに情報がカタログ化されます。このタイプの目録は、元になるイメージから多数のシステムをインストールする場合のベースラインとして使用してください。また、同一のインストールが行われたかを確認する場合に、このタイプの目録を使用して比較を行うこともできます。

次に例を示します。


# bart create
! Version 1.0
! Thursday, December 04, 2003 (16:17:39)
# Format:
#fname D size mode acl dirmtime uid gid
#fname P size mode acl mtime uid gid
#fname S size mode acl mtime uid gid
#fname F size mode acl mtime uid gid contents
#fname L size mode acl lnmtime uid gid dest
#fname B size mode acl mtime uid gid devnode
#fname C size mode acl mtime uid gid devnode
/ D 1024 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3fd9ea47 0 0
/.java D 512 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3f8dc04d 0 10
/.java/.userPrefs D 512 40700 user::rwx,group::---,mask:---
other:--- 3f8dc06b 010
/.java/.userPrefs/.user.lock.root F 0 100600 user::rw-
group::---,mask:---,other:--- 3f8dc06b 0 10 -
/.java/.userPrefs/.userRootModFile.root F 0 100600 user::rw-,
group::---,mask:---,other:--- 3f8dc0a1 0 10 -
.
.
.
/var/sadm/pkg/SUNWdtmad/install/depend F 932 100644 user::rw-,
group::r--,mask:r--,other:r-- 3c23a19e 0 0 -
/var/sadm/pkg/SUNWdtmad/pkginfo F 594 100644 user::rw-
group::r--,mask:r--,other:r-- 3f81e416 0 0 -
/var/sadm/pkg/SUNWdtmad/save D 512 40755 user::rwx,group::r-x
mask:r-x,other:r-x 3f81e416 0 0
/var/sadm/pkg/SUNWdtmaz D 512 40755 user::rwx,group::r-x
mask:r-x,other:r-x 3f81e41b 0 0
/var/sadm/pkg/TSIpgxw/save D 512 40755 user::rwx
group::r-x,mask:r-x,other:r-x 3f81e892 0 0
.
.
.

各目録は、ヘッダーとエントリから構成されます。目録ファイルの各エントリは、ファイルタイプに応じて単一の行に示されます。たとえば、上記の出力における各目録エントリでは、タイプ F はファイルを示し、タイプ D はディレクトリを示します。また、サイズ、内容、ユーザー ID、グループ ID、およびアクセス権も表示されます。特殊文字を正しく処理するため、出力内のファイルエントリはコード化されたバージョンのファイル名でソートされます。この結果、すべてのエントリがファイル名をキーにして昇順に並べられます。標準でないファイル名 (改行文字やタブ文字が埋め込まれたものなど) については、ソート前にそれらの非標準文字が引用符で囲まれます。

! で始まる行には、目録についてのメタデータが示されてます。目録バージョン行には、目録の仕様バージョンが示されます。日付行には、目録が作成された日付が日付形式で示されます。date(1) のマニュアルページを参照してください。一部の行は、目録比較ツールによって無視されます。無視される行には、空の行や、空白しか入っていない行、# から始まるコメントなどがあります。


Procedure目録をカスタマイズする方法

目録は、次に示す方法のいずれかでカスタマイズできます。

  1. どのファイルのカタログ化および監視を行うのかを決定します。

  2. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  3. Solaris ソフトウェアのインストール後、次に示すオプションのいずれかを使用してカスタム目録を作成します。

    • サブツリーを指定する。


      # bart create -R root-directory
      
    • ファイル名 (1 つまたは複数) を指定する。


      # bart create -I filename...
      

      次に例を示します。


      # bart create -I /etc/system /etc/passwd /etc/shadow
      
    • 規則ファイルを使用する。


      # bart create -r rules-file
      
  4. 目録の内容を確認します。

  5. あとで利用できるように目録を保存します。


例 5–2 サブツリーを指定して目録を作成する

この例は、/etc/ssh サブツリーだけに含まれるファイルの情報が入った目録を作成する方法を示しています。


# bart create -R /etc/ssh
! Version 1.0
! Saturday, November 29, 2003 (14:05:36)
# Format:
#fname D size mode acl dirmtime uid gid
#fname P size mode acl mtime uid gid
#fname S size mode acl mtime uid gid
#fname F size mode acl mtime uid gid contents
#fname L size mode acl lnmtime uid gid dest
#fname B size mode acl mtime uid gid devnode
#fname C size mode acl mtime uid gid devnode
/ D 512 40755 user::rwx,group::r-x,mask:r-x,other:r-x 3f81eab9 0 3
/ssh_config F 861 100644 user::rw-,group::r--,mask:r--,
other:r-- 3f81e504 0 3 422453ca0e2348cd9981820935600395
/ssh_host_dsa_key F 668 100600 user::rw-,group::---,mask:---,
other:--- 3f81eab9 0 0 5cc28cdc97e833069fd41ef89e4d9834
/ssh_host_dsa_key.pub F 602 100644 user::rw-,group::r--,mask:r--,
other:r-- 3f81eab9 0 0 16118c736995a4e4754f5ab4f28cf917
/ssh_host_rsa_key F 883 100600 user::rw-,group::---,mask:---,
other:--- 3f81eaa2 0 0 6ff17aa968ecb20321c448c89a8840a9
/ssh_host_rsa_key.pub F 222 100644 user::rw-,group::r--,mask:r--,
other:r-- 3f81eaa2 0 0 9ea27617efc76058cb97aa2caa6dd65a
.
.
.


例 5–3 ファイル名を指定することによって目録をカスタマイズする

この例は、システム上の /etc/passwd ファイルと /etc/shadow ファイルについての情報だけを表示する目録を作成する方法を示しています。


# bart create -I /etc/passwd /etc/shadow
! Version 1.0
! Monday, December 15, 2003 (16:28:55)
# Format:
#fname D size mode acl dirmtime uid gid
#fname P size mode acl mtime uid gid
#fname S size mode acl mtime uid gid
#fname F size mode acl mtime uid gid contents
#fname L size mode acl lnmtime uid gid dest
#fname B size mode acl mtime uid gid devnode
#fname C size mode acl mtime uid gid devnode
/etc/passwd F 542 100444 user::r--,group::r--,mask:r--,
other:r-- 3fcfd45b 0 3 d6
84554f85d1de06219d80543174ad1a
/etc/shadow F 294 100400 user::r--,group::---,mask:---,
other:--- 3f8dc5a0 0 3 fd
c3931c1ae5ee40341f3567b7cf15e2

比較として、同じシステム上の /etc/passwd ファイルと /etc/shadow ファイルに対して ls -al コマンドを実行した場合の標準出力を次に示します。


# ls -al /etc/passwd
-r--r--r--   1 root     sys          542 Dec  4 17:42 /etc/passwd

# ls -al /etc/shadow
-r--------   1 root     sys          294 Oct 15 16:09 /etc/shadow


例 5–4 規則ファイルを使用して目録をカスタマイズする

この例は、/etc ディレクトリ内のファイルだけをカタログ化するために規則ファイルを使用して目録を作成する方法を示しています。この規則ファイルには、/etc/system ファイルの acl 属性の変化を監視するために bart compare コマンドによって使用される指示語も含まれます。


Procedure一定期間内で同一システムの目録を比較する方法

この作業は、一定期間内で同一のシステムに起きるファイルレベルの変化を監視する場合に行なってください。このタイプの目録は、セキュリティー侵害を検出して破損したファイルや異常な状態のファイルを見つけたり、システムのパフォーマンスの問題を解決したりするのに便利です。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. Solaris ソフトウェアのインストール後、システム上で監視するファイルの制御目録を作成します。


    # bart create -R /etc > control-manifest
    
  3. システムの変化を監視する任意の時点で、制御目録と同様の指定でテスト目録を作成します。


    # bart create -R /etc > test-manifest
    
  4. 制御目録をテスト目録と比較します。


    # bart compare options control-manifest  test-manifest > bart-report
    
    -r

    この比較の規則ファイルの名前です。 を付けて -r オプションを使用するのは、指示語が標準入力から読み取られることを意味します。

    -i

    ユーザーは、コマンド行から汎用指示語 IGNORE を設定できます。

    -p

    プログラムによる解析に対して地域対応化されていない標準的な出力を生成するプログラムモードです。

    control-manifest

    制御システムの bart create コマンドからの出力です。

    test-manifest

    テストシステムの bart create コマンドからの出力です。

  5. BART レポートを調べ、異常がないかを確認します。


例 5–5 同一システムの目録を一定期間で比較する

この例では、一定期間に /etc ディレクトリに発生した変化を監視します。このタイプの比較を行うと、システム上の重要ファイルが攻撃されていないかをすばやく確認できます。

上記の出力は、制御目録が作成されたあとに vfstab ファイルのアクセス権が変化したことを示しています。このレポートは、所有権、日付、内容などのファイル属性が変化していないかを確認するために使用できます。このタイプの情報をすぐに利用できるようにしておくと、ファイルを改ざんした可能性がある人物や、変化が起きた時点などを追跡しやすくなります。


Procedure異なるシステムの目録を制御システムの目録と比較する方法

システム同士の比較を行い、ベースラインシステムとほかのシステムの間にファイルレベルの相違がないかをすばやく確認できます。たとえば、ベースラインシステムに特定バージョンの Solaris ソフトウェアをインストールした場合で、ほかのシステムにも同一のパッケージがインストールされているかどうかを知りたいときには、それらのシステムの目録を作成し、続いてテスト目録を制御目録と比較できます。このタイプの比較では、制御システムと比較される各テストシステムについてファイルの内容の相違がすべて一覧表示されます。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. Solaris ソフトウェアのインストール後、制御目録を作成します。


    # bart create options > control-manifest
    
  3. 制御目録を保存します。

  4. テストシステムで、同じ bart オプションを使用して目録を作成し、出力をファイルにリダイレクトします。


    # bart create options > test1-manifest
    

    テスト目録に識別しやすい意味のある名前を付けます。

  5. 目録を比較する準備が整うまで、このテスト目録をシステムの中心的な場所に保存しておきます。

  6. 目録を比較する時点で、制御目録をテスト目録の場所へコピーするか、あるいはテスト目録を制御システムへコピーします。

    次に例を示します。

    # cp control-manifest /net/test-server/bart/manifests

    テストシステムが NFS マウントされた状態でない場合は、FTP などの信頼性のある方法によって制御目録をテストシステムにコピーしてください。

  7. 制御目録をテスト目録と比較し、出力をファイルにリダイレクトします。


    # bart compare control-manifest test1-manifest > test1.report
    
  8. BART レポートを調べ、異常がないかを確認します。

  9. 制御目録と比較を行いたいテスト目録ごとに手順 4 から 9 を繰り返します。

    テストシステムごとに、同じ bart オプションを使用してください。


例 5–6 異なるシステムの目録を制御システムの目録と比較する

この例では、制御目録を異なるシステムのテスト目録と比較することによって /usr/bin ディレクトリの内容に起きた変化を監視する方法について説明します。

上記の出力は、/usr/bin ディレクトリの su ファイルのグループ ID が制御システムのグループ ID と同じでないことを示しています。この情報は、異なるバージョンのソフトウェアがテストシステムにインストールされていないかということや、誰かがファイルを改ざんしていないかということなどの確認に便利です。


Procedureファイル属性を指定して BART レポートをカスタマイズする方法

ここでは、コマンド行でファイル属性を指定することによって BART レポートをカスタマイズする方法を説明します。この作業はオプション (省略可能) です。システム上の全ファイルまたは特定のファイルについての情報を一覧表示するベースライン目録を作成すると、特定のディレクトリ、サブディレクトリ、またはファイル (1 つまたは複数) に起きた変化を監視する任意の時点で各種の属性を指定して bart compare コマンドを実行できます。コマンド行で各種のファイル属性を指定し、同一目録についてさまざまな比較を行うことができます。

  1. 監視するファイル属性を決定します。

  2. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  3. Solaris ソフトウェアのインストール後、制御目録を作成します。

  4. 変化を監視する時点で、テスト目録を作成します。

    このテスト目録は制御目録と同様に作成してください。

  5. 目録を比較します。

    次に例を示します。


    # bart compare -i dirmtime,lnmtime,mtime control-manifest.121503 \
    test-manifest.010504 > bart.report.010504
    

    コンマは、コマンド行構文で指定する各属性を区切るために使用します。

  6. BART レポートを調べ、異常がないかを確認します。

Procedure規則ファイルを使用して BART レポートをカスタマイズする方法

ここでは、bart compare コマンドの入力情報として規則ファイルを指定することにより BART レポートをカスタマイズする方法を説明します。この作業もオプション (省略可能) です。規則ファイルを使用すると、BART レポートをカスタマイズし、1 つ以上のファイルまたはサブツリーの複数の属性を柔軟に指定できます。また、異なる複数の規則ファイルを使用することで、同じ目録についてさまざまな比較を行えます。

  1. Primary Administrator 役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 監視するファイルとファイル属性を決定します。

  3. テキストエディタを使用し、適切な指示語を指定して規則ファイルを作成します。

  4. Solaris ソフトウェアのインストール後、作成済みの規則ファイルを使用して制御目録を作成します。


    # bart create -r rules-file > control-manifest
    
  5. 制御目録と同様に指定してテスト目録を作成します。


    # bart create -r rules-file > test-manifest
    
  6. 同じ規則ファイルを使用して、制御目録をテスト目録と比較します。


    # bart compare -r rules-file control-manifest test-manifest > bart.report
    
  7. BART レポートを調べ、異常がないかを確認します。


例 5–7 規則ファイルを使用して BART レポートをカスタマイズする

次に示す規則ファイルには、bart create コマンドと bart compare コマンドの両方に適用される指示語が含まれています。この規則ファイルは、/usr/bin ディレクトリの内容についての情報を一覧表示するように bart create コマンドに指示します。さらに、このディレクトリのサイズと内容の変化だけを追跡するように bart compare コマンドに指示します。


# Check size and content changes in the /usr/bin directory.
# This rules file only checks size and content changes.
# See rules file example.

IGNORE all
CHECK size contents
/usr/bin

上記の出力では、bart compare コマンドによって /usr/bin ディレクトリにおける相違が報告されます。この出力は、/usr/bin/ypcat ファイルが削除されたことと、/usr/bin/gunzip ファイルが追加されたことを示しています。


BART 目録、BART 規則ファイル、BART レポート (参考情報)

この節では次の参考情報を示します。

BART 目録のファイル形式

目録ファイルの各エントリは、ファイルタイプに応じて単一の行に示されます。各エントリは、ファイルの名前である fname で始まります。ファイル名に使用された特殊文字が引き起こす解析上の問題を防ぐため、ファイル名はコード化されます。詳細は、「BART 規則ファイルの書式」を参照してください。

後続のフィールドは、次のファイル属性を表します。

type

ファイルの種類であり、次のような値となります。

  • B: ブロックデバイスノード

  • C: キャラクタデバイスノード

  • D: ディレクトリ

  • F: ファイル

  • L: シンボリックリンク

  • P: パイプ

  • S: ソケット

size

ファイルサイズ (バイト)。

mode

ファイルのアクセス権を示す 8 進の数値。

acl

ファイルの ACL 属性。ACL 属性を持つファイルの場合、acltotext() の出力が入ります。

uid

このエントリの所有者の、数値で示したユーザー ID。

gid

このエントリの所有者の、数値で示したグループ ID。

dirmtime

ディレクトリに最後に変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。

lnmtime

リンクに最後に変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。

mtime

ファイルに最後に変化が起きた時点。1970 年 1 月 1 日の 00:00:00 UTC から数えた秒数で示されます。

contents

ファイルのチェックサム値。この属性が指定されるのは通常ファイルのみです。コンテキストのチェックを無効にした場合と、チェックサムが計算できない場合は、このフィールドの値は になります。

dest

シンボリックリンクのリンク先。

devnode

デバイスノードの値。この属性が使用されるのは、キャラクタデバイスファイルとブロックデバイスファイルのみです。

BART 目録についての詳細は、bart_manifest(4) のマニュアルページを参照してください。

BART 規則ファイルの書式

bart コマンドの入力ファイルはテキストファイルです。これらのファイルは、目録に含められるファイルと、レポートに含められるファイル属性を指定する行から構成されます。この同じ入力ファイルは、両方の BART 機能で使用できます。#、空の行、空白を含む行は、ツールが無視します。

入力ファイルには、次に示す 3 種類の指示語が指定されます。


例 5–8 規則ファイルの書式


<Global CHECK/IGNORE Directives>
<subtree1> [pattern1..]
<IGNORE/CHECK Directives for subtree1>

<subtree2> [pattern2..]
<subtree3> [pattern3..]
<subtree4> [pattern4..]
<IGNORE/CHECK Directives for subtree2, subtree3, subtree4>


注 –

すべての指示語は指定された順に読み取られますが、あとから指定された指示語が先に指定された指示語に優先して読み取られる可能性があります。


行ごとに subtree 指示語が 1 つ存在します。この指示語は、絶対パス名で始まり、そのあとに 0 個以上のパターンマッチング文が続く必要があります。

規則ファイルの属性

bart コマンドは、CHECK 文と IGNORE 文を使用して追跡または無視の対象となる属性を定義します。各属性にはキーワードが関連付けられます。

属性「キーワード」を次に示します。

キーワード all は、すべてのファイル属性を意味します。

引用構文

BART が規則ファイルに使用する記述言語は、標準に準拠していないファイル名を表現する標準の UNIX 引用構文です。埋め込まれたタブ、スペース、改行、特殊文字は、ツールがファイル名を読み取ることができるようにそれらの 8 進形式にコード化されます。この変動的な引用構文では、埋め込みのキャリッジリターンを含むファイル名などがコマンドパイプラインで正しく処理されません。規則記述言語を使用することで、シェル構文だけでは表現が難しい効率の悪い複雑なファイル名フィルタリング基準を表現できます。

BART 規則ファイルや、BART で使用される引用構文についての詳細は、bart_rules(4) のマニュアルページを参照してください。

BART レポート

デフォルトモードでは、次の例に示すように bart compare コマンドは、ディレクトリ変更のタイムスタンプ (dirmtime) を除きシステムにインストールされているすべてのファイルをチェックします。


CHECK all
IGNORE	dirmtime

規則ファイルを指定すると、汎用指示語である CHECK allIGNORE dirmtime がこの順で規則ファイルの先頭に自動的に付けられます。

BART の出力

次の終了値が返されます。

0

成功

1

ファイル処理時の致命的でないエラー (アクセス権問題など)

>1

致命的なエラー (無効なコマンド行オプションなど)

レポーティングメカニズムとして、 詳細出力と、プログラムを考慮した出力の 2 種類を利用できます。

bart コマンドでサポートされる属性の一覧は、「規則ファイルの属性」を参照してください。

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