Netskope 웹 프록시 로그 수집
다음에서 지원:
Google SecOps
SIEM
이 파서는 CEF 형식과 CEF가 아닌 형식의 Netskope 웹 프록시 로그를 모두 처리합니다. 필드를 추출하고 데이터 변환 (예: 타임스탬프 변환 또는 필드 병합)을 실행한 후 UDM에 매핑하고 Netskope별 메타데이터를 추가합니다. 파서는 조건부 로직을 사용하여 다양한 로그 형식과 필드 가용성을 처리하여 관련 네트워크, 보안, 애플리케이션 세부정보로 UDM을 보강합니다.
시작하기 전에
- Google Security Operations 인스턴스가 있는지 확인합니다.
- Netskope에 대한 권한이 있는지 확인합니다.
- Log Shipper 모듈이 구성되어 있는지 확인합니다.
- Google SecOps 서비스 계정 키가 있는지 확인합니다. Google SecOps팀에 문의하여 다음 범위 (https://www.googleapis.com/auth/malachite-ingestion)의 서비스 계정을 받으세요.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
CE에서 Netskope 테넌트 구성
- 설정 > 일반으로 이동합니다.
- 배송업체 로그 스위치를 사용으로 전환합니다.
- 설정에서 Netskope 테넌트로 이동합니다.
- 구성된 테넌트가 없는 경우 테넌트 추가를 클릭합니다.
- 다음 값을 입력합니다.
- 이름: 기억하기 쉬운 테넌트 이름을 입력합니다.
- 테넌트 이름: Netskope 테넌트의 실제 이름을 입력합니다.
- V2 API 토큰: Netskope API 토큰을 입력합니다.
- 알림 필터: 처리할 웹 프록시 알림을 추가합니다.
- 초기 범위: 처리할 이전 데이터의 양 (일)을 입력합니다.
- 저장을 클릭합니다.
Netskope CLS 플러그인 구성
- 설정 > 플러그인으로 이동합니다.
- Netskope (CLS) 상자를 검색하여 선택하여 플러그인 만들기 페이지를 엽니다.
- 다음 세부정보를 입력합니다.
- 구성 이름: 이 플러그인의 기억하기 쉬운 이름을 입력합니다.
- 테넌트: 목록에서 이전 단계에서 만든 테넌트를 선택합니다.
- 다음을 클릭합니다.
- 필요에 따라 이벤트 유형 목록을 업데이트합니다.
- 초기 범위: 처리할 이전 데이터의 양 (시간)을 입력합니다.
- 저장을 클릭합니다.
Netskope에서 Google SecOps 플러그인 구성
- 설정 > 플러그인으로 이동합니다.
- Chronicle (CLS) 상자를 검색하여 선택하여 플러그인 만들기 페이지를 엽니다.
- 다음 세부정보를 입력합니다.
- 구성 이름: 이 플러그인의 이름을 입력합니다.
- 매핑: 기본 선택을 그대로 둡니다.
When enabled logs will be transformed using the selected mapping file
를 사용으로 전환합니다.- 다음을 클릭합니다.
- 리전: Google SecOps의 리전을 선택합니다.
- 맞춤 지역 URL: 이전 단계에서 맞춤 지역을 선택한 경우에만 필요한 선택적 설정입니다.
- 서비스 계정 키: Google SecOps에서 제공한 JSON 키를 입력합니다.
- 고객 ID: Google SecOps 테넌트의 고객 ID를 입력합니다.
- 저장을 클릭합니다.
Google SecOps용 로그 전송기 비즈니스 규칙 구성
- Log Shipper > 비즈니스 규칙으로 이동합니다.
- 기본적으로 모든 알림과 이벤트를 필터링하는 비즈니스 규칙이 있습니다.
- 특정 유형의 알림 또는 이벤트를 필터링하려면 새 규칙 만들기를 클릭하고 규칙 이름과 필터를 추가하여 새 비즈니스 규칙을 구성합니다.
- 저장을 클릭합니다.
Google SecOps용 Log Shipper SIEM 매핑 구성
- 로그 전송기 > SIEM 매핑으로 이동합니다.
- SIEM 매핑 추가를 클릭합니다.
- 다음 세부정보를 입력합니다.
- Source Configuration(소스 구성): Netskope CLS 플러그인을 선택합니다.
- 대상 구성: Google SecOps 플러그인을 선택합니다.
- 비즈니스 규칙: 이전에 만든 규칙을 선택합니다.
- 저장을 클릭합니다.
Netskope에서 이벤트 및 알림 가져오기 및 워크플로 검증
- Netskope Cloud Exchange의 로깅으로 이동합니다.
- 가져온 로그를 검색합니다.
- Logging에서 message contains ingested 필터를 사용하여 처리된 이벤트 및 알림을 검색합니다.
- 처리된 로그가 필터링됩니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
applicationType |
security_result.detection_fields[].key : 'applicationType'security_result.detection_fields[].value : applicationType |
해당 CEF 필드에서 직접 매핑됩니다. |
appcategory |
security_result.category_details[] : appcategory |
해당 CEF 필드에서 직접 매핑됩니다. |
browser |
security_result.detection_fields[].key : '브라우저'security_result.detection_fields[].value : browser |
해당 CEF 필드에서 직접 매핑됩니다. |
c-ip |
principal.asset.ip[] : c-ip principal.ip[] : c-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
cci |
security_result.detection_fields[].key : 'cci'security_result.detection_fields[].value : cci |
해당 CEF 필드에서 직접 매핑됩니다. |
ccl |
security_result.confidence : 파생된 값security_result.confidence_details : ccl |
security_result.confidence 는 ccl 의 값을 기반으로 파생됩니다. 'excellent' 또는 'high'는 HIGH_CONFIDENCE 에 매핑되고, 'medium'은 MEDIUM_CONFIDENCE 에 매핑되고, 'low' 또는 'poor'은 LOW_CONFIDENCE 에 매핑되고, 'unknown' 또는 'not_defined'은 UNKNOWN_CONFIDENCE 에 매핑됩니다.security_result.confidence_details 는 ccl 에서 직접 매핑됩니다. |
clientBytes |
network.sent_bytes : clientBytes |
해당 CEF 필드에서 직접 매핑됩니다. |
cs-access-method |
additional.fields[].key : 'accessMethod'additional.fields[].value.string_value : cs-access-method |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app |
additional.fields[].key : 'x-cs-app'additional.fields[].value.string_value : cs-app principal.application : cs-app |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-activity |
additional.fields[].key : 'x-cs-app-activity'additional.fields[].value.string_value : cs-app-activity |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-category |
additional.fields[].key : 'x-cs-app-category'additional.fields[].value.string_value : cs-app-category |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-cci |
additional.fields[].key : 'x-cs-app-cci'additional.fields[].value.string_value : cs-app-cci |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-ccl |
additional.fields[].key : 'x-cs-app-ccl'additional.fields[].value.string_value : cs-app-ccl |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-from-user |
additional.fields[].key : 'x-cs-app-from-user'additional.fields[].value.string_value : cs-app-from-user principal.user.email_addresses[] : cs-app-from-user |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-instance-id |
additional.fields[].key : 'x-cs-app-instance-id'additional.fields[].value.string_value : cs-app-instance-id |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-object-name |
additional.fields[].key : 'x-cs-app-object-name'additional.fields[].value.string_value : cs-app-object-name |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-object-type |
additional.fields[].key : 'x-cs-app-object-type'additional.fields[].value.string_value : cs-app-object-type |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-suite |
additional.fields[].key : 'x-cs-app-suite'additional.fields[].value.string_value : cs-app-suite |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-app-tags |
additional.fields[].key : 'x-cs-app-tags'additional.fields[].value.string_value : cs-app-tags |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-bytes |
network.sent_bytes : cs-bytes |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-content-type |
additional.fields[].key : 'sc-content-type'additional.fields[].value.string_value : cs-content-type |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-dns |
target.asset.hostname[] : cs-dns target.hostname : cs-dns |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-host |
target.asset.hostname[] : cs-host target.hostname : cs-host |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-method |
network.http.method : cs-method |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-referer |
network.http.referral_url : cs-referer |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-uri |
additional.fields[].key : 'cs-uri'additional.fields[].value.string_value : cs-uri |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-uri-path |
additional.fields[].key : 'x-cs-uri-path'additional.fields[].value.string_value : cs-uri-path |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-uri-port |
additional.fields[].key : 'cs-uri-port'additional.fields[].value.string_value : cs-uri-port |
해당 JSON 필드에서 직접 매핑됩니다. |
cs-uri-scheme |
network.application_protocol : cs-uri-scheme |
대문자로 변환한 후 해당 JSON 필드에서 직접 매핑됩니다. |
cs-user-agent |
network.http.parsed_user_agent : 파싱된 사용자 에이전트network.http.user_agent : cs-user-agent |
network.http.parsed_user_agent 는 'parseduseragent' 필터를 사용하여 cs-user-agent 필드를 파싱하여 파생됩니다. |
cs-username |
principal.user.userid : cs-username |
해당 JSON 필드에서 직접 매핑됩니다. |
date |
metadata.event_timestamp.seconds : date 및 time 필드의 에포크 초metadata.event_timestamp.nanos : 0 |
날짜와 시간이 결합되어 에포크 초 및 나노초로 변환됩니다. 나노초는 0으로 설정됩니다. |
device |
intermediary.hostname : device |
해당 CEF 필드에서 직접 매핑됩니다. |
dst |
target.ip[] : dst |
해당 CEF 필드에서 직접 매핑됩니다. |
dst_country |
target.location.country_or_region : dst_country |
상응하는 grokked 필드에서 직접 매핑됩니다. |
dst_ip |
target.asset.ip[] : dst_ip target.ip[] : dst_ip |
상응하는 grokked 필드에서 직접 매핑됩니다. |
dst_location |
target.location.city : dst_location |
상응하는 grokked 필드에서 직접 매핑됩니다. |
dst_region |
target.location.state : dst_region |
상응하는 grokked 필드에서 직접 매핑됩니다. |
dst_zip |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
duser |
target.user.email_addresses[] : duser target.user.user_display_name : duser |
해당 CEF 필드에서 직접 매핑됩니다. |
dvchost |
about.hostname : dvchost target.asset.hostname[] : dvchost target.hostname : dvchost |
해당 CEF 필드에서 직접 매핑됩니다. |
event_timestamp |
metadata.event_timestamp.seconds : event_timestamp |
상응하는 grokked 필드에서 직접 매핑됩니다. |
hostname |
target.asset.hostname[] : hostname target.hostname : hostname |
해당 CEF 필드에서 직접 매핑됩니다. |
IncidentID |
security_result.detection_fields[].key : 'IncidentID'security_result.detection_fields[].value : IncidentID |
해당 CEF 필드에서 직접 매핑됩니다. |
intermediary |
intermediary : intermediary |
해당 CEF 필드에서 직접 매핑됩니다. |
md5 |
target.file.md5 : md5 |
해당 CEF 필드에서 직접 매핑됩니다. |
message |
다양한 UDM 필드 | message 필드는 'CEF'가 포함되는지에 따라 파싱됩니다. 그렇다면 CEF 로그로 처리됩니다. 그렇지 않으면 공백으로 구분된 문자열 또는 JSON으로 파싱됩니다. 자세한 내용은 '파싱 로직' 섹션을 참고하세요. |
mime_type1 |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
mime_type2 |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
mwDetectionEngine |
additional.fields[].key : 'mwDetectionEngine'additional.fields[].value.string_value : mwDetectionEngine |
해당 CEF 필드에서 직접 매핑됩니다. |
mwType |
metadata.description : mwType |
해당 CEF 필드에서 직접 매핑됩니다. |
os |
principal.platform : 파생된 값 |
플랫폼은 os 필드에서 파생됩니다. 'Windows'는 WINDOWS 에, 'MAC'은 MAC 에, 'LINUX'는 LINUX 에 매핑됩니다. |
page |
network.http.referral_url : page |
해당 CEF 필드에서 직접 매핑됩니다. |
port |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
referer |
network.http.referral_url : referer |
해당 CEF 필드에서 직접 매핑됩니다. |
requestClientApplication |
network.http.parsed_user_agent : 파싱된 사용자 에이전트network.http.user_agent : requestClientApplication |
network.http.parsed_user_agent 는 'parseduseragent' 필터를 사용하여 requestClientApplication 필드를 파싱하여 파생됩니다. |
request_method |
network.http.method : request_method |
상응하는 grokked 필드에서 직접 매핑됩니다. |
request_protocol |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
rs-status |
additional.fields[].key : 'rs-status'additional.fields[].value.string_value : rs-status network.http.response_code : rs-status |
해당 JSON 필드에서 직접 매핑됩니다. |
s-ip |
target.asset.ip[] : s-ip target.ip[] : s-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
sc-bytes |
network.received_bytes : sc-bytes |
해당 JSON 필드에서 직접 매핑됩니다. |
sc-content-type |
additional.fields[].key : 'sc-content-type'additional.fields[].value.string_value : sc-content-type |
해당 JSON 필드에서 직접 매핑됩니다. |
sc-status |
network.http.response_code : sc-status |
해당 JSON 필드에서 직접 매핑됩니다. |
serverBytes |
network.received_bytes : serverBytes |
해당 CEF 필드에서 직접 매핑됩니다. |
sha256 |
target.file.sha256 : sha256 |
해당 CEF 필드에서 직접 매핑됩니다. |
src |
principal.ip[] : src |
해당 CEF 필드에서 직접 매핑됩니다. |
src_country |
principal.location.country_or_region : src_country |
상응하는 grokked 필드에서 직접 매핑됩니다. |
src_ip |
principal.asset.ip[] : src_ip principal.ip[] : src_ip |
상응하는 grokked 필드에서 직접 매핑됩니다. |
src_latitude |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
src_location |
principal.location.city : src_location |
상응하는 grokked 필드에서 직접 매핑됩니다. |
src_longitude |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
src_region |
principal.location.state : src_region |
상응하는 grokked 필드에서 직접 매핑됩니다. |
src_zip |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
suser |
principal.user.user_display_name : suser |
해당 CEF 필드에서 직접 매핑됩니다. |
target_host |
target.asset.hostname[] : target_host target.hostname : target_host |
상응하는 grokked 필드에서 직접 매핑됩니다. |
time |
metadata.event_timestamp.seconds : date 및 time 필드의 에포크 초metadata.event_timestamp.nanos : 0 |
날짜와 시간이 결합되어 에포크 초 및 나노초로 변환됩니다. 나노초는 0으로 설정됩니다. |
timestamp |
metadata.event_timestamp.seconds : timestamp |
해당 CEF 필드에서 직접 매핑됩니다. |
ts |
metadata.event_timestamp.seconds : ts metadata.event_timestamp.nanos 부터 에포크 초: 0 |
타임스탬프는 에포크 초 및 나노초로 변환됩니다. 나노초는 0으로 설정됩니다. |
url |
target.url : url |
해당 CEF 필드에서 직접 매핑됩니다. |
user_agent |
network.http.parsed_user_agent : 파싱된 사용자 에이전트network.http.user_agent : user_agent |
network.http.parsed_user_agent 는 'parseduseragent' 필터를 사용하여 user_agent 필드를 파싱하여 파생됩니다. |
user_ip |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
user_key |
principal.user.email_addresses[] : user_key |
상응하는 grokked 필드에서 직접 매핑됩니다. |
version |
매핑되지 않음 | 이 필드는 UDM에 매핑되지 않습니다. |
x-c-browser |
additional.fields[].key : 'x-c-browser'additional.fields[].value.string_value : x-c-browser |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-browser-version |
additional.fields[].key : 'x-c-browser-version'additional.fields[].value.string_value : x-c-browser-version |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-country |
principal.location.country_or_region : x-c-country |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-device |
additional.fields[].key : 'x-c-device'additional.fields[].value.string_value : x-c-device |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-latitude |
principal.location.region_coordinates.latitude : x-c-latitude |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-local-time |
security_result.detection_fields[].key : 'x-c-local-time'security_result.detection_fields[].value : x-c-local-time |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-location |
principal.location.name : x-c-location |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-longitude |
principal.location.region_coordinates.longitude : x-c-longitude |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-os |
principal.platform : 파생된 값 |
플랫폼은 x-c-os 필드에서 파생됩니다. 'Windows'는 WINDOWS 에, 'MAC'은 MAC 에, 'LINUX'는 LINUX 에 매핑됩니다. |
x-c-region |
principal.location.state : x-c-region |
해당 JSON 필드에서 직접 매핑됩니다. |
x-c-zipcode |
additional.fields[].key : 'x-c-zipcode'additional.fields[].value.string_value : x-c-zipcode |
해당 JSON 필드에서 직접 매핑됩니다. |
x-category |
additional.fields[].key : 'x-category'additional.fields[].value.string_value : x-category |
해당 JSON 필드에서 직접 매핑됩니다. |
x-category-id |
additional.fields[].key : 'x-category-id'additional.fields[].value.string_value : x-category-id |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-access-method |
additional.fields[].key : 'accessMethod'additional.fields[].value.string_value : x-cs-access-method |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app |
principal.application : x-cs-app additional.fields[].key : 'x-cs-app'additional.fields[].value.string_value : x-cs-app |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-activity |
additional.fields[].key : 'x-cs-app-activity'additional.fields[].value.string_value : x-cs-app-activity |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-category |
additional.fields[].key : 'x-cs-app-category'additional.fields[].value.string_value : x-cs-app-category |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-cci |
additional.fields[].key : 'x-cs-app-cci'additional.fields[].value.string_value : x-cs-app-cci |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-from-user |
additional.fields[].key : 'x-cs-app-from-user'additional.fields[].value.string_value : x-cs-app-from-user |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-object-id |
additional.fields[].key : 'x-cs-app-object-id'additional.fields[].value.string_value : x-cs-app-object-id |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-object-name |
additional.fields[].key : 'x-cs-app-object-name'additional.fields[].value.string_value : x-cs-app-object-name |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-object-type |
additional.fields[].key : 'x-cs-app-object-type'additional.fields[].value.string_value : x-cs-app-object-type |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-suite |
additional.fields[].key : 'x-cs-app-suite'additional.fields[].value.string_value : x-cs-app-suite |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-tags |
additional.fields[].key : 'x-cs-app-tags'additional.fields[].value.string_value : x-cs-app-tags |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-app-to-user |
additional.fields[].key : 'x-cs-app-to-user'additional.fields[].value.string_value : x-cs-app-to-user |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-dst-ip |
security_result.detection_fields[].key : 'x-cs-dst-ip'security_result.detection_fields[].value : x-cs-dst-ip target.asset.ip[] : x-cs-dst-ip target.ip[] : x-cs-dst-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-dst-port |
security_result.detection_fields[].key : 'x-cs-dst-port'security_result.detection_fields[].value : x-cs-dst-port target.port : x-cs-dst-port |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-http-version |
security_result.detection_fields[].key : 'x-cs-http-version'security_result.detection_fields[].value : x-cs-http-version |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-page-id |
additional.fields[].key : 'x-cs-page-id'additional.fields[].value.string_value : x-cs-page-id |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-session-id |
network.session_id : x-cs-session-id |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-site |
additional.fields[].key : 'x-cs-site'additional.fields[].value.string_value : x-cs-site |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-sni |
network.tls.client.server_name : x-cs-sni |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-src-ip |
principal.asset.ip[] : x-cs-src-ip principal.ip[] : x-cs-src-ip security_result.detection_fields[].key : 'x-cs-src-ip'security_result.detection_fields[].value : x-cs-src-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-src-ip-egress |
principal.asset.ip[] : x-cs-src-ip-egress principal.ip[] : x-cs-src-ip-egress security_result.detection_fields[].key : 'x-cs-src-ip-egress'security_result.detection_fields[].value : x-cs-src-ip-egress |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-src-port |
principal.port : x-cs-src-port security_result.detection_fields[].key : 'x-cs-src-port'security_result.detection_fields[].value : x-cs-src-port |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-ssl-cipher |
network.tls.cipher : x-cs-ssl-cipher |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-ssl-fronting-error |
security_result.detection_fields[].key : 'x-cs-ssl-fronting-error'security_result.detection_fields[].value : x-cs-ssl-fronting-error |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-ssl-handshake-error |
security_result.detection_fields[].key : 'x-cs-ssl-handshake-error'security_result.detection_fields[].value : x-cs-ssl-handshake-error |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-ssl-ja3 |
network.tls.client.ja3 : x-cs-ssl-ja3 |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-ssl-version |
network.tls.version : x-cs-ssl-version |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-timestamp |
metadata.event_timestamp.seconds : x-cs-timestamp |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-traffic-type |
additional.fields[].key : 'trafficType'additional.fields[].value.string_value : x-cs-traffic-type |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-tunnel-src-ip |
security_result.detection_fields[].key : 'x-cs-tunnel-src-ip'security_result.detection_fields[].value : x-cs-tunnel-src-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-uri-path |
additional.fields[].key : 'x-cs-uri-path'additional.fields[].value.string_value : x-cs-uri-path |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-url |
target.url : x-cs-url |
해당 JSON 필드에서 직접 매핑됩니다. |
x-cs-userip |
security_result.detection_fields[].key : 'x-cs-userip'security_result.detection_fields[].value : x-cs-userip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-other-category |
security_result.category_details[] : x-other-category |
해당 JSON 필드에서 직접 매핑됩니다. |
x-other-category-id |
security_result.detection_fields[].key : 'x-other-category-id'security_result.detection_fields[].value : x-other-category-id |
해당 JSON 필드에서 직접 매핑됩니다. |
x-policy-action |
security_result.action : 파생된 값security_result.action_details : x-policy-action |
security_result.action 는 x-policy-action 을 대문자로 변환하여 파생됩니다. 대문자 값이 'ALLOW' 또는 'BLOCK'인 경우 직접 사용됩니다. 그렇지 않으면 매핑되지 않습니다.security_result.action_details 은 x-policy-action 에서 직접 매핑됩니다. |
x-policy-dst-host |
security_result.detection_fields[].key : 'x-policy-dst-host'security_result.detection_fields[].value : x-policy-dst-host |
해당 JSON 필드에서 직접 매핑됩니다. |
x-policy-dst-host-source |
security_result.detection_fields[].key : 'x-policy-dst-host-source'security_result.detection_fields[].value : x-policy-dst-host-source |
해당 JSON 필드에서 직접 매핑됩니다. |
x-policy-dst-ip |
security_result.detection_fields[].key : 'x-policy-dst-ip'security_result.detection_fields[].value : x-policy-dst-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-policy-name |
security_result.rule_name : x-policy-name |
해당 JSON 필드에서 직접 매핑됩니다. |
x-policy-src-ip |
security_result.detection_fields[].key : 'x-policy-src-ip'security_result.detection_fields[].value : x-policy-src-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-enddate |
network.tls.server.certificate.not_after.seconds : x-r-cert-enddate 의 에포크 초 |
날짜가 에포크 초로 변환됩니다. |
x-r-cert-expired |
additional.fields[].key : 'x-r-cert-expired'additional.fields[].value.string_value : x-r-cert-expired |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-incomplete-chain |
additional.fields[].key : 'x-r-cert-incomplete-chain'additional.fields[].value.string_value : x-r-cert-incomplete-chain |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-issuer-cn |
network.tls.server.certificate.issuer : x-r-cert-issuer-cn |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-mismatch |
additional.fields[].key : 'x-r-cert-mismatch'additional.fields[].value.string_value : x-r-cert-mismatch |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-revoked |
additional.fields[].key : 'x-r-cert-revoked'additional.fields[].value.string_value : x-r-cert-revoked |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-self-signed |
additional.fields[].key : 'x-r-cert-self-signed'additional.fields[].value.string_value : x-r-cert-self-signed |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-startdate |
network.tls.server.certificate.not_before.seconds : x-r-cert-startdate 의 에포크 초 |
날짜가 에포크 초로 변환됩니다. |
x-r-cert-subject-cn |
network.tls.server.certificate.subject : x-r-cert-subject-cn |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-untrusted-root |
additional.fields[].key : 'x-r-cert-untrusted-root'additional.fields[].value.string_value : x-r-cert-untrusted-root |
해당 JSON 필드에서 직접 매핑됩니다. |
x-r-cert-valid |
additional.fields[].key : 'x-r-cert-valid'additional.fields[].value.string_value : x-r-cert-valid |
해당 JSON 필드에서 직접 매핑됩니다. |
x-request-id |
additional.fields[].key : 'requestId'additional.fields[].value.string_value : x-request-id |
해당 JSON 필드에서 직접 매핑됩니다. |
x-rs-file-category |
additional.fields[].key : 'x-rs-file-category'additional.fields[].value.string_value : x-rs-file-category |
해당 JSON 필드에서 직접 매핑됩니다. |
x-rs-file-type |
additional.fields[].key : 'x-rs-file-type'additional.fields[].value.string_value : x-rs-file-type |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-country |
target.location.country_or_region : x-s-country |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-dp-name |
additional.fields[].key : 'x-s-dp-name'additional.fields[].value.string_value : x-s-dp-name |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-latitude |
target.location.region_coordinates.latitude : x-s-latitude |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-location |
target.location.name : x-s-location |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-longitude |
target.location.region_coordinates.longitude : x-s-longitude |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-region |
target.location.state : x-s-region |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-zipcode |
additional.fields[].key : 'x-s-zipcode'additional.fields[].value.string_value : x-s-zipcode |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-cipher |
security_result.detection_fields[].key : 'x-sr-ssl-cipher'security_result.detection_fields[].value : x-sr-ssl-cipher |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-client-certificate-error |
security_result.detection_fields[].key : 'x-sr-ssl-client-certificate-error'security_result.detection_fields[].value : x-sr-ssl-client-certificate-error |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-engine-action |
security_result.detection_fields[].key : 'x-sr-ssl-engine-action'security_result.detection_fields[].value : x-sr-ssl-engine-action |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-engine-action-reason |
security_result.detection_fields[].key : 'x-sr-ssl-engine-action-reason'security_result.detection_fields[].value : x-sr-ssl-engine-action-reason |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-handshake-error |
security_result.detection_fields[].key : 'x-sr-ssl-handshake-error'security_result.detection_fields[].value : x-sr-ssl-handshake-error |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-ja3s |
network.tls.server.ja3s : x-sr-ssl-ja3s |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-malformed-ssl |
security_result.detection_fields[].key : 'x-sr-ssl-malformed-ssl'security_result.detection_fields[].value : x-sr-ssl-malformed-ssl |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-ssl-version |
security_result.detection_fields[].key : 'x-sr-ssl-version'security_result.detection_fields[].value : x-sr-ssl-version |
해당 JSON 필드에서 직접 매핑됩니다. |
x-s-custom-signing-ca-error |
security_result.detection_fields[].key : 'x-s-custom-signing-ca-error'security_result.detection_fields[].value : x-s-custom-signing-ca-error |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-bypass |
security_result.detection_fields[].key : 'SSL BYPASS'security_result.detection_fields[].value : x-ssl-bypass 또는 x-ssl-bypass-reason |
x-ssl-bypass 이 '예'이고 x-ssl-bypass-reason 이 있는 경우 x-ssl-bypass-reason 의 값이 사용됩니다. 그렇지 않으면 x-ssl-bypass 값이 사용됩니다. |
x-ssl-policy-action |
security_result.detection_fields[].key : 'x-ssl-policy-action'security_result.detection_fields[].value : x-ssl-policy-action |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-policy-categories |
security_result.category_details[] : x-ssl-policy-categories |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-policy-dst-host |
security_result.detection_fields[].key : 'x-ssl-policy-dst-host'security_result.detection_fields[].value : x-ssl-policy-dst-host |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-policy-dst-host-source |
security_result.detection_fields[].key : 'x-ssl-policy-dst-host-source'security_result.detection_fields[].value : x-ssl-policy-dst-host-source |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-policy-dst-ip |
security_result.detection_fields[].key : 'x-ssl-policy-dst-ip'security_result.detection_fields[].value : x-ssl-policy-dst-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-policy-name |
security_result.rule_name : x-ssl-policy-name |
해당 JSON 필드에서 직접 매핑됩니다. |
x-ssl-policy-src-ip |
security_result.detection_fields[].key : 'x-ssl-policy-src-ip'security_result.detection_fields[].value : x-ssl-policy-src-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-dst-ip |
security_result.detection_fields[].key : 'x-sr-dst-ip'security_result.detection_fields[].value : x-sr-dst-ip |
해당 JSON 필드에서 직접 매핑됩니다. |
x-sr-dst-port |
security_result.detection_fields[].key : 'x-sr-dst-port'security_result.detection_fields[].value : x-sr-dst-port |
해당 JSON 필드에서 직접 매핑됩니다. |
x-type |
additional.fields[].key : 'xType'additional.fields[].value.string_value : x-type |
해당 JSON 필드에서 직접 매핑됩니다. |
x-transaction-id |
additional.fields[].key : "transactionId"additional.fields[].value.string_value : x-transaction-id |
해당 JSON 필드에서 직접 매핑됩니다. |
해당 사항 없음 | metadata.vendor_name : 'Netskope' |
파서에 하드코딩된 값입니다. |
해당 사항 없음 | metadata.product_name : 'Netskope Webproxy' |
아직 없는 경우 'Netskope Webproxy'로 설정합니다. |
해당 사항 없음 | metadata.log_type : 'NETSKOPE_WEBPROXY' |
파서에 하드코딩된 값입니다. |
변경사항
2024-06-04
- 파싱되지 않은 로그를 처리하는 Grok을 추가했습니다.
- 'url'이 'target.url'에 매핑되었습니다.
- 'appSessionId'가 'network.session_id'에 매핑되었습니다.
- 'page'가 'network.http.referral_url'에 매핑되었습니다.
- 'appcategory'가 'security_result.category_details'에 매핑되었습니다.
- 'clientBytes'가 'network.sent_bytes'에 매핑되었습니다.
- 'serverBytes'가 'network.received_bytes'에 매핑되었습니다.
- 'ccl'이 'security_result.confidence_details'에 매핑되었습니다.
- 'IncidentID', 'applicationType', 'browser', 'cci'가 'security_result.detection_fields'에 매핑되었습니다.
2024-04-22
- 'x-cs-app-ccl', 'x-cs-app-instance-id', 'x-cs-app-tags', 'x-cs-app-instance-name', 'x-cs-app-instance-tag', 'x-cs-app-to-user', 'x-cs-app-object-id', 'x-cs-app-from-user'가 'additional.fields'에 매핑되었습니다.
2024-02-26
- 'cs-bytes'의 매핑이 'network.received_bytes'에서 'network.sent_bytes'로 변경되었습니다.
- 'sc-bytes'의 매핑이 'network.sent_bytes'에서 'network.received_bytes'로 변경되었습니다.
- 'x-cs-app-object-name'이 'additional.fields'에 매핑되었습니다.
- 'x-cs-app-from-user'가 'principal.user.email_addresses'에 매핑되었습니다.
2023-12-22
- 'cs-dns' 값이 'null'인 경우 'cs-host' 매핑을 'principal.hostname'에서 'target.hostname'으로 변경했습니다.
- 'cs-dns' 매핑이 'principal.hostname'에서 'target.hostname'으로 변경되었습니다.
- 'sc-status' 값이 'null'인 경우 'rs-status'가 'network.http.response_code'에 매핑되었습니다.
- 'x-cs-app'이 'principal.application'에 매핑되었습니다.
- 'x-cs-src-ip-egress'가 'principal.ip'에 매핑되었습니다.
2023-12-08
- 실패 로그를 파싱하는 on_error 검사를 추가했습니다.
- 'metadata.vendor_name'을 'Netskope'로, 'metadata.product_name'을 'Netskope Webproxy'로 설정합니다.
- 매핑하기 전에 'src_region', 'src_country', 'src_location', 'dst_region', 'dst_country', 'dst_location'에 대한 조건부 검사를 추가했습니다.
2023-10-09
- 'target.hostname'이 없는 경우 'dvchost'가 'target.hostname'에 매핑되었습니다.
- 'requestClientApplication' 매핑 전에 null 검사를 추가했습니다.
2023-09-12
- 'x-cs-dst-ip'가 'target.ip'에 매핑되었습니다.
- 'x-cs-src-ip'가 'principal.ip'에 매핑되었습니다.
- 'x-cs-src-port'가 'principal.port'에 매핑되었습니다.
- 'x-cs-dst-port'가 'target.port'에 매핑되었습니다.
- 날짜 필터에 on_error 확인을 추가했습니다.
- 'metadata.event_type'을 매핑하기 전에 조건부 검사를 추가했습니다.
2023-08-28
- 'cs-uri'가 'additional.fields'에 매핑되었습니다.
- 'cs-uri-port'가 'additional.fields'에 매핑되었습니다.
- 'x-s-zipcode'가 'additional.fields'에 매핑되었습니다.
- 'x-c-zipcode'가 'additional.fields'에 매핑되었습니다.
- 'x-cs-site'가 'additional.fields'에 매핑되었습니다.
- 'x-category'가 'additional.fields'에 매핑되었습니다.
- 'x-sr-ssl-version'이 'security_result.detection_fields'에 매핑되었습니다.
- 'x-sr-ssl-cipher'가 'security_result.detection_fields'에 매핑되었습니다.
- 'x-cs-src-ip-egress'가 'security_result.detection_fields'에 매핑되었습니다.
- 'x-cs-userip'가 'security_result.detection_fields'에 매핑되었습니다.
- 'x-cs-url'이 'target.url'에 매핑되었습니다.
- 'x-cs-uri-path'가 'additional.fields'에 매핑되었습니다.
- 'x-cs-app-cci'가 'additional.fields'에 매핑되었습니다.
- 'x-cs-app-object-type'이 'additional.fields'에 매핑되었습니다.
- 'x-rs-file-type'이 'additional.fields'에 매핑되었습니다.
- 'x-rs-file-category'가 'additional.fields'에 매핑되었습니다.
2023-08-17
- 새 JSON 유형 로그 형식에 대한 지원이 추가되었습니다.
2023-06-22
- 새로운 SYSLOG+JSON 유형 로그 형식에 대한 지원이 추가되었습니다.
2023-05-30
- 'duser'가 'target.user.email_addresses'에 매핑되었습니다.
- 'requestClientApplication'이 'network.http.parsed_user_agent'에 매핑되었습니다.
2023-02-03
- 'Domain'이 'principal.administrative_domain'에 매핑되었습니다.
2023-01-09
- 필수 매개변수에 따라 다른 event_type을 매핑하기 위한 조건부 검사를 추가했습니다.
- 다양한 형식의 'rt'를 파싱했습니다.
2022-04-06
- 개선사항 - 새 필드에 대한 매핑이 추가되었습니다.
- md5, mwDetectionEngine, mwProfile, mwType이 udm에 매핑되었습니다.