Sun Java System Access Manager 7 2005Q4 管理ガイド

ログ機能

ログサービスにはいくつかの特殊な機能が用意されていて、追加機能として有効にできます。このような機能として、「セキュリティー保護されたログを有効」、「コマンド行ログ」、および「リモートログ」があります。

セキュリティー保護されたログ

このオプションの機能を追加すると、ログ機能のセキュリティーが強化されます。セキュリティー保護されたログを有効にすると、セキュリティーログに対する未承認の変更や改ざんを検出できます。この機能を使用するために、特にコーディングする必要はありません。セキュリティー保護されたログには、システム管理者が事前に登録した証明書が必要です。この MAC (Manifest Analysis and Certification) は、すべてのログレコードについて生成および格納されます。また、特別な「署名」ログレコードが定期的に挿入されます。このログレコードは、その時点までに書き込まれたログの内容に対する署名となります。これらの 2 つのレコードによって、ログが改ざんされていないことが保証されます。

Procedureセキュリティー保護されたログを有効にする

手順
  1. Logger という名前の証明書を作成し、Access Manager を実行する配備コンテナにインストールします。配備コンテナの詳細については、マニュアルを参照してください。

  2. Access Manager コンソールを使用して「ログサービス」設定の「セキュリティー保護されたログ」を有効にし、変更を保存します。管理者は、「ログサービス」のその他の属性のデフォルト値を変更することもできます。

    ログディレクトリがデフォルトのディレクトリ (/var/opt/SUMWam/logs) から変更されている場合は、アクセス権が 0700 に設定されていることを確認してください。このディレクトリが存在しない場合には、ログサービスによって作成されますが、そのアクセス権は 0755 に設定されます。

    また、デフォルトではないログディレクトリを指定した場合は、Web コンテナの server.policy ファイルで次のパラメータをその 新しいディレクトリに変更する必要があります。

    permission java.io.FilePermission “/var/opt/SUNWam/logs/*”,”delete,write”

  3. AccessManager-base/SUNWam/config ディレクトリに証明書データベースパスワードを含むファイルを作成し、.wtpass という名前を付けます。


    注 –

    ファイル名とそのパスは、AMConfig.properties ファイルに設定できます。詳細については、付録 A 「AMConfig.properties ファイル」の「証明書データベース」を参照してください。

    セキュリティー上の理由から、このファイルへの読み取りアクセス権を持つ管理者だけが配備コンテナを使用できるようにしてください。


  4. サーバーを再起動します。

    このとき、セキュリティー保護されたログディレクトリをクリアすることをお勧めします。セキュリティー保護されたログを開始したときに、誤解を招きやすい検証エラーが /var/opt/SUNWam/debug/amLog ファイルに書き込まれることがあるからです。

    セキュリティーログに対する未承認の変更や改ざんを検出するには、検証プロセスによって /var/opt/SUNWam/debug/amLog に書き込まれたエラーメッセージを探してください。改ざんを手動で確認する場合は、VerifyArchive ユーティリティーを実行します。詳細については、第 19 章「VerifyArchive コマンド行ツール」を参照してください。

コマンド行ログ

amadmin コマンド行ツールを使用して、Directory Server のアイデンティティーオブジェクト (組織、ユーザー、ロールなど) を作成、変更、および削除することができます。このツールを使用して、サービステンプレートをロード、作成、および登録することもできます。-t オプションを指定すれば、ログサービスでこれらのアクションを記録できます。AMConfig.propertiescom.iplanet.am.logstatus プロパティーが有効 (ACTIVE) になっている場合は、ログレコードが作成されます。このプロパティーはデフォルトでは有効になっています。コマンド行ログのファイル名は、amAdmin で始まります。詳細については、第 14 章「amadmin コマンド行ツール」を参照してください。

ログプロパティー

AMConfig.properties ファイルには、ログ出力を制御するプロパティーが入っています。

com.iplanet.am.logstatus=ACTIVE

このプロパティーを使用して、ログの有効または無効を切り替えます。デフォルトでは ACTIVE になっています。

iplanet-am-logging.service.level= level

service にはデバッグログを記録するサービス名を指定します。この名前はそのままデバッグファイルの名前になります。leveljava.util.logging.Level の値のいずれかであり、記録されるログの詳細レベルを表します。指定できるレベルは、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、および FINEST です。ほとんどのサービスでは、INFO レベルより詳細なログは記録されません。

リモートログ

Access Manager では、リモートログがサポートされます。これにより、Access Manager SDK がインストールされたホストを使用するクライアントアプリケーションが、リモートマシン上に配備された Access Manager インスタンス上にログレコードを作成できるようになります。リモートログは、次のいずれかの場合に開始されます。

  1. ある Access Manager インスタンスのネームサービスのログ URL にリモートの Access Manager インスタンスの URL が指定されていて、2 つのインスタンスの間に信頼関係が設定されている場合に、リモート Access Manager インスタンスにログが記録されます。

  2. Access Manager SDK がリモート Access Manager インスタンスにインストールされていて、SDK サーバーで実行されているクライアント (または Java クラス) がログ API を使用している場合に、リモート Access Manager マシンにログが記録されます。

  3. ログ API が Access Manager エージェントで使用されているとき。

Procedureリモートログを有効にする

手順
  1. Sun Java System Web Server を使用する場合は、server.xml 設定ファイルに次の環境変数を設定する必要があります。

    • java.util.logging.manager=com.sun.identity.log.LogManager

    • java.util.logging.config.file=/AccessManager-base /SUNwam/lib/LogConfig.properties

    • 使用する Java™ 2 Platform, Standard Edition が 1.4 以降である場合にこれを実現するには、コマンド行から次の呼び出しを行います。

      java -cp /AccessManager-base /SUNWam/lib/am_logging.jar:/AccessManager-base /SUNWam/lib/xercesImpl.jar:/AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/AccessManager-base /SUNWam/lib/jaas.jar:/AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/AccessManager-base /SUNWam/lib/servlet.jar:/AccessManager-base /SUNWam/locale:/AccessManager-base/SUNWam/lib/am_services.jar:/ AccessManager-base/SUNWam/lib/am_sdk.jar:/ AccessManager-base/SUNWam/lib/jss311.jar:/ AccessManager-base/SUNWam/lib:.

      -Djava.util.logging.manager=com.sun.identity.log.LogManager

      -Djava.util.logging.config.file=/AccessManager-base /SUNwam/lib/LogConfig.properties <logTestClass>

    • 使用する Java 2 Platform, Standard Edition が 1.4 よりも前のものである場合にこれを実現するには、コマンド行から次の呼び出しを行います。

      java -Xbootclasspath/a:/AccessManager-base /SUNWam/lib/jdk_logging.jar -cp /AccessManager-base /SUNWam/lib/am_logging.jar:/AccessManager-base /SUNWam/lib/xercesImpl.jar:/AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/AccessManager-base /SUNWam/lib/jaas.jar:/AccessManager-base /SUNWam/lib/xmlParserAPIs.jar:/AccessManager-base /SUNWam/lib/servlet.jar:/AccessManager-base /SUNWam/locale:/AccessManager-base/SUNWam/lib/am_services.jar:/ AccessManager-base/SUNWam/lib/am_sdk.jar:/ AccessManager-base/SUNWam/lib/jss311.jar:/ AccessManager-base/SUNWam/lib:.

      -Djava.util.logging.manager=com.sun.identity.log.LogManager

      -Djava.util.logging.config.file=/AccessManager-base /SUNwam/lib/LogConfig.properties <logTestClass>

  2. AccessManager-base/SUNWam/libLogConfig.properties に次のパラメータが設定されていることを確認します。

    • iplanet-am-logging-remote-handler=com.sun.identity.

      log.handlers.RemoteHandler

    • iplanet-am-logging-remote-formatter=com.sun.

      identity.log.handlers.RemoteFormatter

    • iplanet-am-logging-remote-buffer-size=1

      リモートログでは、ログレコード数に基づいてバッファー機能がサポートされます。この値には、レコード数でログバッファーサイズを定義します。バッファーがいっぱいになったら、バッファーに保管されたすべてのレコードがサーバーにフラッシュされます。

    • iplanet-am-logging-buffer-time-in-seconds=3600

      この値には、ログバッファーとクリーナのスレッドを呼び出すときの、タイムアウト期間を定義します。

    • iplanet-am-logging-time-buffering-status=OFF

      この値には、ログバッファー (およびバッファークリーナのスレッド) を有効にするかどうかを定義します。デフォルトでは、この機能は無効になっています。


    注 –

    ログファイルが空の場合、セキュリティー保護されたログに「verification failure」と表示される可能性があります。これは、作成されたファイルの数がアーカイブサイズに等しい場合、セキュリティー保護されたログが、このセットからアーカイブし、再起動するからです。ほとんどの場合、このエラーは無視してもかまいません。レコード数がアーカイブサイズに等しくなると、このエラーは表示されなくなります。