3.9. 管理审计日志记录
您可以为管理接口启用审计日志记录,这将记录使用管理控制台、管理 CLI 或使用管理 API 的自定义应用执行的所有操作。审计日志条目以 JSON 格式存储。默认情况下禁用审计日志记录。
您可以将审计日志记录配置为输出到 文件或 syslog 服务器。
登录和注销事件无法被审核,因为 JBoss EAP 中没有经过身份验证的会话。相反,当从用户收到操作时,会记录审计消息。
3.9.1. 独立服务器审计日志记录 复制链接链接已复制到粘贴板!
虽然默认禁用,但默认审计日志记录配置会写入到文件中。
可以使用以下管理 CLI 命令读取此配置:
/core-service=management/access=audit:read-resource(recursive=true)
/core-service=management/access=audit:read-resource(recursive=true)
请参阅 启用审计日志记录 来为独立服务器启用审计日志记录。
3.9.2. 受管域审计日志记录 复制链接链接已复制到粘贴板!
虽然默认禁用,默认的审计日志记录配置会为每个主机和每台服务器写入文件。
可以使用以下管理 CLI 命令读取此配置:
/host=HOST_NAME/core-service=management/access=audit:read-resource(recursive=true)
/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)
/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)
/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)
/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()
/subsystem=jmx/configuration=audit-log:add()
/subsystem=jmx/configuration=audit-log/handler=file:add()
这可启用 JMX 审计日志记录,然后使用定义 的文件处理程序
将这些日志写入 EAP_HOME/standalone/data/audit-log.log
。
3.9.4.2. 启用受管域 JMX 审计日志记录 复制链接链接已复制到粘贴板!
可以为受管域中的每个主机和配置文件启用 JMX 审计日志记录。
为主机启用 JMX 审计日志记录
在主机的
jmx
子系统中启用审计日志记录。/host=HOST_NAME/subsystem=jmx/configuration=audit-log:add()
/host=HOST_NAME/subsystem=jmx/configuration=audit-log:add()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
jmx
子系统的审计日志记录后,可以使用以下命令为主机定义处理程序:/host=HOST_NAME/subsystem=jmx/configuration=audit-log/handler=host-file:add()
/host=HOST_NAME/subsystem=jmx/configuration=audit-log/handler=host-file:add()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,这会将 JMX 审计日志写入
EAP_HOME/domain/data/audit-log.log
。
为配置集启用 JMX 审计日志记录
在配置文件的
jmx
子系统中启用审计日志记录。/profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log:add()
/profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log:add()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用
jmx
子系统的审计日志记录后,可以使用以下命令为配置集定义处理程序:/profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log/handler=server-file:add()
/profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log/handler=server-file:add()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,这会将 JMX 审计日志写入
EAP_HOME/domain/servers/SERVER_NAME/data/audit-log.log
。
3.9.5. 将管理审计日志记录发送到 syslog 服务器 复制链接链接已复制到粘贴板!
syslog 处理程序指定将审计日志条目发送到 syslog 服务器的参数,特别是 syslog 服务器的主机名以及 syslog 服务器侦听的端口。将审计日志记录发送到 syslog 服务器会提供比将日志记录到本地文件或本地 syslog 服务器更多的安全选项。可以定义多个 syslog 处理程序,并同时激活。
默认情况下,审计日志记录被预先配置为在启用时输出到文件。使用以下步骤设置并启用审计日志记录到 syslog 服务器。请参阅 管理审计日志属性,以了解 syslog handler 属性。
先决条件
- 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意要传递的参数因指定的协议而异。
要将处理程序配置为使用 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)
/core-service=management/access=audit/syslog-handler=SYSLOG_HANDLER_NAME/protocol=tls/authentication=truststore:add(keystore-path=PATH_TO_TRUSTSTORE,keystore-password=TRUSTSTORE_PASSWORD)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加对 syslog 处理程序的引用。
在受管域中,您必须在此命令之前加上
/host=HOST_NAME
。/core-service=management/access=audit/logger=audit-log/handler=SYSLOG_HANDLER_NAME:add
/core-service=management/access=audit/logger=audit-log/handler=SYSLOG_HANDLER_NAME:add
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用审计日志记录。
请参阅 启用管理 审计日志记录以启用审计日志记录。
在 JBoss EAP 中启用审计日志记录到 syslog 服务器将无法正常工作,除非操作系统中也启用了日志记录。
有关 Red Hat Enterprise Linux 的 rsyslog
配置的更多信息,请参阅 Red Hat Enterprise Linux 系统管理员指南中的 Rsyslog 基本配置 部分,网址为 https://access.redhat.com/documentation/en/red-hat-enterprise-linux/。
3.9.6. 读取审计日志条目 复制链接链接已复制到粘贴板!
最好使用文本查看器查看文件日志条目,而这些输出到 syslog 服务器的输出结果最好使用 syslog viewer 应用来查看。
不建议使用 文本编辑器 查看日志文件,因为有些可能会防止将其他日志条目写入到日志文件中。
审计日志条目以 JSON 格式存储。每个日志条目都以一个可选的时间戳开头,后跟下表中的字段。
字段名称 | 描述 |
---|---|
access | 这可以具有以下值之一:
|
Boot (引导) |
如果在服务器启动并运行后执行操作,则值为 |
domainUUID | 当所有操作从域控制器传播到其服务器、二级主机控制器和从属主机控制器服务器时,将它们链接到其服务器、次要主机控制器和从属主机控制器服务器的 ID。 |
ops | 执行的操作。这是序列化为 JSON 的操作列表。在引导时,这是从解析 XML 时生成的操作。引导后,列表通常包含一个条目。 |
r/o |
如果操作不会更改管理模型,则值为 |
remote-address | 执行此操作的客户端的地址。 |
success |
如果操作成功,则值为 |
type |
这可以具有 |
user |
经过身份验证的用户的用户名。如果在与运行的服务器相同的机器上使用管理 CLI,则会使用特殊用户 |
version | JBoss EAP 实例的版本号。 |