Tripwire 로그 수집
이 문서에서는 Google Security Operations 전달자를 사용하여 Tripwire 로그를 수집하는 방법을 설명합니다.
자세한 내용은 Google Security Operations에 데이터 수집을 참조하세요.
수집 라벨은 원시 로그 데이터를 구조화된 UDM 형식으로 정규화하는 파서를 식별합니다. 이 문서의 정보는 TRIPWIRE_FIM
수집 라벨이 있는 파서에 적용됩니다.
Tripwire Enterprise 구성
- 관리자 사용자 인증 정보를 사용하여 Tripwire Enterprise 웹 콘솔에 로그인합니다.
- 로그 관리 설정을 수정하려면 설정 탭을 클릭합니다.
- Tripwire > 시스템 > 로그 관리를 선택합니다.
- 로그 관리 환경설정 창에서 다음을 수행합니다.
- TE 로그 메시지를 syslog로 전달 체크박스를 선택합니다.
- TCP 호스트 필드에 Google Security Operations 전달자 IP 주소 또는 호스트 이름을 입력합니다.
- TCP 포트 필드에 로그 메시지가 TCP를 통해 전송되는 포트를 입력합니다.
- 구성을 테스트하려면 연결 테스트를 클릭합니다.
- 변경사항을 저장하려면 적용을 클릭합니다.
Tripwire 로그를 수집하도록 Google Security Operations 전달자 구성
- SIEM 설정 > 전달자로 이동합니다.
- 새 전달자 추가를 클릭합니다.
- Forwarder Name(운송업체 이름) 입력란에 운송업체의 고유한 이름을 입력합니다.
- 제출을 클릭합니다. 전달자가 추가되고 수집기 구성 추가 창이 표시됩니다.
- 수집기 이름 입력란에 이름을 입력합니다.
- 로그 유형으로 트립와이어를 선택합니다.
- 수집기 유형으로 Syslog를 선택합니다.
- 다음 필수 입력 매개변수를 구성합니다.
- 프로토콜: 수집기가 syslog 데이터를 리슨하는 데 사용하는 연결 프로토콜 (TCP)을 지정합니다.
- 주소: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 IP 주소 또는 호스트 이름을 지정합니다.
- 포트: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 포트를 지정합니다.
- 제출을 클릭합니다.
Google Security Operations 전달자에 대한 자세한 내용은 Google Security Operations UI를 통해 전달자 구성 관리를 참고하세요.
전달자를 만들 때 문제가 발생하면 Google Security Operations 지원팀에 문의하세요.
필드 매핑 참조
개요: 이 파서는 Tripwire File Integrity Manager (FIM) syslog 메시지에서 필드를 추출하여 UDM 형식으로 정규화합니다. 시스템 이벤트, 보안 이벤트, 변경사항, 감사를 비롯한 다양한 로그 카테고리를 처리하여 상응하는 UDM 이벤트 유형에 매핑하고 사용자 정보, 영향을 받은 리소스, 보안 결과와 같은 세부정보로 데이터를 보강합니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
AffectedHost | principal.hostname | CEF 로그의 AffectedHost 필드에서 직접 매핑됩니다. |
AffectedIP | principal.ip | CEF 로그의 AffectedIP 필드에서 직접 매핑됩니다. |
AppType | target.file.full_path | desc 에 'HKEY'가 포함되어 있고 AppType 가 있는 경우 AppType 필드에서 직접 매핑됩니다. |
ChangeType | target.resource.attribute.labels.key: 변경 유형 target.resource.attribute.labels.value: %{ChangeType} |
CEF 로그의 ChangeType 필드에서 라벨로 직접 매핑됩니다. |
ChangeType | sec_result.summary | 로그에 있는 경우 change_type 필드에서 직접 매핑됩니다. |
cs1 | target.resource.attribute.labels.key: cs1Label target.resource.attribute.labels.value: cs1 |
CEF 로그의 cs1 및 cs1Label 필드에서 라벨로 직접 매핑됩니다. |
cs2 | target.resource.attribute.labels.key: cs2Label target.resource.attribute.labels.value: cs2 |
CEF 로그의 cs2 및 cs2Label 필드에서 라벨로 직접 매핑됩니다. |
cs3 | target.resource.attribute.labels.key: cs3Label target.resource.attribute.labels.value: cs3 |
CEF 로그의 cs3 및 cs3Label 필드에서 라벨로 직접 매핑됩니다. |
cs4 | target.resource.attribute.labels.key: cs4Label target.resource.attribute.labels.value: cs4 |
CEF 로그의 cs4 및 cs4Label 필드에서 라벨로 직접 매핑됩니다. |
cs5 | target.resource.attribute.labels.key: cs5Label target.resource.attribute.labels.value: cs5 |
CEF 로그의 cs5 및 cs5Label 필드에서 라벨로 직접 매핑됩니다. |
cs6 | target.resource.attribute.labels.key: cs6Label target.resource.attribute.labels.value: cs6 |
CEF 로그의 cs6 및 cs6Label 필드에서 라벨로 직접 매핑됩니다. |
datetime | metadata.event_timestamp | 'MMM d HH:mm:ss', 'yyyy-MM-dd HH:mm:ss'와 같은 다양한 형식을 파싱하여 타임스탬프로 변환합니다. |
device_event_class_id | principal.resource.product_object_id | CEF 로그의 device_event_class_id 필드에서 직접 매핑됩니다. |
device_product | metadata.product_name | CEF 로그의 device_product 필드에서 직접 매핑됩니다. |
device_vendor | metadata.vendor_name | CEF 로그의 device_vendor 필드에서 직접 매핑됩니다. |
device_version | metadata.product_version | CEF 로그의 device_version 필드에서 직접 매핑됩니다. |
dhost | target.hostname | CEF 로그의 dhost 필드에서 직접 매핑됩니다. |
duser | target.user.userid | CEF 로그의 duser 필드에서 직접 매핑됩니다. |
dvc | principal.ip | CEF 로그의 dvc 필드에서 직접 매핑됩니다. |
elementOID | target.resource.attribute.labels.key: elementOIDLabel target.resource.attribute.labels.value: elementOID |
CEF 로그의 elementOID 및 elementOIDLabel 필드에서 라벨로 직접 매핑됩니다. |
event_name | metadata.product_event_type | CEF 로그의 event_name 필드에서 직접 매핑됩니다. |
FileName | principal.process.file.full_path | CEF 로그의 FileName 필드에서 직접 매핑됩니다. |
fname | target.file.full_path | CEF 로그의 fname 필드에서 직접 매핑됩니다. |
HostName | principal.hostname | desc 에 'TE:'가 포함된 경우 HostName 필드에서 직접 매핑됩니다. |
licurl | about.url | CEF 로그의 licurl 필드에서 직접 매핑됩니다. |
log_level | security_result.severity | log_level 필드에서 매핑되었습니다. '정보'는 'INFORMATIONAL', '경고'는 'MEDIUM', '오류'는 'ERROR', '심각'은 'CRITICAL'로 변경됩니다. |
LogUser | principal.user.userid 또는 target.user.userid | event_type 가 비어 있지 않고 'USER_LOGIN'이 아니며 principal_user 가 비어 있으면 principal.user.userid 에 매핑됩니다. 그 외의 경우에는 target.user.userid 로 매핑됩니다. desc 필드가 'Msg="User'로 시작하는 경우에도 추출됩니다. |
MD5 | target.file.md5 | CEF 로그의 MD5 필드가 비어 있지 않거나 '사용할 수 없음'이 아닌 경우 MD5 필드에서 직접 매핑됩니다. |
메시지 | security_result.description | desc 에 'TE:'가 포함된 경우 Msg 필드에서 직접 매핑됩니다. category 및 기타 필드를 기반으로 다양한 시나리오에서 desc 필드에서 추출됩니다. |
NodeIp | target.ip | desc 에 'TE:'가 포함된 경우 NodeIp 필드에서 직접 매핑됩니다. |
NodeName | target.hostname | desc 에 'TE:'가 포함된 경우 NodeName 필드에서 직접 매핑됩니다. |
OS-Type | principal.platform | OS-Type 필드에서 매핑되었습니다. 'WINDOWS' (대소문자 구분 안 함)가 'WINDOWS'로, 'Solaris' (대소문자 구분 안 함)가 'LINUX'로 변경됩니다. |
principal_user | principal.user.userid 또는 target.user.userid | message 필드에 'CN="가 포함된 경우 추출됩니다. 'CN=", 괄호, 후행 공백을 삭제하도록 처리됩니다. event_type 이 'USER_UNCATEGORIZED'가 아닌 경우 principal.user.userid 에 매핑됩니다. 그 외의 경우에는 target.user.userid 로 매핑됩니다. '감사 이벤트' 카테고리의 desc 필드에서도 추출됩니다. |
principal_user | principal.user.group_identifiers | ldap_details 이 비어 있지 않고 'OU="가 포함된 경우 principal_user 에서 추출됩니다. |
principal_user | principal.administrative_domain | 도메인 부분은 패턴 %{GREEDYDATA:adminsitrative_domain}\\\\%{WORD:principal_user} 과 일치하는 경우 principal_user 에서 추출됩니다. |
product_logid | metadata.product_log_id | desc 에 'TE:'가 포함된 경우 product_logid 필드에서 직접 매핑됩니다. |
rt | metadata.event_timestamp | 'MMM dd yyyy HH:mm:ss' 및 'MM dd yyyy HH:mm:ss ZZZ' 형식을 파싱하여 타임스탬프로 변환합니다. |
SHA-1 | target.file.sha256 | 'After=' 뒤의 값은 SHA-1 필드에서 추출되고 매핑됩니다. |
크기 | target.file.size | 'After=' 뒤의 값은 Size 필드에서 추출되고 매핑된 후 부호 없는 정수로 변환됩니다. |
software_update | target.resource.name | software_update 필드가 비어 있지 않으면 software_update 필드에서 직접 매핑됩니다. |
source_hostname | principal.hostname | desc 에 'TE:'가 포함된 경우 source_hostname 필드에서 직접 매핑됩니다. |
source_ip | principal.ip | desc 에 'TE:'가 포함된 경우 source_ip 필드에서 직접 매핑됩니다. |
sproc | src.process.command_line | CEF 로그의 sproc 필드에서 직접 매핑됩니다. |
시작 | target.resource.attribute.creation_time | 'MMM d yyyy HH:mm:ss' 형식에서 파싱되고 타임스탬프로 변환됩니다. |
target_hostname | target.hostname | target_hostname 필드에서 직접 매핑됩니다(있는 경우). |
target_ip | target.ip | target_ip 필드에서 직접 매핑됩니다(있는 경우). |
시간 | metadata.event_timestamp | temp_data 필드에서 '<%{INT}>%{INT} %{TIMESTAMP_ISO8601:time}.*' 형식을 사용하여 파싱됩니다. |
timezone | target.resource.attribute.labels.key: timezoneLabel target.resource.attribute.labels.value: timezone |
CEF 로그의 timezone 및 timezoneLabel 필드에서 라벨로 직접 매핑됩니다. licurl 가 비어 있거나 '사용할 수 없음'인 경우 생성되는 빈 about 객체입니다. event_type 이 'USER_LOGIN'인 경우 extensions 내에 생성된 빈 auth 객체입니다. event_type 가 다른 로직에 의해 설정되지 않았거나 event_type 가 'NETWORK_CONNECTION'이고 target_hostname 및 target_ip 가 모두 비어 있는 경우 기본값으로 'STATUS_UNCATEGORIZED'로 설정합니다. 'TRIPWIRE_FIM'으로 설정합니다. 기본값으로 '파일 무결성 모니터링'으로 설정되며 device_product 가 있는 경우 재정의됩니다. 'TRIPWIRE'로 설정합니다. 기본값으로 '허용'으로 설정합니다. category 및 desc 콘텐츠에 따라 특정 시나리오에서 '차단'으로 설정합니다. |
변경사항
2023-06-21
- CEF 형식 로그를 처리하는 gsub을 추가했습니다.
2023-06-07
- CEF 형식 로그를 처리하는 Grok 패턴을 추가했습니다.
2022-06-14
- 버그 수정: - regestry_key와 값 사이에 공백이 없는 'HKEY_' 유형 로그를 파싱하는 새 grok이 추가되었습니다.
- event_type을 NETWORK_CONNECTION에 매핑하기 전에 target_hostname 또는 target_ip의 유효성 검사를 추가했습니다.
- udm에 매핑하기 전에 사용자 이름에 대한 null 검사를 추가했습니다.