3.10. 관리 감사 로깅

관리 콘솔, 관리 CLI 또는 관리 API를 사용하는 사용자 지정 애플리케이션을 사용하여 수행한 모든 작업을 로깅하는 관리 인터페이스에 대한 감사 로깅을 활성화할 수 있습니다. 감사 로그 항목은 JSON 형식으로 저장됩니다. 기본적으로 감사 로깅은 비활성화되어 있습니다.

파일 또는 syslog 서버에 대한 출력으로 감사 로깅을 구성할 수 있습니다.

참고

JBoss EAP에 인증된 세션이 없으므로 로그인 및 로그아웃 이벤트를 감사할 수 없습니다. 대신 사용자로부터 작업을 수신하면 감사 메시지가 기록됩니다.

독립 실행형 서버 감사 로깅

기본적으로 비활성화되어 있지만 기본 감사 로깅 구성은 파일에 씁니다.

<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)

독립 실행형 서버에 대한 감사 로깅을 활성화하려면 감사 로깅 활성화 를 참조하십시오.

관리형 도메인 감사 로깅

기본적으로 비활성화되어 있지만 기본 감사 로깅 구성은 각 호스트와 각 서버에 대한 파일을 작성합니다.

<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.10.1. 관리 감사 로깅 활성화

JBoss EAP는 감사 로깅을 위해 파일 핸들러로 사전 구성되지만 감사 로깅은 기본적으로 비활성화되어 있습니다. 감사 로깅을 활성화하는 관리 CLI 명령은 독립 실행형 서버 또는 관리형 도메인으로 실행 중인지에 따라 다릅니다. 파일 핸들러 속성은 Management Audit Logging Attributes 를 참조하십시오.

다음 지침은 NATIVEHTTP 감사 로깅을 활성화합니다. Jakarta Management 감사 로깅을 구성하려면 Jakarta Management Management Audit Logging 사용을 참조하십시오.

syslog 감사 로깅을 설정하려면 Syslog 서버로 관리 감사 로깅 보내기를 참조하십시오.

독립 실행형 서버 감사 로깅 활성화

다음 명령을 사용하여 감사 로깅을 활성화할 수 있습니다.

/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)

기본적으로 이는 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.10.2. 자카르타 관리 관리 감사 로깅 활성화

JBoss EAP는 Jakarta Management 감사 로깅의 파일 핸들러로 사전 구성되어 있지만 이러한 로그는 기본적으로 비활성화되어 있습니다. 감사 로깅을 활성화하는 관리 CLI 명령은 독립 실행형 서버 또는 관리형 도메인으로 실행 중인지에 따라 다릅니다.

NATIVE 또는 HTTP 감사 로깅을 구성하려면 관리 감사 로깅 활성화 를 참조하십시오.

독립 실행형 서버 자카르타 관리 감사 로깅 활성화

다음 명령을 사용하여 독립 실행형 서버에 대해 Jakarta 관리 감사 로깅을 활성화할 수 있습니다.

/subsystem=jmx/configuration=audit-log:add()
/subsystem=jmx/configuration=audit-log/handler=file:add()

이를 통해 Jakarta Management 감사 로깅을 활성화한 다음 정의된 파일 핸들러를 사용하여 이러한 로그를 EAP_HOME/standalone/data/audit-log.log 에 작성합니다.

관리형 도메인 자카르타 관리 감사 로깅 활성화

관리형 도메인의 각 호스트 및 프로필에 대해 Jakarta Management 감사 로깅을 활성화할 수 있습니다.

호스트에 대한 자카르타 관리 감사 로깅 활성화

  1. 호스트의 jmx 하위 시스템에서 감사 로깅을 활성화합니다.

    /host=HOST_NAME/subsystem=jmx/configuration=audit-log:add()
  2. jmx 하위 시스템에 대한 감사 로깅이 활성화되면 다음 명령을 사용하여 호스트에 대해 핸들러를 정의할 수 있습니다.

    /host=HOST_NAME/subsystem=jmx/configuration=audit-log/handler=host-file:add()

    기본적으로 Jakarta Management 감사 로그를 EAP_HOME/domain/data/audit-log.log 에 씁니다.

프로필에 대한 자카르타 관리 감사 로깅 활성화

  1. 프로필의 jmx 하위 시스템에서 감사 로깅을 활성화합니다.

    /profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log:add()
  2. jmx 하위 시스템에 대한 감사 로깅이 활성화되면 다음 명령을 사용하여 프로필에 대해 핸들러를 정의할 수 있습니다.

    /profile=PROFILE_NAME/subsystem=jmx/configuration=audit-log/handler=server-file:add()

    기본적으로 Jakarta Management 감사 로그를 EAP_HOME /domain/servers/SERVER_NAME/data/audit-log.log 에 씁니다.

