3.8. 管理审计日志记录
您可以为管理接口启用审计日志记录,这将记录使用管理控制台、管理 CLI 或使用管理 API 的自定义应用执行的所有操作。审计日志条目以 JSON 格式存储。默认情况下禁用审计日志记录。
您可以将审计日志记录配置为输出到 文件或 syslog 服务器。
无法登录和注销事件,因为 JBoss EAP 中没有经过身份验证的会话。相反,当从用户收到操作时,会记录审计消息。
独立服务器审计日志记录
虽然默认禁用,但默认的审计日志记录配置写入文件。
可以使用以下管理 CLI 命令读取此配置:
/core-service=management/access=audit:read-resource(recursive=true)
/core-service=management/access=audit:read-resource(recursive=true)
请参阅 启用审计日志记录,以便为独立服务器启用审计日志记录。
受管域审计日志记录
虽然默认禁用,但默认的审计日志记录配置为每个主机和每台服务器写入一个文件。
可以使用以下管理 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.8.1. 启用管理审计日志记录 复制链接链接已复制到粘贴板!
JBoss EAP 预配置了用于审计日志记录的文件处理程序,但审计日志记录默认为禁用。启用审计日志记录的管理 CLI 命令取决于您是作为独立服务器还是在受管域中运行。请参阅 文件 处理程序属性 的管理审计日志记录属性。
要设置 syslog 审计日志记录,请参阅将 管理审计日志记录设置为 Syslog 服务器。
启用独立服务器审计日志记录
可以使用以下命令启用审计日志记录。
/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。
启用受管域审计日志记录
受管域的默认审计日志记录配置预先配置为为每个主机和每台服务器编写审计日志。
可以通过以下命令启用每个主机的审计日志记录。
/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.8.2. 将管理审计日志记录发送到 Syslog 服务器 复制链接链接已复制到粘贴板!
syslog 处理程序指定审计日志条目发送到 syslog 服务器的参数,特别是 syslog 服务器的主机名以及 syslog 服务器侦听的端口。将审计日志记录发送到 syslog 服务器可提供比登录到本地文件或本地 syslog 服务器更多的安全选项。可以定义多个 syslog 处理程序,并同时处于活动状态。
默认情况下,审计日志记录已预先配置为在启用时输出到文件。使用以下步骤为 syslog 服务器设置并启用审计日志记录。请参阅 syslog handler 属性 的管理审计日志记录属性。
添加 syslog 处理程序。
创建 syslog 处理程序,指定 syslog 服务器的主机和端口。在受管域中,您必须在
/host=HOST_NAME前使用/core-service命令。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-batchCopy 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:addCopy 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.8.3. 阅读审计日志条目 复制链接链接已复制到粘贴板!
审计日志条目输出到文件最好使用文本查看器器,而这些输出到 syslog 服务器则最好使用 syslog viewer 应用来查看。
不建议使用 文本编辑器 来查看日志文件,因为有些情况可能会阻止将进一步的日志条目写入到日志文件中。
审计日志条目以 JSON 格式存储。每个日志条目都以可选时间戳开头,后跟下表中的字段。
| 字段名称 | 描述 |
|---|---|
| access | 这可以具有以下值之一:
|
| Boot (引导) |
如果操作在启动过程中执行,则为 |
| domainUUID | 一个 ID,用于将所有操作链接在一起,因为它们从域控制器传播到其服务器、从属主机控制器和从属主机控制器服务器。 |
| ops | 正在执行的操作。这是序列化为 JSON 的操作列表。在引导时,这是由于解析 XML 产生的操作。引导后,列表通常包含一个条目。 |
| r/o |
如果操作不会更改管理模型,则值为 |
| remote-address | 执行此操作的客户端的地址。 |
| success |
如果操作成功,则值为 |
| type |
这可以具有值 |
| user |
已验证用户的用户名。如果操作在与正在运行的服务器相同的机器上使用管理 CLI,则使用特殊用户 |
| version | JBoss EAP 实例的版本号。 |