Tripwire 로그 수집

다음에서 지원:

이 문서에서는 Google Security Operations 전달자를 사용하여 Tripwire 로그를 수집하는 방법을 설명합니다.

자세한 내용은 Google Security Operations에 데이터 수집을 참조하세요.

수집 라벨은 원시 로그 데이터를 구조화된 UDM 형식으로 정규화하는 파서를 식별합니다. 이 문서의 정보는 TRIPWIRE_FIM 수집 라벨이 있는 파서에 적용됩니다.

Tripwire Enterprise 구성

  1. 관리자 사용자 인증 정보를 사용하여 Tripwire Enterprise 웹 콘솔에 로그인합니다.
  2. 로그 관리 설정을 수정하려면 설정 탭을 클릭합니다.
  3. Tripwire > 시스템 > 로그 관리를 선택합니다.
  4. 로그 관리 환경설정 창에서 다음을 수행합니다.
    1. TE 로그 메시지를 syslog로 전달 체크박스를 선택합니다.
    2. TCP 호스트 필드에 Google Security Operations 전달자 IP 주소 또는 호스트 이름을 입력합니다.
    3. TCP 포트 필드에 로그 메시지가 TCP를 통해 전송되는 포트를 입력합니다.
    4. 구성을 테스트하려면 연결 테스트를 클릭합니다.
  5. 변경사항을 저장하려면 적용을 클릭합니다.

Tripwire 로그를 수집하도록 Google Security Operations 전달자 구성

  1. SIEM 설정 > 전달자로 이동합니다.
  2. 새 전달자 추가를 클릭합니다.
  3. Forwarder Name(운송업체 이름) 입력란에 운송업체의 고유한 이름을 입력합니다.
  4. 제출을 클릭합니다. 전달자가 추가되고 수집기 구성 추가 창이 표시됩니다.
  5. 수집기 이름 입력란에 이름을 입력합니다.
  6. 로그 유형으로 트립와이어를 선택합니다.
  7. 수집기 유형으로 Syslog를 선택합니다.
  8. 다음 필수 입력 매개변수를 구성합니다.
    • 프로토콜: 수집기가 syslog 데이터를 리슨하는 데 사용하는 연결 프로토콜 (TCP)을 지정합니다.
    • 주소: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 IP 주소 또는 호스트 이름을 지정합니다.
    • 포트: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 포트를 지정합니다.
  9. 제출을 클릭합니다.

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 로그의 cs1cs1Label 필드에서 라벨로 직접 매핑됩니다.
cs2 target.resource.attribute.labels.key: cs2Label
target.resource.attribute.labels.value: cs2
CEF 로그의 cs2cs2Label 필드에서 라벨로 직접 매핑됩니다.
cs3 target.resource.attribute.labels.key: cs3Label
target.resource.attribute.labels.value: cs3
CEF 로그의 cs3cs3Label 필드에서 라벨로 직접 매핑됩니다.
cs4 target.resource.attribute.labels.key: cs4Label
target.resource.attribute.labels.value: cs4
CEF 로그의 cs4cs4Label 필드에서 라벨로 직접 매핑됩니다.
cs5 target.resource.attribute.labels.key: cs5Label
target.resource.attribute.labels.value: cs5
CEF 로그의 cs5cs5Label 필드에서 라벨로 직접 매핑됩니다.
cs6 target.resource.attribute.labels.key: cs6Label
target.resource.attribute.labels.value: cs6
CEF 로그의 cs6cs6Label 필드에서 라벨로 직접 매핑됩니다.
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 로그의 elementOIDelementOIDLabel 필드에서 라벨로 직접 매핑됩니다.
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 로그의 timezonetimezoneLabel 필드에서 라벨로 직접 매핑됩니다. licurl가 비어 있거나 '사용할 수 없음'인 경우 생성되는 빈 about 객체입니다. event_type이 'USER_LOGIN'인 경우 extensions 내에 생성된 빈 auth 객체입니다. event_type가 다른 로직에 의해 설정되지 않았거나 event_type가 'NETWORK_CONNECTION'이고 target_hostnametarget_ip가 모두 비어 있는 경우 기본값으로 'STATUS_UNCATEGORIZED'로 설정합니다. 'TRIPWIRE_FIM'으로 설정합니다. 기본값으로 '파일 무결성 모니터링'으로 설정되며 device_product가 있는 경우 재정의됩니다. 'TRIPWIRE'로 설정합니다. 기본값으로 '허용'으로 설정합니다. categorydesc 콘텐츠에 따라 특정 시나리오에서 '차단'으로 설정합니다.

변경사항

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 검사를 추가했습니다.