보안 감사는 웹 서비스 런타임 조작에 대해
감사 가능한 이벤트 추적 및 아카이브를 제공합니다. 웹 서비스에 보안 감사가 사용으로 설정된 경우,
이벤트 생성기 유틸리티는 서명, 암호화, 보안, 인증 및 위임 이벤트를 수집하고 감사 이벤트 레코드에 로그합니다.
감사 이벤트 레코드를 분석하여 환경의 보안 구성에서 가능한 보안 침해 또는 잠재적 취약성을 식별할 수 있습니다.
WebSphere® Application Server에 감사 보안 서브시스템을 사용할 수 있어야
이벤트 생성기가 웹 서비스 보안 런타임에 대한 감사 레코드를 수집할 수 있습니다.
감사 가능한 보안 이벤트의 기록은 사용 가능한 보안 감사 서브시스템에 의해 달성됩니다. 보안 감사 사용에 대한 자세한 정보는
"보안 감사 서브시스템 사용" 주제를 읽으십시오.
웹 서비스 보안 감사는 JAX-WS 런타임에만 사용할 수 있습니다. SOAP 메시지가 수신될 때 몇 개의 감사 이벤트가 발생할 수 있습니다.
감사 데이터는 다양한 웹 서비스 보안 런타임 조작(예: SOAP 메시지의 디지털 서명 유효성 검증, 메시지 복호화 또는 메시지 보안 헤더 검사) 중에
수집됩니다.
감사 데이터는 이벤트 생성기에 의해 저장 및 관리되며 향후 분석을 위해 감사 로그에 저장됩니다.
웹 서비스에 대한 감사 가능 이벤트는 다음과 같습니다.
서명
각
SOAP 메시지 파트의 디지털 서명을 유효성 검증할 때 SECURITY_SIGNING 이벤트가 결과(SUCCESS 또는
ERROR임)와 함께 이벤트 생성기로 전송됩니다. 이유 코드(VALID_SIGNATURE 또는 INVALID_SIGNATURE)도
전송됩니다. SECURITY_SIGNING 이벤트, 결과(SUCCESS 또는 DENIED)와 함께 메시지의 무결성을 감사합니다. 이유 코드는
INTEGRITY 또는 INTEGRITY_BAD입니다. 다음 표에는 서명 이벤트가 요약되어 있습니다.
표 1. 서명 감사 이벤트. 서명 감사 이벤트 레코드를 사용하여 보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 이벤트 유형 |
가능한 결과 |
이유 코드 |
SECURITY_SIGNING(디지털 서명) |
SUCCESS
ERROR
|
VALID_SIGNATURE
INVALID_SIGNATURE
|
SECURITY_SIGNING(무결성) |
SUCCESS
DENIED
|
INTEGRITY
INTEGRITY_BAD
|
SECURITY_SIGNING 이벤트 결과가 DENIED이고 이유 코드가
INTEGRITY_BAD이면, 이는 보안 정책이 서명해야 하는 하나 이상의 메시지 파트가
서명 유효성 검증에 실패했음을 의미합니다.
SECURITY_SIGNING 이벤트 결과가 ERROR이고 이유 코드가
INVALID_SIGNATURE이면, 이는 디지털 서명 유효성 검증에 실패했음을 의미합니다.
이로 인해 보안 정책에 디지털 서명이 필요한지 여부에 따라 감사 레코드에 INTEGRITY_BAD 이유 코드가 발생할 수 있습니다.
암호화
암호화 감사는 두 파트로 수행되는데,
SOAP 메시지의 암호화된 파트가 처리된 후 메시지의 기밀성을 감사합니다.
메시지의 암호화된 각 파트를 감사하기 위해 SECURITY_ENCRYPTION 이벤트가 전송됩니다.
이벤트 결과가 예외가 발생했음을 의미하는 ERROR인 경우에만
이벤트 레코드가 작성됩니다. 이유 코드는 DECRYPTION_ERROR입니다.
그 다음에는 다른 SECURITY_ENCRYPTION
이벤트(가능한 결과는 SUCCESS 또는 DENIED임)를 사용하여 메시지의 기밀성을 검사합니다. 이 이벤트의 이유 코드는
CONFIDENTIALITY 또는 CONFIDENTIALITY_BAD입니다. 다음 표에는 암호화 이벤트가 요약되어 있습니다.
표 2. 암호화 감사 이벤트. 암호화 감사 이벤트 레코드를 사용하여 보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 이벤트 유형 |
가능한 결과 |
이유 코드 |
SECURITY_ENCRYPTION(암호화된 메시지 파트) |
ERROR |
DECRYPTION_ERROR |
SECURITY_ENCRYPTION(기밀성) |
SUCCESS
DENIED
|
CONFIDENTIALITY
CONFIDENTIALITY_BAD
|
SECURITY_ENCRYPTION 이벤트 결과가 DENIED이고 이유 코드가
CONFIDENTIALITY_BAD이면, 이는 암호화해야 하는 하나 이상의 메시지 파트가
올바로 암호화되지 않았음을 의미합니다.
감사 레코드의 DECRYPTION_ERROR로 인해 메시지 암호화가 필요한지 여부에 따라 CONFIDENTIALITY_BAD
이유 코드가 발생할 수 있습니다.
시간소인
SOAP 메시지의 경우, SECURITY_RESOURCE_ACCESS 이벤트가
이벤트 생성기로 전송될 때 시간소인을 감사합니다. 이 이벤트의 가능한 결과는 SUCCESS
또는 DENIED입니다. 이유 코드는 TIMESTAMP 또는 TIMESTAMP_BAD입니다. 다음 표에는 시간소인 이벤트가 요약되어 있습니다.
표 3. 시간소인 감사 이벤트. 시간소인 감사 이벤트 레코드를 사용하여 보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 이벤트 유형 |
가능한 결과 |
이유 코드 |
SECURITY_RESOURCE_ACCESS |
SUCCESS
DENIED
|
TIMESTAMP
TIMESTAMP_BAD
|
보안 헤더
보안 헤더를 감사하여 SOAP 메시지에서 누락되지 않았는지 확인합니다. SECURITY_RESOURCE_ACCESS
이벤트가 전송되며 헤더가 누락된 경우 결과는 DENIED이고
이유 코드는 SECURITY_HEADER_MISSING입니다. 다음 표에는 보안 헤더 이벤트가 요약되어 있습니다.
표 4. 보안 헤더 감사 이벤트. 보안 감사 이벤트 레코드를 사용하여 보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 이벤트 유형 |
가능한 결과 |
이유 코드 |
SECURITY_RESOURCE_ACCESS |
DENIED |
SECURITY_HEADER_MISSING |
인증
메시지를 인증하는 데 사용되는 보안 토큰을 감사하여
인증 성공 여부를 판별하며 인증 유형, 제공자 이름 및 제공자 상태에 대한 정보는 감사 이벤트 레코드에 저장됩니다.
토큰 유형(예: 사용자 이름 또는 키 저장소)에 특정한 정보와 함께
토큰 ID도 기록됩니다. 토큰 자체 또는 토큰 비밀번호와 같은 민감한 정보는
감사 이벤트 레코드에 기록되지 않습니다. 각 토큰 유형에 대해 기록된 정보는 다음 표에 설명되어 있습니다.
표 5. 감사 이벤트 레코드에 기록된 토큰 정보. 인증 감사 이벤트 레코드를 사용하여
보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 토큰 유형 |
기록된 정보 |
Username 토큰 |
- Username
- 비밀번호(널 또는 널이 아님)
- 토큰 ID
|
LTPA |
|
LTPAPropagate |
|
SecureConversation |
|
DerivedKey |
|
Kerberos |
|
X509 |
- 인증서
- 주제
- 발행자
- 키 저장소
- 토큰 ID
- TrustAny
|
PKP 경로(공개 키 인프라) |
- 인증서
- 주제
- 발행자
- 키 저장소
- 토큰 ID
- TrustAny
|
PKCS7(공개 키 비밀번호 표준) |
- 인증서
- 주제
- 발행자
- 키 저장소
- 토큰 ID
- TrustAny
|
SAML 토큰 |
- 프린시펄
- SAML 토큰 발행자 이름
- 확인 메소드
|
SECURITY_AUTHN
이벤트를 사용하여 메시지 인증을 감사합니다. 가능한 이벤트 결과는 SUCCESS, DENIED 또는 FAILURE입니다.
이유 코드는 AUTHN_SUCCESS, AUTHN_LOGIN_EXCEPTION 또는 AUTHN_PRIVILEDGE_ACTION_EXCEPTION입니다.
다음 표에는 인증 이벤트가 요약되어 있습니다.
표 6. 인증 감사 이벤트. 인증 감사 이벤트 레코드를 사용하여
보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 이벤트 유형 |
가능한 결과 |
이유 코드 |
SECURITY_AUTHN |
SUCCESS
DENIED
FAILURE
|
AUTHN_SUCCESS
AUTHN_LOGIN_EXCEPTION
AUTHN_PRIVILEDGE_ACTION_EXCEPTION
|
위임
SOAP 메시지 인증을 위임할 수 있으며
SECURITY_AUTHN_DELEGATION 이벤트를 사용하여 위임 기능을 감사합니다.
클라이언트
ID가 전파될 때나 위임이 특수 ID 사용과 관련될 때
이 이벤트가 사용됩니다. 웹 서비스 보안 런타임에서는 위임 유형이 ID 어설션으로
설정된 경우에만 감사 이벤트가 기록됩니다. 가능한 결과는
SUCCESS 또는 DENIED이며 이유 코드는 AUTHN_SUCCESS 또는 AUTHN_DENIED입니다.
위임 유형, 역할 이름, ID 이름과 같은 추가 정보가 수집되어 감사 이벤트 레코드에 저장됩니다. 다음 표에는 위임 이벤트가 요약되어 있습니다.
표 7. 위임 감사 이벤트. 위임 감사 이벤트 레코드를 사용하여 보안 구성에서 가능한 보안 침해 또는 취약성을 식별하십시오. 이벤트 유형 |
가능한 결과 |
이유 코드 |
SECURITY_AUTHN_DELEGATION |
SUCCESS
DENIED
|
AUTHN_SUCCESS
AUTHN_DENIED
|
유효성 검증
일반 보안 토큰 로그인 모듈 지원의 일부로
보안 토큰 서비스는
WS-Trust Validate 요청을 사용하여 토큰을 유효성 검증할 수 있습니다.
이 유효성 검증 조작은 유효성 검증 중인 토큰과 교환하여 토큰을 리턴할 수 있습니다. 교환되는 정보는
일반 보안 토큰 감사에 대한 문서에 있습니다. 다음 표는 기록된 토큰 교환 정보를 표시합니다.
표 8. 토큰 교환. 토큰 교환 정보를 사용하여 토큰 교환 프로세스를 추적하십시오. 이벤트 |
설명 |
TokenSentForExchangeId |
이 정보는 유효성 검증을 위해 전송되고 교환된 토큰을 식별합니다. |
TokenSentForExchangeType |
이 정보는 유효성 검증을 위해 전송되고 교환된 토큰 유형을 식별합니다. |
ExchangedTokenId |
이 정보는 유효성 검증 요청 중에 교환하여 수신된 토큰을 식별합니다. |
ExchangedTokenType |
이 정보는 유효성 검증 요청 중에 교환하여 수신된 토큰 유형을 식별합니다. |
토큰 교환 없이 토큰을 유효성 검증하는 경우에는 토큰 ID만 기록됩니다.