Wazuh 로그 수집
개요
이 Wazuh 파서는 SYSLOG 및 JSON 형식 로그를 처리하고 필드를 공통 형식으로 정규화하며 Wazuh별 메타데이터로 보강합니다. 그런 다음 event_type 및 rule_id 필드를 기반으로 일련의 조건문을 사용하여 원시 로그 데이터를 적절한 UDM 이벤트 유형 및 필드에 매핑하여 Wazuh 생태계 내에서 다양한 로그 형식과 특이 사례를 처리합니다.
시작하기 전에
- Google SecOps 인스턴스가 있는지 확인합니다.
- 활성 Wazuh 인스턴스가 있는지 확인합니다.
- Wazuh 구성 파일에 대한 권한이 있는지 확인합니다.
Wazuh 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정 > 피드로 이동합니다.
- 새로 추가를 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예: Wazuh Logs).
- 소스 유형으로 Webhook을 선택합니다.
- 로그 유형으로 Wazuh를 선택합니다.
- 다음을 클릭합니다.
- 선택사항: 다음 입력 매개변수의 값을 지정합니다.
- 분할 구분 기호: 로그 줄을 구분하는 데 사용되는 구분 기호입니다(예:
\n
). - 애셋 네임스페이스: 애셋 네임스페이스입니다.
- 수집 라벨: 이 피드의 이벤트에 적용된 라벨입니다.
- 분할 구분 기호: 로그 줄을 구분하는 데 사용되는 구분 기호입니다(예:
- 다음을 클릭합니다.
- 확정 화면에서 피드 구성을 검토한 다음 제출을 클릭합니다.
- 보안 비밀 키 생성을 클릭하여 이 피드를 인증하기 위한 보안 비밀 키를 생성합니다.
- 비밀 키를 복사하여 저장합니다. 이 보안 비밀 키는 다시 볼 수 없습니다. 필요한 경우 새 보안 비밀 키를 재생성할 수 있지만 이 작업을 하면 이전 보안 비밀 키는 더 이상 사용할 수 없게 됩니다.
- 세부정보 탭의 엔드포인트 정보 필드에서 피드 엔드포인트 URL을 복사합니다. 클라이언트 애플리케이션에서 이 엔드포인트 URL을 지정해야 합니다.
- 완료를 클릭합니다.
웹훅 피드에 대한 API 키 만들기
Google Cloud 콘솔 > 사용자 인증 정보로 이동합니다.
사용자 인증 정보 만들기를 클릭한 후 API 키를 선택합니다.
Google Security Operations API에 대한 API 키 액세스를 제한합니다.
엔드포인트 URL 지정
- 클라이언트 애플리케이션에서 웹훅 피드에 제공된 HTTPS 엔드포인트 URL을 지정합니다.
다음 형식의 커스텀 헤더의 일부로 API 키와 보안 비밀 키를 지정하여 인증을 사용 설정합니다.
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
권장사항: URL에 API 키를 지정하는 대신 헤더로 지정하세요. 웹훅 클라이언트가 커스텀 헤더를 지원하지 않는 경우 다음 형식의 쿼리 매개변수를 사용하여 API 키와 보안 비밀 키를 지정할 수 있습니다.
ENDPOINT_URL?key=API_KEY&secret=SECRET
다음을 바꿉니다.
ENDPOINT_URL
: 피드 엔드포인트 URL입니다.API_KEY
: Google Security Operations에 인증하기 위한 API 키입니다.SECRET
: 피드를 인증하기 위해 생성한 보안 비밀 키입니다.
Wazuh Cloud Webhook 구성
Wazuh Cloud Webhook을 구성하려면 다음 단계를 완료하세요.
- Wazuh Cloud에 로그인합니다.
- 왼쪽 창 메뉴의 서버 관리 아래에 있는 설정으로 이동합니다.
- 구성 수정을 클릭합니다.
구성의
<integration>
섹션 내에 다음 통합 블록을 추가합니다.- 섹션이 없는 경우
<integration>
를 사용하여 전체 블록을 복사하여 섹션을 만듭니다. - 자리표시자 값을 실제 Google SecOps 세부정보로 바꿉니다.
- 섹션이 없는 경우
<integration>
<name>google-chronicle</name>
<hook_url>https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs?key=<API_KEY>&secret=<SECRET></hook_url>
<alert_format>json</alert_format>
<level>0</level> <!-- Adjust the level as needed -->
</integration>
CHRONICLE_REGION
: Google SecOps 리전 (예:us
,europe-west1
)입니다.GOOGLE_PROJECT_NUMBER
: Google Cloud 프로젝트 번호입니다.LOCATION
: Google SecOps 리전 (예:us
,europe-west1
)입니다.CUSTOMER_ID
: Google SecOps 고객 ID입니다.FEED_ID
: Google SecOps 피드의 ID입니다.API_KEY
: Google SecOps를 호스팅하는 Google Cloud의 API 키입니다.SECRET
: Google SecOps 피드의 비밀입니다.alert_format
: Google SecOps 호환성을 위해json
로 설정합니다.level
: 전달할 최소 알림 수준을 지정합니다.0
는 모든 알림을 전송합니다.
- 저장 버튼을 클릭합니다.
- wazuh-manager 다시 시작을 클릭합니다.
Wazuh 온프레미스 웹훅 구성
Wazuh 온프레미스 웹훅을 구성하려면 다음 단계를 완료하세요.
- 온프레미스 Wazuh 관리자에 액세스합니다.
/var/ossec/etc/
디렉터리로 이동합니다.- 텍스트 편집기 (예:
nano
,vim
)를 사용하여ossec.conf
파일을 엽니다. 구성의
<integration>
섹션 내에 다음 통합 블록을 추가합니다.- 섹션이 없는 경우
<integration>
를 사용하여 전체 블록을 복사하여 섹션을 만듭니다. - 자리표시자 값을 실제 Google SecOps 세부정보로 바꿉니다.
<integration> <name>google-chronicle</name> <hook_url>https://<CHRONICLE_REGION>-chronicle.googleapis.com/v1alpha/projects/<GOOGLE_PROJECT_NUMBER>/locations/<LOCATION>/instances/<CUSTOMER_ID>/feeds/<FEED_ID>:importPushLogs?key=<API_KEY>&secret=<SECRET></hook_url> <alert_format>json</alert_format> <level>0</level> <!-- Adjust the level as needed --> </integration>
CHRONICLE_REGION
: Google SecOps 리전 (예:us
,europe-west1
)입니다.GOOGLE_PROJECT_NUMBER
: Google Cloud 프로젝트 번호입니다.LOCATION
: Google SecOps 리전 (예:us
,europe-west1
)입니다.CUSTOMER_ID
: Google SecOps 고객 ID입니다.FEED_ID
: Google SecOps 피드의 ID입니다.API_KEY
: Google SecOps를 호스팅하는 Google Cloud의 API 키입니다.SECRET
: Google SecOps 피드의 비밀입니다.alert_format
: Google SecOps 호환성을 위해json
로 설정합니다.level
: 전달할 최소 알림 수준을 지정합니다.0
는 모든 알림을 전송합니다.
- 섹션이 없는 경우
Wazuh 관리자를 다시 시작하여 변경사항을 적용합니다.
sudo systemctl restart wazuh-manager
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
Acct-Authentic |
event.idm.read_only_udm.security_result.authentication_mechanism |
Acct-Authentic 필드에서 직접 매핑됩니다. |
Acct-Status-Type |
event.idm.read_only_udm.security_result.detection_fields[].value |
Acct-Status-Type 필드에서 직접 매핑됩니다. 키가 'Acct-Status-Type'으로 설정됩니다. |
agent.id |
event.idm.read_only_udm.intermediary.resource.id |
agent.id 필드에서 직접 매핑됩니다. |
agent.ip |
event.idm.read_only_udm.intermediary.ip , event.idm.read_only_udm.intermediary.asset.ip , event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
agent.ip 필드에서 직접 매핑됩니다. 이벤트 유형에 따라 일부 경우 사용자/타겟 IP에도 사용됩니다. |
agent.name |
event.idm.read_only_udm.security_result.about.hostname |
agent.name 필드에서 직접 매핑됩니다. |
application |
event.idm.read_only_udm.target.application |
Wazuh application 필드에서 직접 매핑됩니다. |
audit-session-id |
event.idm.read_only_udm.network.session_id |
audit-session-id 필드에서 직접 매핑됩니다. |
ClientIP |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
ClientIP 필드에서 직접 매핑됩니다. |
ClientPort |
event.idm.read_only_udm.principal.port |
ClientPort 필드에서 직접 매핑되고 정수로 변환됩니다. |
cmd |
event.idm.read_only_udm.target.process.command_line |
cmd 필드에서 직접 매핑됩니다. |
CommandLine |
event.idm.read_only_udm.target.process.command_line |
CommandLine 필드에서 직접 매핑됩니다. |
ConfigVersionId |
event.idm.read_only_udm.additional.fields[].value.number_value |
ConfigVersionId 필드에서 직접 매핑됩니다. 키가 'Config Version Id'(구성 버전 ID)로 설정됩니다. |
data.Account Number |
event.idm.read_only_udm.principal.user.userid |
특정 규칙 ID의 data.Account Number 필드에서 직접 매핑됩니다. |
data.Control |
event.idm.read_only_udm.security_result.action_details |
특정 규칙 ID의 data.Control 필드에서 직접 매핑됩니다. |
data.Message |
event.idm.read_only_udm.security_result.description |
특정 규칙 ID의 data.Message 필드에서 직접 매핑됩니다. |
data.Profile |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
특정 규칙 ID의 data.Profile 필드에서 직접 매핑됩니다. |
data.Region |
event.idm.read_only_udm.principal.location.name |
특정 규칙 ID의 data.Region 필드에서 직접 매핑됩니다. |
data.Status |
event.idm.read_only_udm.security_result.action |
data.Status 필드에서 매핑됩니다. 값이 'Pass' 또는 'AUDIT_SUCCESS'인 경우 작업이 '허용'으로 설정됩니다. 값이 'ERROR', 'AUDIT_FAILURE' 또는 'FAIL'인 경우 작업이 'BLOCK'으로 설정됩니다. |
data.aws.awsRegion |
event.idm.read_only_udm.principal.location.name |
특정 규칙 ID의 data.aws.awsRegion 필드에서 직접 매핑됩니다. |
data.aws.eventID |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
data.aws.eventID 필드에서 직접 매핑됩니다. 키가 '이벤트 ID'로 설정됩니다. |
data.aws.eventName |
event.idm.read_only_udm.metadata.description |
특정 규칙 ID의 data.aws.eventName 필드에서 직접 매핑됩니다. |
data.aws.eventSource |
event.idm.read_only_udm.metadata.url_back_to_product |
특정 규칙 ID의 data.aws.eventSource 필드에서 직접 매핑됩니다. |
data.aws.eventType |
event.idm.read_only_udm.metadata.product_event_type |
특정 규칙 ID의 data.aws.eventType 필드에서 직접 매핑됩니다. |
data.aws.requestID |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
data.aws.requestID 필드에서 직접 매핑됩니다. 키는 'Request ID'(요청 ID)로 설정됩니다. |
data.aws.requestParameters.loadBalancerName |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
data.aws.requestParameters.loadBalancerName 필드에서 직접 매핑됩니다. 키는 'LoadBalancer Name'으로 설정됩니다. |
data.aws.sourceIPAddress |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
특정 규칙 ID의 data.aws.sourceIPAddress 필드에서 직접 매핑됩니다. |
data.aws.source_ip_address |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
data.aws.source_ip_address 필드에서 직접 매핑됩니다. |
data.aws.userIdentity.accountId |
event.idm.read_only_udm.principal.user.product_object_id |
특정 규칙 ID의 data.aws.userIdentity.accountId 필드에서 직접 매핑됩니다. |
data.aws.userIdentity.principalId |
event.idm.read_only_udm.principal.user.userid |
특정 규칙 ID의 data.aws.userIdentity.principalId 필드에서 직접 매핑됩니다. |
data.aws.userIdentity.sessionContext.sessionIssuer.arn |
event.idm.read_only_udm.target.resource.attribute.labels[].value |
data.aws.userIdentity.sessionContext.sessionIssuer.arn 필드에서 직접 매핑됩니다. 키가 'ARN'으로 설정됩니다. |
data.aws.userIdentity.sessionContext.sessionIssuer.userName |
event.idm.read_only_udm.principal.user.user_display_name |
특정 규칙 ID의 data.aws.userIdentity.sessionContext.sessionIssuer.userName 필드에서 직접 매핑됩니다. |
data.command |
event.idm.read_only_udm.target.file.full_path |
data.command 필드에서 직접 매핑됩니다. |
data.docker.message |
event.idm.read_only_udm.security_result.description |
특정 이벤트 유형의 data.docker.message 필드에서 직접 매핑됩니다. |
data.dstuser |
event.idm.read_only_udm.target.user.userid |
data.dstuser 필드에서 직접 매핑됩니다. |
data.file |
event.idm.read_only_udm.target.file.full_path |
data.file 필드에서 직접 매핑됩니다. |
data.package |
event.idm.read_only_udm.target.asset.software[].name |
data.package 필드에서 직접 매핑됩니다. |
data.srcip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
data.srcip 필드에서 직접 매핑됩니다. |
data.srcuser |
event.idm.read_only_udm.principal.user.userid |
data.srcuser 필드에서 직접 매핑됩니다. |
data.subject.account_domain |
event.idm.read_only_udm.target.administrative_domain |
특정 규칙 ID의 data.subject.account_domain 필드에서 직접 매핑됩니다. |
data.subject.account_name |
event.idm.read_only_udm.target.user.user_display_name |
특정 규칙 ID의 data.subject.account_name 필드에서 직접 매핑됩니다. |
data.subject.security_id |
event.idm.read_only_udm.target.user.windows_sid |
특정 규칙 ID의 data.subject.security_id 필드에서 직접 매핑됩니다. |
data.title |
event.idm.read_only_udm.target.resource.name |
data.title 필드에서 직접 매핑됩니다. |
data.version |
event.idm.read_only_udm.target.asset.software[].version |
data.version 필드에서 직접 매핑됩니다. |
decoder.name |
event.idm.read_only_udm.about.resource.name , event.idm.read_only_udm.target.application |
decoder.name 필드에서 직접 매핑됩니다. 경우에 따라 타겟 애플리케이션에도 사용됩니다. |
decoder.parent |
event.idm.read_only_udm.about.resource.parent |
decoder.parent 필드에서 직접 매핑됩니다. |
Description |
event.idm.read_only_udm.metadata.description |
Description 필드에서 직접 매핑됩니다. |
Destination |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.target.port |
파싱하여 대상 IP 및 포트를 추출합니다. |
DestinationIPAddress |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
DestinationIPAddress 필드에서 직접 매핑됩니다. |
DestinationPort |
event.idm.read_only_udm.target.port |
DestinationPort 필드에서 직접 매핑되고 정수로 변환됩니다. |
device_ip_address |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
device_ip_address 필드에서 직접 매핑됩니다. |
feature |
event.idm.read_only_udm.metadata.product_event_type |
feature 필드에서 직접 매핑되며 경우에 따라 message_type 와 결합됩니다. |
file_path |
event.idm.read_only_udm.target.file.full_path |
file_path 필드에서 직접 매핑됩니다. |
Framed-IP-Address |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
Framed-IP-Address 필드에서 직접 매핑됩니다. |
full_log |
event.idm.read_only_udm.principal.port , event.idm.read_only_udm.security_result.description , event.idm.read_only_udm.about.labels[].value |
포트 번호, 보안 결과 설명, 대상 로그온 ID를 추출하도록 파싱됩니다. |
Hashes |
event.idm.read_only_udm.target.process.file.sha256 , event.idm.read_only_udm.target.process.file.md5 |
SHA256 및 MD5 해시를 추출하도록 파싱됩니다. |
hostname |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
hostname 필드에서 직접 매핑됩니다. |
Image |
event.idm.read_only_udm.target.process.file.full_path |
Image 필드에서 직접 매핑됩니다. |
IntegrityLevel |
event.idm.read_only_udm.additional.fields[].value.string_value |
IntegrityLevel 필드에서 직접 매핑됩니다. 키가 '무결성 수준'으로 설정됩니다. |
kv_data |
event.idm.read_only_udm.target.process.file.full_path , event.idm.read_only_udm.target.process.pid , event.idm.read_only_udm.target.process.parent_process.file.full_path , event.idm.read_only_udm.target.process.parent_process.command_line , event.idm.read_only_udm.target.process.parent_process.product_specific_process_id , event.idm.read_only_udm.target.process.product_specific_process_id , event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.additional.fields[].value.string_value |
프로세스 생성, 파일 해시, 설명과 관련된 다양한 필드를 추출하도록 파싱됩니다. |
kv_log_data |
event.idm.read_only_udm.security_result.severity_details |
파싱하여 경보 수준을 추출합니다. |
location |
event.idm.read_only_udm.target.file.full_path |
location 필드에서 직접 매핑됩니다. |
LogonGuid |
event.idm.read_only_udm.additional.fields[].value.string_value |
중괄호를 삭제한 후 LogonGuid 필드에서 직접 매핑됩니다. 키가 'Logon Guid'로 설정됩니다. |
LogonId |
event.idm.read_only_udm.about.labels[].value , event.idm.read_only_udm.additional.fields[].value.string_value |
로그아웃 이벤트의 주제 로그온 ID에 사용되며 다른 이벤트에는 직접 매핑됩니다. 키가 '로그온 ID'로 설정됩니다. |
log_description |
event.idm.read_only_udm.metadata.description |
log_description 필드에서 직접 매핑됩니다. |
log_message |
event.idm.read_only_udm.target.file.full_path , event.idm.read_only_udm.metadata.description |
경로 및 로그 설명을 추출하도록 파싱됩니다. |
manager.name |
event.idm.read_only_udm.about.user.userid , event.idm.read_only_udm.principal.user.userid |
manager.name 필드에서 직접 매핑됩니다. 경우에 따라 사용자 ID에도 사용됩니다. |
md5 |
event.idm.read_only_udm.target.process.file.md5 |
md5 필드에서 직접 매핑됩니다. |
message |
event.idm.read_only_udm.metadata.product_event_type , event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.target.process.command_line , event.idm.read_only_udm.network.http.method , event.idm.read_only_udm.network.http.response_code , event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.mac , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.target.port , event.idm.read_only_udm.principal.nat_ip , event.idm.read_only_udm.principal.nat_port , event.idm.read_only_udm.security_result.severity , event.idm.read_only_udm.network.session_id , event.idm.read_only_udm.security_result.detection_fields[].value , event.idm.read_only_udm.additional.fields[].value.number_value , event.idm.read_only_udm.target.url , event.idm.read_only_udm.target.application , event.idm.read_only_udm.principal.resource.attribute.labels[].value , event.idm.read_only_udm.security_result.rule_type , event.idm.read_only_udm.security_result.description , event.idm.read_only_udm.network.http.user_agent , event.idm.read_only_udm.principal.process.pid , event.idm.read_only_udm.principal.resource.attribute.labels[].value , event.idm.read_only_udm.security_result.severity_details |
grok를 사용하여 파싱하여 로그 형식에 따라 다양한 필드를 추출합니다. |
message_data |
event.idm.read_only_udm.metadata.description , event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.principal.port , event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip , event.idm.read_only_udm.target.port , event.idm.read_only_udm.network.sent_bytes , event.idm.read_only_udm.network.received_bytes , event.idm.read_only_udm.network.ip_protocol , event.idm.read_only_udm.metadata.event_type |
메시지 데이터, IP 주소, 포트, 전송/수신된 바이트, 이벤트 유형을 추출하도록 파싱됩니다. |
message_type |
event.idm.read_only_udm.metadata.product_event_type , event.idm.read_only_udm.metadata.description |
message_type 필드에서 직접 매핑되며 경우에 따라 feature 와 결합됩니다. 경우에 따라 설명에도 사용됩니다. |
method |
event.idm.read_only_udm.network.http.method |
method 필드에서 직접 매핑됩니다. |
NAS-IP-Address |
event.idm.read_only_udm.principal.nat_ip |
NAS-IP-Address 필드에서 직접 매핑됩니다. |
NAS-Port |
event.idm.read_only_udm.principal.nat_port |
NAS-Port 필드에서 직접 매핑되고 정수로 변환됩니다. |
NAS-Port-Type |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
NAS-Port-Type 필드에서 직접 매핑됩니다. 키는 'nas_port_type'으로 설정됩니다. |
NetworkDeviceName |
event.idm.read_only_udm.intermediary.hostname |
백슬래시를 삭제한 후 NetworkDeviceName 필드에서 직접 매핑됩니다. |
ParentCommandLine |
event.idm.read_only_udm.target.process.parent_process.command_line |
ParentCommandLine 필드에서 직접 매핑됩니다. |
ParentImage |
event.idm.read_only_udm.target.process.parent_process.file.full_path |
ParentImage 필드에서 직접 매핑됩니다. |
ParentProcessGuid |
event.idm.read_only_udm.target.process.parent_process.product_specific_process_id |
중괄호를 삭제하고 'ID:'를 접두사로 추가한 후 ParentProcessGuid 필드에서 직접 매핑됩니다. |
ParentProcessId |
event.idm.read_only_udm.target.process.parent_process.pid |
ParentProcessId 필드에서 직접 매핑됩니다. |
predecoder.hostname |
event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
predecoder.hostname 필드에서 직접 매핑됩니다. |
ProcessGuid |
event.idm.read_only_udm.target.process.product_specific_process_id |
중괄호를 삭제하고 'ID:'를 접두사로 추가한 후 ProcessGuid 필드에서 직접 매핑됩니다. |
ProcessId |
event.idm.read_only_udm.target.process.pid |
ProcessId 필드에서 직접 매핑됩니다. |
product_event_type |
event.idm.read_only_udm.metadata.product_event_type |
product_event_type 필드에서 직접 매핑됩니다. |
response_code |
event.idm.read_only_udm.network.http.response_code |
response_code 필드에서 직접 매핑되고 정수로 변환됩니다. |
rule.description |
event.idm.read_only_udm.metadata.event_type , event.idm.read_only_udm.security_result.summary |
이벤트 유형을 결정하는 데 사용되며 보안 결과 요약에 직접 매핑됩니다. |
rule.id |
event.idm.read_only_udm.metadata.product_log_id , event.idm.read_only_udm.security_result.rule_id |
rule.id 필드에서 직접 매핑됩니다. |
rule.info |
event.idm.read_only_udm.target.url |
rule.info 필드에서 직접 매핑됩니다. |
rule.level |
event.idm.is_alert , event.idm.is_significant , event.idm.read_only_udm.security_result.severity_details |
이벤트가 알림인지 또는 중요한지 확인하고 심각도 세부정보를 설정하는 데 사용됩니다. |
r_cat_name |
event.idm.read_only_udm.metadata.event_type |
이벤트 유형을 결정하는 데 사용됩니다. |
r_msg_id |
event.idm.read_only_udm.metadata.product_log_id |
r_msg_id 필드에서 직접 매핑됩니다. |
security_result.severity |
event.idm.read_only_udm.security_result.severity |
security_result.severity 필드에서 직접 매핑됩니다. |
ServerIP |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
ServerIP 필드에서 직접 매핑됩니다. |
ServerPort |
event.idm.read_only_udm.target.port |
ServerPort 필드에서 직접 매핑되고 정수로 변환됩니다. |
sha256 |
event.idm.read_only_udm.target.process.file.sha256 |
sha256 필드에서 직접 매핑됩니다. |
Source |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip , event.idm.read_only_udm.principal.port |
파싱하여 기본 IP 및 포트를 추출합니다. |
src_ip |
event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.asset.ip |
src_ip 필드에서 직접 매핑됩니다. |
sr_description |
event.idm.read_only_udm.metadata.event_type , event.idm.read_only_udm.security_result.description |
이벤트 유형을 결정하는 데 사용되며 보안 결과 설명에 직접 매핑됩니다. |
syscheck.md5_after |
event.idm.read_only_udm.target.process.file.md5 |
syscheck.md5_after 필드에서 직접 매핑됩니다. |
syscheck.md5_before |
event.idm.read_only_udm.src.process.file.md5 |
syscheck.md5_before 필드에서 직접 매핑됩니다. |
syscheck.path |
event.idm.read_only_udm.target.file.full_path |
syscheck.path 필드에서 직접 매핑됩니다. |
syscheck.sha1_after |
event.idm.read_only_udm.target.process.file.sha1 |
syscheck.sha1_after 필드에서 직접 매핑됩니다. |
syscheck.sha1_before |
event.idm.read_only_udm.src.process.file.sha1 |
syscheck.sha1_before 필드에서 직접 매핑됩니다. |
syscheck.sha256_after |
event.idm.read_only_udm.target.process.file.sha256 |
syscheck.sha256_after 필드에서 직접 매핑됩니다. |
syscheck.sha256_before |
event.idm.read_only_udm.src.process.file.sha256 |
syscheck.sha256_before 필드에서 직접 매핑됩니다. |
syscheck.size_after |
event.idm.read_only_udm.target.process.file.size |
syscheck.size_after 필드에서 직접 매핑되고 부호 없는 정수로 변환됩니다. |
syscheck.size_before |
event.idm.read_only_udm.src.process.file.size |
syscheck.size_before 필드에서 직접 매핑되고 부호 없는 정수로 변환됩니다. |
syscheck.uname_after |
event.idm.read_only_udm.principal.user.user_display_name |
syscheck.uname_after 필드에서 직접 매핑됩니다. |
target_url |
event.idm.read_only_udm.target.url |
target_url 필드에서 직접 매핑됩니다. |
timestamp |
event.idm.read_only_udm.metadata.event_timestamp |
timestamp 필드에서 직접 매핑됩니다. |
Total_bytes_recv |
event.idm.read_only_udm.network.received_bytes |
Total_bytes_recv 필드에서 직접 매핑되고 부호 없는 정수로 변환됩니다. |
Total_bytes_send |
event.idm.read_only_udm.network.sent_bytes |
Total_bytes_send 필드에서 직접 매핑되고 부호 없는 정수로 변환됩니다. |
User-Name |
event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.mac |
MAC 주소가 아닌 경우 User-Name 필드에서 직접 매핑됩니다. 그렇지 않으면 MAC 주소로 파싱됩니다. |
user_agent |
event.idm.read_only_udm.network.http.user_agent |
user_agent 필드에서 직접 매핑됩니다. |
user_id |
event.idm.read_only_udm.principal.user.userid |
user_id 필드에서 직접 매핑됩니다. |
UserName |
event.idm.read_only_udm.principal.user.userid , event.idm.read_only_udm.principal.mac |
MAC 주소가 아닌 경우 UserName 필드에서 직접 매핑됩니다. 그렇지 않으면 MAC 주소로 파싱됩니다. |
VserverServiceIP |
event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.asset.ip |
VserverServiceIP 필드에서 직접 매핑됩니다. |
VserverServicePort |
event.idm.read_only_udm.target.port |
VserverServicePort 필드에서 직접 매핑되고 정수로 변환됩니다. |
win.system.channel |
event.idm.read_only_udm.security_result.detection_fields[].value |
win.system.channel 필드에서 직접 매핑됩니다. 키가 'channel'로 설정됩니다. |
win.system.computer |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
win.system.computer 필드에서 직접 매핑됩니다. 키가 'computer'로 설정되어 있습니다. |
win.system.eventID |
event.idm.read_only_udm.metadata.product_log_id |
win.system.eventID 필드에서 직접 매핑됩니다. |
win.system.message_description |
event.idm.read_only_udm.metadata.description |
win.system.message_description 필드에서 직접 매핑됩니다. |
win.system.processID |
event.idm.read_only_udm.principal.process.pid |
win.system.processID 필드에서 직접 매핑됩니다. |
win.system.providerGuid |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
win.system.providerGuid 필드에서 직접 매핑됩니다. 키가 'providerGuid'로 설정됩니다. |
win.system.providerName |
event.idm.read_only_udm.principal.resource.attribute.labels[].value |
win.system.providerName 필드에서 직접 매핑됩니다. 키는 'providerName'으로 설정됩니다. |
win.system.severityValue |
event.idm.read_only_udm.security_result.severity , event.idm.read_only_udm.security_result.severity_details |
유효한 심각도 값인 경우 win.system.severityValue 필드에서 직접 매핑됩니다. |
win.system.systemTime |
event.idm.read_only_udm.security_result.detection_fields[].value |
win.system.systemTime 필드에서 직접 매핑됩니다. 키가 'systemTime'으로 설정됩니다. |
win.system.threadID |
event.idm.read_only_udm.security_result.detection_fields[].value |
win.system.threadID 필드에서 직접 매핑됩니다. 키가 'threadID'로 설정됩니다. |
해당 사항 없음 | event.idm.read_only_udm.metadata.event_type |
기본값으로 'GENERIC_EVENT'로 설정되며, 다양한 이벤트 유형에 대한 특정 로직으로 재정의됩니다. |
해당 사항 없음 | event.idm.read_only_udm.extensions.auth.mechanism |
로그인 이벤트의 경우 '원격'으로 설정합니다. |
해당 사항 없음 | event.idm.read_only_udm.extensions.auth.type |
로그인/로그아웃 이벤트의 경우 'PASSWORD'로 설정되고 일부 이벤트의 경우 'MACHINE'으로 재정의됩니다. |
해당 사항 없음 | event.idm.read_only_udm.network.ip_protocol |
TCP 네트워크 연결의 경우 'TCP'로 설정합니다. |
해당 사항 없음 | event.idm.read_only_udm.security_result.action |
로그인 및 성공 이벤트의 경우 '허용'으로, 실패 이벤트의 경우 '차단'으로 설정합니다. |
해당 사항 없음 | event.idm.is_alert |
rule.level 이 12 이하이면 true 로 설정합니다. |
해당 사항 없음 | event.idm.is_significant |
rule.level 이 12보다 크면 true 로 설정하고 그렇지 않으면 false 로 설정합니다. |
해당 사항 없음 | event.idm.read_only_udm.metadata.log_type |
'WAZUH'로 설정합니다. |
해당 사항 없음 | event.idm.read_only_udm.metadata.product_name |
'Wazuh'로 설정합니다. |
변경사항
2024-03-04
- SVROSSEC syslog 로그에 대한 지원이 추가되었습니다.
- 'file_path'가 'target.file.full_path'에 매핑되었습니다.
- 'registry_key'가 'target.registry.registry_key'에 매핑되었습니다.
- 'user_name'이 'principal.user.userid'에 매핑되었습니다.
- 'log_description'이 'metadata.description'에 매핑되었습니다.
- 'action_data'가 'security_result.action_details'에 매핑되었습니다.
- 'src_host'가 'principal.hostname'에 매핑되었습니다.
- 'rule_id'가 'security_result.rule_id'에 매핑되었습니다.
- 'classification'이 'security_result.detection_fields'에 매핑되었습니다.
- 'rule_summary'가 'security_result.summary'에 매핑되었습니다.
- 'principal.hostname' 및 'principal.asset.hostname'의 매핑이 정렬되었습니다.
- 'principal.ip' 및 'principal.asset.ip'의 매핑을 정렬했습니다.
- 'target.ip' 및 'target.asset.ip'의 매핑을 정렬했습니다.
2023-07-17
- 파싱되지 않은 syslog 로그를 파싱하는 Grok 패턴을 추가했습니다.
- 'predecoder.hostname'에 null 검사를 추가했습니다.
2022-10-14
- 파싱 비율이 증가했습니다.
- syslog 패턴 파싱 지원을 추가했습니다.