3.9. 管理監査ロギング
管理コンソール、管理 CLI、または管理 API を使用するカスタムアプリケーションを使用して実行されたすべての操作をログに記録する、管理インターフェイスの監査ロギングを有効にできます。監査ログエントリーは JSON 形式で保存されます。監査ロギングはデフォルトでは無効になっています。
監査ロギングは、ファイル または syslog サーバー に出力するように設定できます。
JBoss EAP には認証されたセッションがないため、ログインおよびログアウトイベントは監査できません。その代わりに、ユーザーから操作を受信すると監査メッセージがログに記録されます。
3.9.1. スタンドアロンサーバーの監査ロギング リンクのコピーリンクがクリップボードにコピーされました!
監査ロギングはデフォルトでは無効になっていますが、デフォルトの監査ロギング設定はファイルに書き込みします。
<audit-log>
<formatters>
<json-formatter name="json-formatter"/>
</formatters>
<handlers>
<file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
</handlers>
<logger log-boot="true" log-read-only="false" enabled="false">
<handlers>
<handler name="file"/>
</handlers>
</logger>
</audit-log>
この設定は、以下の管理 CLI コマンドを使用して読み取ることができます。
/core-service=management/access=audit:read-resource(recursive=true)
スタンドアロンサーバーの監査ロギングを有効にする場合は、監査ロギングの有効化 を参照してください。
3.9.2. マネージドドメインの監査ロギング リンクのコピーリンクがクリップボードにコピーされました!
監査ロギングはデフォルトでは無効になっていますが、デフォルトの監査ロギング設定は各ホストおよび各サーバーに対してファイルを書き込みします。
<audit-log>
<formatters>
<json-formatter name="json-formatter"/>
</formatters>
<handlers>
<file-handler name="host-file" formatter="json-formatter" relative-to="jboss.domain.data.dir" path="audit-log.log"/>
<file-handler name="server-file" formatter="json-formatter" relative-to="jboss.server.data.dir" path="audit-log.log"/>
</handlers>
<logger log-boot="true" log-read-only="false" enabled="false">
<handlers>
<handler name="host-file"/>
</handlers>
</logger>
<server-logger log-boot="true" log-read-only="false" enabled="false">
<handlers>
<handler name="server-file"/>
</handlers>
</server-logger>
</audit-log>
この設定は、以下の管理 CLI コマンドを使用して読み取ることができます。
/host=HOST_NAME/core-service=management/access=audit:read-resource(recursive=true)
マネージドドメインの監査ロギングを有効にする場合は、監査ロギングの有効化 を参照してください。
3.9.3. 管理監査ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
監査ロギングはデフォルトでは無効になっていますが、JBoss EAP には監査ロギングのファイルハンドラーが事前設定されています。監査ロギングを有効にする管理 CLI コマンドは、スタンドアロンサーバーとして実行しているかまたはマネージドドメインで実行しているかによって異なります。ファイルハンドラーの属性は、管理監査ロギングの属性 を参照してください。
次の手順では、NATIVE および HTTP 監査ロギングを有効にします。JMX 監査ロギングを設定する場合は、JMX 管理監査ロギングの有効化 を参照してください。
syslog 監査ロギングを設定する場合は、syslog サーバーへの管理監査ロギングの送信 を参照してください。
3.9.3.1. スタンドアロンサーバーの監査ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
監査ロギングは以下のコマンドを使用して有効にできます。
/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
デフォルトでは、このコマンドによって監査ログが EAP_HOME/standalone/data/audit-log.log に書き込まれます。
3.9.3.2. マネージドドメインの監査ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
マネージドドメインのデフォルトの監査ログ設定は、各ホストおよび各サーバーに対して監査ログを書き込むよう事前設定されています。
各ホストの監査ロギングは以下のコマンドを使用して有効にできます。
/host=HOST_NAME/core-service=management/access=audit/logger=audit-log:write-attribute(name=enabled,value=true)
デフォルトでは、このコマンドによって監査ログが EAP_HOME/domain/data/audit-log.log に書き込まれます。
各サーバーの監査ロギングは以下のコマンドを使用して有効にできます。
/host=HOST_NAME/core-service=management/access=audit/server-logger=audit-log:write-attribute(name=enabled,value=true)
デフォルトでは、このコマンドによって監査ログが EAP_HOME/domain/servers/SERVER_NAME/data/audit-log.log に書き込まれます。
3.9.4. JMX 管理監査ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP には、JMX 監査ロギングのファイルハンドラーが事前設定されていますが、これらのログはデフォルトで無効になっています。監査ロギングを有効にする管理 CLI コマンドは、スタンドアロンサーバーまたは管理対象ドメインとして実行しているかによって異なります。
NATIVE または HTTP 監査ロギングを設定する場合は、管理監査ロギングの有効化 を参照してください。
3.9.4.1. スタンドアロンサーバーの JMX 監査ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
以下のコマンドを使用すると、スタンドアロンサーバーでの JMX 監査ロギングを有効にできます。
/subsystem=jmx/configuration=audit-log:add()
/subsystem=jmx/configuration=audit-log/handler=file:add()
これにより、JMX 監査ロギングが有効になり、定義された file ハンドラーを使用してこれらのログを EAP_HOME/standalone/data/audit-log.log に書き込むことができるようになります。
3.9.4.2. マネージドドメインの JMX 監査ロギングの有効化 リンクのコピーリンクがクリップボードにコピーされました!
マネージドドメインの各ホストおよびプロファイルに JMX 監査ロギングを有効にすることができます。
ホストの JMX 監査ロギングの有効化
ホストの
jmxサブシステムで監査ロギングを有効にします。/host=HOST_NAME/subsystem=jmx/configuration=audit-log:add()jmxサブシステムの監査ロギングが有効になったら、以下のコマンドでホストにハンドラーを定義することができます。/host=HOST_NAME/subsystem=jmx/configuration=audit-log/handler=host-file:add()デフォルトでは、このコマンドによって JMX 監査ログが
EAP_HOME/domain/data/audit-log.logに書き込まれます。
プロファイルの JMX 監査ロギングの有効化
プロファイルの
jmxサブシステムで監査ロギングを有効にします。/profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log:add()jmxサブシステムの監査ロギングが有効になったら、以下のコマンドでプロファイルにハンドラーを定義することができます。/profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log/handler=server-file:add()デフォルトでは、このコマンドによって JMX 監査ログが
EAP_HOME/domain/servers/SERVER_NAME/data/audit-log.logに書き込まれます。
3.9.5. syslog サーバーへの管理監査ロギングの送信 リンクのコピーリンクがクリップボードにコピーされました!
syslog ハンドラーは、監査ログエントリーが syslog サーバーに送信されるときのパラメーター (syslog サーバーのホスト名および syslog サーバーがリッスンするポート) を指定します。監査ロギングを syslog サーバーへ送信すると、ローカルファイルまたはローカル syslog サーバーへロギングする場合よりも、セキュリティーオプションが多くなります。複数の syslog ハンドラーを同時に定義およびアクティブ化することができます。
デフォルトでは、監査ロギングが有効である場合にファイルへ出力するよう事前設定されています。以下の手順に従って、syslog サーバーへの監査ロギングを設定および有効化します。syslog ハンドラーの属性は、管理監査ロギングの属性 を参照してください。
前提条件
- JBoss EAP が実行中である。
手順
syslog ハンドラーを追加します。
syslog サーバーのホストとポートを指定して syslog ハンドラーを作成します。マネージドドメインでは、
/core-serviceコマンドの前に/host=HOST_NAMEを追加する必要があります。batch /core-service=management/access=audit/syslog-handler=SYSLOG_HANDLER_NAME:add(formatter=json-formatter) /core-service=management/access=audit/syslog-handler=SYSLOG_HANDLER_NAME/protocol=udp:add(host=HOST_NAME,port=PORT) run-batch注記渡すパラメーターは指定されたプロトコルによって異なります。
TLS を使用して syslog サーバーとセキュアに通信するようハンドラーを設定するには、認証を設定する必要もあります。以下に例を示します。
/core-service=management/access=audit/syslog-handler=SYSLOG_HANDLER_NAME/protocol=tls/authentication=truststore:add(keystore-path=PATH_TO_TRUSTSTORE,keystore-password=TRUSTSTORE_PASSWORD)syslog ハンドラーへの参照を追加します。
マネージドドメインでは、このコマンドの前に
/host=HOST_NAMEを追加する必要があります。/core-service=management/access=audit/logger=audit-log/handler=SYSLOG_HANDLER_NAME:add監査ロギングを有効にします。
監査ロギングを有効にするには、管理監査ロギングの有効化 を参照してください。
オペレーティングシステムでロギングが有効になっていないと、JBoss EAP で syslog サーバーへの監査ロギングを有効にしても動作しません。
Red Hat Enterprise Linux の rsyslog 設定の詳細は、https://access.redhat.com/documentation/en/red-hat-enterprise-linux/ にある Red Hat Enterprise Linux の システム管理者ガイド の Rsyslog の基本設定 セクションを参照してください。
3.9.6. 監査ログエントリーの読み取り リンクのコピーリンクがクリップボードにコピーされました!
ファイルに出力される監査ログエントリーは、テキスト ビューアー で参照することを推奨します。syslog サーバーに出力される監査ログエントリーは syslog ビューアーアプリケーションで参照することを推奨します
ログファイルの参照にテキスト エディター を使用することは推奨されません。これは、追加のログエントリーがログファイルに書き込まれなくなることがあるためです。
監査ログエントリーは JSON 形式で保存されます。各ログエントリーは最初にオプションのタイムスタンプ、次に以下の表のフィールドが示されます。
| フィールド名 | 説明 |
|---|---|
| access | 以下のいずれかの値を使用できます。
|
| booting |
起動プロセス中に操作が実行された場合は、値が |
| domainUUID | ドメインコントローラーからそのサーバー、セカンダリーホストコントローラー、およびセカンダリーホストコントローラーサーバーに伝播されるすべての操作をリンクするための ID。 |
| ops | 実行される操作。JSON へシリアライズ化された操作のリストになります。起動時は、XML の解析で生じたすべての操作がリストされます。起動後は、通常 1 つのエントリーがリストされます。 |
| r/o |
操作によって管理モデルが変更されない場合は、値が |
| remote-address | この操作を実行するクライアントのアドレス。 |
| success |
操作に成功した場合は値が |
| type |
管理操作であることを示す |
| user |
認証されたユーザーのユーザー名。稼働しているサーバーと同じマシンの管理 CLI を使用して操作を行った場合は、特別な |
| version | JBoss EAP インスタンスのバージョン番号。 |