Sophos UTM 로그 수집
이 문서에서는 Google Security Operations 전달자를 사용하여 Sophos UTM 로그를 수집하는 방법을 설명합니다.
자세한 내용은 Google Security Operations에 데이터 수집을 참조하세요.
수집 라벨은 원시 로그 데이터를 구조화된 UDM 형식으로 정규화하는 파서를 식별합니다. 이 문서의 정보는 SOPHOS_UTM
수집 라벨이 있는 파서에 적용됩니다.
Sophos UTM 포인트 구성
- 관리자 사용자 인증 정보를 사용하여 Sophos UTM 콘솔에 로그인합니다.
- 로깅 및 보고 > 로그 설정을 선택합니다. 로컬 로깅 탭은 기본적으로 사용 설정되어 있습니다.
- 원격 syslog 서버 탭을 클릭합니다.
- 전환 버튼을 클릭하여 원격 syslog 서버 탭을 사용 설정합니다.
원격 syslog 설정 섹션의 Syslog servers(Syslog 서버) 필드에서 syslog 서버 설정을 추가하거나 수정합니다.
시스템로그 서버 설정을 추가하려면 + 시스템로그 서버 추가를 클릭합니다.
Syslog 서버 추가 대화상자에서 다음을 수행합니다.
- 이름 필드에 syslog 서버 이름을 입력합니다.
- 서버 필드에 syslog 서버 세부정보를 입력합니다.
- 포트 필드에 syslog 서버 포트 세부정보를 입력합니다.
- 저장을 클릭합니다.
Syslog 서버 설정을 수정하려면 수정을 클릭한 후 설정을 업데이트합니다.
원격 syslog 버퍼 필드에 기본값(예: 1000)을 입력합니다.
원격 syslog 로그 선택 섹션에서 원격 syslog 서버로 전송해야 하는 다음 로그를 선택합니다.
- 지능형 위협 방지
- 구성 데몬
- 방화벽
- 침입 방지 시스템
- 로컬 로그인
- 로깅 하위 시스템
- 시스템 메시지
- 사용자 인증 데몬
- 웹 필터링
적용을 클릭하여 변경사항을 저장합니다.
Sophos UTM 로그를 수집하도록 Google Security Operations 전달자 구성
- SIEM 설정 > 전달자로 이동합니다.
- 새 전달자 추가를 클릭합니다.
- Forwarder Name(운송업체 이름) 입력란에 운송업체의 고유한 이름을 입력합니다.
- 제출을 클릭합니다. 전달자가 추가되고 수집기 구성 추가 창이 표시됩니다.
- 수집기 이름 입력란에 이름을 입력합니다.
- 로그 유형으로 Sophos UTM을 선택합니다.
- 수집기 유형으로 Syslog를 선택합니다.
- 다음 필수 입력 매개변수를 구성합니다.
- 프로토콜: 수집기가 syslog 데이터를 리슨하는 데 사용할 연결 프로토콜을 지정합니다.
- 주소: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 IP 주소 또는 호스트 이름을 지정합니다.
- 포트: 수집기가 상주하고 syslog 데이터를 리슨하는 대상 포트를 지정합니다.
- 제출을 클릭합니다.
Google Security Operations 전달자에 대한 자세한 내용은 Google Security Operations 전달자 문서를 참고하세요.
각 전달자 유형의 요구사항은 유형별 전달자 구성을 참고하세요.
전달자를 만들 때 문제가 발생하면 Google Security Operations 지원팀에 문의하세요.
필드 매핑 참조
이 Sophos UTM 파서는 Sophos UTM 방화벽 로그에서 키-값 쌍 및 기타 필드를 추출하여 UDM 형식으로 변환합니다. 방화벽 이벤트, DHCP 이벤트, 사용자 로그인/로그아웃 이벤트를 비롯한 다양한 로그 유형을 처리하고 관련 필드를 해당하는 UDM 필드에 매핑하며 추가 컨텍스트로 데이터를 보강합니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
action | security_result.action |
action 이 'pass' 또는 'accept'인 경우 'ALLOW'에 매핑합니다. action 이 'drop'인 경우 'BLOCK'에 매핑합니다. |
ad_domain | target.administrative_domain |
직접 매핑 |
주소 | target.ip , target.asset.ip |
직접 매핑. id 이 '2203'인 경우 사용됩니다. |
앱 | target.application |
직접 매핑 |
app-id | additional.fields[].key , additional.fields[].value.string_value |
이름이 app_id 으로 변경되었습니다. 값이 비어 있지 않으면 키가 'app-id'로 설정되고 값은 app-id 자체입니다. |
애플리케이션 | principal.application |
직접 매핑 |
aptptime | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않으면 키가 'aptptime'으로 설정되고 값은 aptptime 자체입니다. |
auth | extensions.auth.auth_details |
직접 매핑 |
authtime | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않고 '0'이 아닌 경우 키는 'authtime'으로 설정되고 값은 authtime 자체입니다. |
avscantime | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않고 '0'이 아닌 경우 키는 'avscantime'으로 설정되고 값은 avscantime 자체입니다. |
카테고리 | security_result.detection_fields[].key , security_result.detection_fields[].value |
비어 있지 않으면 키가 '카테고리'로 설정되고 값은 category 자체입니다. name 에 'portscan'이 포함된 경우 security_result.category 이 'NETWORK_RECON'으로 설정되고 키가 'category'이고 값이 'NETWORK_RECON'인 감지 필드가 추가됩니다. |
categoryname | security_result.category_details |
직접 매핑 |
연결 | security_result.rule_name |
직접 매핑. id 이 '2203'인 경우 사용됩니다. |
content-type 데이터 | (기타 필드 참고) | data 필드에는 개별 필드로 파싱되는 키-값 쌍이 포함됩니다. |
datetime | metadata.event_timestamp |
에포크 이후 경과 시간(초)으로 파싱되고 매핑됩니다. |
device | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않고 '0'이 아닌 경우 키는 'device'로 설정되고 값은 device 자체입니다. |
dnstime | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않고 '0'이 아닌 경우 키는 'dnstime'으로 설정되고 값은 dnstime 자체입니다. |
dstip | target.ip , target.asset.ip |
직접 매핑 url 필드(있는 경우)에서도 추출됩니다. |
dstmac | target.mac |
직접 매핑 |
dstport | target.port |
정수로 변환된 직접 매핑 |
오류 이벤트 | security_result.summary |
직접 매핑: id 이 '2201', '2202' 또는 '2203'인 경우 사용됩니다. |
exceptions | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않으면 키가 '예외'로 설정되고 값은 exceptions 자체입니다. |
파일 | about.file.full_path |
직접 매핑 |
filteraction | security_result.rule_name |
직접 매핑 |
fullreqtime | additional.fields[].key , additional.fields[].value.string_value |
값이 비어 있지 않으면 키가 'fullreqtime'으로 설정되고 값은 fullreqtime 자체입니다. |
fwrule | security_result.rule_id |
직접 매핑 |
그룹 | target.group.group_display_name |
직접 매핑 |
id | metadata.product_log_id |
직접 매핑 |
정보 | security_result.description |
직접 매핑 이 속성이 있는 경우 metadata.event_type 이 'NETWORK_UNCATEGORIZED'로 설정됩니다. |
initf 인터페이스 | security_result.about.labels[].key , security_result.about.labels[].value |
빈 값이 아니면 security_result.about.labels 에 'Interface' 키와 interface 값이 있는 라벨이 추가됩니다. |
ip_address | target.ip , target.asset.ip |
직접 매핑 |
길이 선 메시지 | security_result.summary |
id 이 '0003'인 경우 사용됩니다. 일반적인 grok 파싱에도 사용됩니다. |
method | network.http.method |
직접 매핑 |
name | security_result.summary |
직접 매핑 |
outitf pid | target.process.pid |
직접 매핑 |
포트 | target.port |
정수로 변환된 직접 매핑 |
prec 프로필 | security_result.rule_name |
직접 매핑 |
proto | network.ip_protocol |
조회 테이블을 사용하여 IP 프로토콜 이름으로 변환됩니다. |
reason referer | network.http.referral_url |
직접 매핑 |
요청 | additional.fields[].key , additional.fields[].value.string_value |
비어 있지 않으면 키가 'request'로 설정되고 값은 request 자체입니다. |
평판 | additional.fields[].key , additional.fields[].value.string_value |
키가 비어 있지 않으면 키가 'reputation'으로 설정되고 값은 reputation 자체입니다. |
rx | network.received_bytes |
id 이 '2202'인 경우 사용되는 직접 매핑으로, 부호 없는 정수로 변환됩니다. |
샌드박스 심각도 | security_result.severity |
severity 이 'info'인 경우 'LOW'에 매핑합니다. |
크기 | target.file.size |
부호 없는 정수로 변환된 직접 매핑입니다. |
srcip | principal.ip , principal.asset.ip |
직접 매핑 |
srcmac | principal.mac |
직접 매핑 |
srcport | principal.port |
정수로 변환된 직접 매핑 |
statuscode | network.http.response_code |
정수로 변환된 직접 매핑 |
Pub/Sub이 있습니다 | network.application_protocol |
sub 이 'http'인 경우 metadata.event_type 는 'NETWORK_HTTP'로 설정되고 network.application_protocol 는 'HTTP'로 설정됩니다. sub 이 'packetfilter'인 경우 metadata.description 이 sub 로 설정됩니다. 그렇지 않으면 조회 테이블을 사용하여 애플리케이션 프로토콜 이름으로 변환됩니다. 조회 테이블에 일치하는 항목이 없으면 dstport 이 조회에 사용됩니다. |
sys | metadata.product_event_type |
직접 매핑 |
tcpflags tos ttl tx | network.sent_bytes |
id 이 '2202'인 경우에 사용되는 직접 매핑으로, 부호 없는 정수로 변환됩니다. |
ua | network.http.user_agent |
직접 매핑 |
url | network.http.referral_url , target.hostname , target.asset.hostname |
network.http.referral_url 의 직접 매핑입니다. target.hostname 및 target.asset.hostname 의 호스트 이름을 추출했습니다. dstip 를 추출하는 데도 사용됩니다. |
사용자 | target.user.userid |
직접 매핑 |
사용자 이름 | target.user.userid |
직접 매핑: id 이 '2201' 또는 '2202'인 경우 사용됩니다. |
variant | 최종 UDM에는 포함되지 않지만 설명에 사용됨 | id 이 '2201', '2202' 또는 '2203'인 경우 sub 와 함께 사용하여 security_result.description 를 만듭니다. |
virtual_ip | target.ip , target.asset.ip |
직접 매핑: id 이 '2201' 또는 '2202'인 경우 사용됩니다. |
metadata.event_type |
metadata.event_type |
'GENERIC_EVENT'로 초기화됩니다. 로그 콘텐츠 및 파서 로직에 따라 특정 값으로 설정합니다. |
metadata.log_type |
metadata.log_type |
'SOPHOS_UTM'으로 하드코딩되었습니다. |
metadata.product_name |
metadata.product_name |
'SOPHOS UTM'으로 하드코딩되었습니다. |
metadata.vendor_name |
metadata.vendor_name |
'SOPHOS Ltd'로 하드코딩되었습니다. |
intermediary.hostname |
intermediary.hostname |
grok를 사용하여 로그 메시지에서 추출하고 이름을 변경했습니다. |
변경사항
2024-05-29
- 개선 -
- 'url'이 'target.hostname' 및 'target.asset.hostname'에 매핑되었습니다.
2022-06-30
- 개선 -
- 'size'가 'additional.fields'에 매핑되었습니다.
- 'fullreqtime'이 'additional.fields'에 매핑되었습니다.
- 'category'가 'security_result.detection_fields'에 매핑되었습니다.
- 'device'가 'additional.fields'에 매핑되었습니다.
- '예외'가 'additional.fields'에 매핑되었습니다.
- 'action'이 'DROP'과 일치하는 경우 'security_result.action'이 'BLOCK'에 매핑되었습니다.
- 'inter_host'가 'intermediary.hostname'에 매핑되었습니다.
2022-04-13
- 개선사항 - 다음 필드에 대한 매핑이 추가되었습니다.
- 'categoryname'을 'security_result.category_details'로 변경했습니다.
- 'user'를 'target.user.userid'로
- 'ad_domain'을 'target.administrative_domain'으로
- 'group'을 'target.group.group_display_name'으로
- 'sys'에서 'metadata.product_event_type'으로
- 'application'을 'principal.application'으로 변경
- 'auth'를 'extensions.auth.auth_details'로 변경
- 'profile'에서 'security_result1.rule_name'으로
- 'app-id', 'reputation', 'request', 'authtime', 'dnstime', 'aptptime', 'cattime', 'avscantime'을 'additional.fields'로