3.10.3. Syslog 서버로 관리 감사 로깅 전송

syslog 핸들러는 감사 로그 항목이 syslog 서버로 전송되는 매개 변수, 특히 syslog 서버의 호스트 이름 및 syslog 서버가 수신 대기하는 포트를 지정합니다. syslog 서버로 감사 로깅을 전송하면 로컬 파일 또는 로컬 syslog 서버에 로깅하는 것보다 더 많은 보안 옵션이 제공됩니다. 여러 개의 syslog 핸들러를 정의하고 동시에 활성화할 수 있습니다.

기본적으로 감사 로깅은 활성화된 경우 파일로 출력하도록 사전 구성됩니다. 다음 단계를 사용하여 syslog 서버에 대한 감사 로깅을 설정하고 활성화합니다. syslog 핸들러 속성은 Management Audit Logging Attributes 를 참조하십시오.

  1. 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)
  2. syslog 핸들러에 대한 참조를 추가합니다.

    관리형 도메인에서 이 명령 앞에 /host=HOST_NAME 을 사용해야 합니다.

    /core-service=management/access=audit/logger=audit-log/handler=SYSLOG_HANDLER_NAME:add
  3. 감사 로깅을 활성화합니다.

    감사 로깅을 활성화하려면 관리 감사 로깅 활성화 를 참조하십시오.

중요

운영 체제에서도 로깅을 활성화하지 않는 한 JBoss EAP의 syslog 서버에 감사 로깅을 활성화하는 것은 작동하지 않습니다.

Red Hat Enterprise Linux의 rsyslog 구성에 대한 자세한 내용은 https://access.redhat.com/documentation/en/red-hat-enterprise-linux/ 의 Red Hat Enterprise Linux 시스템 관리자 가이드의 Rsyslog 기본 구성 섹션을 참조하십시오.

3.10.4. 감사 로그 항목 읽기

파일에 대한 감사 로그 항목은 텍스트 뷰어 로 가장 잘 표시되는 반면 syslog 서버에 대한 출력은 syslog 뷰어 애플리케이션을 사용하여 가장 잘 볼 수 있습니다.

참고

일부에서는 텍스트 편집기를 사용하여 로그 파일을 보는 것을 권장하지 않는 것이 좋습니다. 일부에서는 로그 파일에 추가 로그 항목이 기록되지 않을 수 있습니다.

감사 로그 항목은 JSON 형식으로 저장됩니다. 각 로그 항목은 선택적 타임스탬프로 시작되고 그 뒤에 아래 테이블의 필드가 옵니다.

표 3.6. 관리 감사 로그 필드

필드 이름설명

액세스

다음 값 중 하나가 있을 수 있습니다.

  • NATIVE - 네이티브 관리 인터페이스를 통해 작업이 수행되었습니다.
  • HTTP - 도메인 HTTP 인터페이스를 통해 작업이 완료되었습니다.
  • JMX - 작업은 jmx 하위 시스템을 통해 제공되었습니다.

부팅 중

부팅 프로세스 중에 작업이 실행된 경우 값이 true 이며 서버가 실행되면 실행된 경우 false 입니다.

domainUUID

도메인 컨트롤러에서 서버, 슬레이브 호스트 컨트롤러 및 슬레이브 호스트 컨트롤러 서버로 전파되는 모든 작업을 함께 연결하는 ID입니다.

ops

실행 중인 작업입니다. JSON으로 직렬화된 작업 목록입니다. 부팅 시 XML 구문 분석이 수행되는 작업입니다. 부팅되고 나면 목록에는 일반적으로 단일 항목이 포함됩니다.

r/o

는 작업에서 관리 모델을 변경하지 않는 경우 true 이며, 값이 있으면 false입니다.

remote-address

이 작업을 실행하는 클라이언트의 주소입니다.

success

는 작업이 성공한 경우 true, 롤백된 경우 false입니다.

type

이 값은 관리 작업 또는 jmx 하위 시스템에서 제공된 값 core를 가질 수 있습니다.

user

인증된 사용자의 사용자 이름. 실행 중인 서버와 동일한 시스템에서 관리 CLI를 사용하여 작업이 발생한 경우 특수 사용자 $local 이 사용됩니다.

버전

JBoss EAP 인스턴스의 버전 번호입니다.