JSON matcher(json-matcher)

JSON-matcher(json-matcher) 엔티티는 구문 분석되는 필드이며 구문 분석을 위해 적절한 패턴 및 그룹과 쌍을 이룹니다. 이 엔티티는 IBM QRadar V7.3.1의 새로운 기능입니다.

동일한 필드 이름에 대해 다중 matcher가 지정된 경우 성공적인 구문 분석을 찾을 때까지 matcher는 제시된 순서대로 실행됩니다.

표 1. JSON matcher 매개변수 설명
매개변수 설명

field (필수)

패턴을 적용하려는 필드(예제: EventName 또는 SourceIp)입니다. 올바른 matcher 필드 이름 목록 테이블에 나열된 필드 이름을 사용할 수 있습니다.

pattern-id (필수)

페이로드에서 필드를 구문 분석할 때 사용하려는 패턴입니다. 이 값은 이미 정의된 패턴의 ID 매개변수와 (대소문자까지) 일치해야 합니다. (표 1)

order (필수)

동일한 필드에 지정된 matcher 사이에서 이 패턴을 시도하려는 순서입니다. 두 matcher가 EventName 필드에 지정된 경우 가장 낮은 순위의 matcher가 먼저 시도됩니다.

일반 정규식 matcher 및 JSON matcher는 항 목록으로 결합됩니다. 다른 유형의 matcher는 해당 순서를 기반으로 시도되며 matcher 중 하나가 페이로드에서 데이터를 구문 분석할 때 프로세스가 중지됩니다.

enable-substitutions (선택사항)

부울

true로 설정하는 경우 직선 그룹 캡처를 사용하여 필드를 충분히 표시하지 못할 수 있습니다. 다중 그룹을 추가 텍스트와 결합하여 값을 형성할 수 있습니다.

패턴이 다중 키 경로 양식인 경우 패턴 및 표현식의 각 키 경로가 페이로드에서 찾은 값으로 대체되도록 enable-subtitutions 값을 '=true'로 설정하십시오. 예를 들어, JSON 페이로드가 first_namelast_name 필드를 포함하지만 full_name 필드를 포함하지 않는 경우 다중 키 경로(예제: {/"last_name"}, {/"first_name"})를 포함하는 표현식을 정의할 수 있습니다. 이 표현식의 캡처 값은 smith, john입니다.

기본값은 false입니다.

ext-data (선택사항)

matcher 필드가 확장에서 제공할 수 있는 형식화 또는 추가 필드 정보를 정의하는 추가 데이터 매개변수입니다.

현재 이 매개변수를 사용하는 유일한 필드는 DeviceTime입니다.

예를 들어, 고유의 시간소인을 사용하여 이벤트를 전송하는 디바이스가 있을 수 있지만 사용자는 이벤트를 표준 디바이스 시간으로 다시 형식화하려고 합니다. DeviceTime 필드에 포함된 추가 데이터 매개변수를 사용하여 이벤트의 날짜와 시간소인을 다시 형식화하십시오. 자세한 정보는 올바른 JSON matcher 필드 이름 목록을 참조하십시오.

다음 테이블에 JSON matcher 필드 이름이 나열됩니다.

표 2. 올바른 JSON matcher 필드 이름 목록
필드 이름 설명

EventName(필수)

이벤트를 식별하기 위해 QID에서 검색하는 이벤트 이름입니다.

참고: 이 매개변수는 로그 보기 탭에 필드로 표시되지 않습니다.

EventCategory

event-match-single 엔티티 또는 event-match-multiple 엔티티에 의해 처리되지 않은 카테고리의 이벤트에 대한 이벤트 카테고리입니다.

EventName, EventCategory와 결합되어 QID의 이벤트를 검색하는 데 사용됩니다. QIDmap 검색에 사용되는 필드에서는 디바이스가 QRadar 시스템에 이미 알려진 경우 대체 플래그를 설정해야 합니다. 예를 들어, 다음과 같습니다.
<event-match-single event-name="Successfully logged in" force-qidmap-lookup-on-fixup="true" device-event-category="CiscoNAC" severity="4" send-identity="OverrideAndNeverSend" />
force-qidmap-lookup-on-fixup="true"는 플래그 겹쳐쓰기입니다.
참고: 이 매개변수는 로그 보기 탭에 필드로 표시되지 않습니다.

SourceIp

메시지에 대한 소스 IP 주소입니다.

SourcePort

메시지에 대한 소스 포트입니다.

SourceIpPreNAT

NAT(Network Address Translation)가 발생하기 전 메시지에 대한 소스 IP 주소입니다.

SourceIpPostNAT

NAT 발생 후 메시지에 대한 소스 IP 주소입니다.

SourceMAC

메시지에 대한 소스 MAC 주소입니다.

SourcePortPreNAT

NAT 발생 전 메시지에 대한 소스 포트입니다.

SourcePortPostNAT

NAT 발생 후 메시지에 대한 소스 포트입니다.

DestinationIp

메시지에 대한 대상 IP 주소입니다.

DestinationPort

메시지에 대한 대상 포트입니다.

DestinationIpPreNAT

NAT 발생 전 메시지에 대한 대상 IP 주소입니다.

DestinationIpPostNAT

NAT 발생 후 메시지에 대한 대상 IP 주소입니다.

DestinationPortPreNAT

NAT 발생 전 메시지에 대한 대상 포트입니다.

DestinationPortPostNAT

NAT 발생 후 메시지에 대한 대상 포트입니다.

DestinationMAC

메시지에 대한 대상 MAC 주소입니다.

DeviceTime

디바이스에서 사용하는 시간과 형식입니다. 이 날짜 및 시간소인은 이벤트가 전송된 시간을 디바이스에 맞게 표시합니다. 이 매개변수는 이벤트가 도착한 시간을 나타내지는 않습니다. DeviceTime 필드는 추가 데이터 Matcher 속성을 사용하여 이벤트에 대해 사용자 정의 날짜와 시간소인을 사용할 수 있는 기능을 지원합니다.

다음 목록에는 DeviceTime 필드에서 사용할 수 있는 날짜 및 시간소인 형식의 예제가 포함되어 있습니다.

  • ext-data="dd/MMM/YYYY:hh:mm:ss"

    11/Mar/2015:05:26:00

  • ext-data="MMM dd YYYY / hh:mm:ss"

    Mar 11 2015 / 05:26:00

  • ext-data="hh:mm:ss:dd/MMM/YYYY"

    05:26:00:11/Mar/2015

데이터 및 타임스탬프 형식에 가능한 값에 대한 자세한 내용은 Java SimpleDateFormat 웹 페이지 ( https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html )를 참조하세요.

DeviceTime은 추가 데이터 매개변수를 사용하는 유일한 이벤트 필드입니다.

프로토콜

메시지에 대한 프로토콜(예제: TCP, UDP 또는 ICMP)입니다.

UserName

메시지에 대한 사용자 이름입니다.

HostName

메시지에 대한 호스트 이름입니다. 일반적으로 이 필드는 ID 이벤트와 연관됩니다.

GroupName

메시지에 대한 그룹 이름입니다. 일반적으로 이 필드는 ID 이벤트와 연관됩니다.

IdentityIp

메시지에 대한 대상 ID IP 주소입니다.

IdentityMac

메시지에 대한 ID MAC 주소입니다.

IdentityIpv6

메시지에 대한 IPv6 ID IP 주소입니다.

NetBIOSName

메시지에 대한 NetBIOS 이름입니다. 일반적으로 이 필드는 ID 이벤트와 연관됩니다.

ExtraIdentityData

메시지에 대한 사용자 특정 데이터입니다. 일반적으로 이 필드는 ID 이벤트와 연관됩니다.

SourceIpv6

메시지에 대한 IPv6 소스 IP 주소입니다.

DestinationIpv6

메시지에 대한 IPv6 대상 IP 주소입니다.