Infoblox 로그 수집

다음에서 지원:

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

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

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

Infoblox 구성

  1. Infoblox 웹 UI에 로그인합니다.
  2. Infoblox 웹 UI에서 시스템 > 시스템 속성 편집기 > 모니터링을 선택합니다.
  3. 외부 syslog 서버에 로깅 체크박스를 선택합니다.
  4. 외부 syslog 서버 섹션에서 더하기 (+) 기호를 클릭하여 Google 보안 운영 전달자에 새 syslog 서버를 추가합니다.
  5. 주소 필드에 Google Security Operations 전달자 서버 IP 주소를 입력합니다.
  6. 전송 목록에서 TCP 또는 UDP를 선택합니다.
  7. 포트 필드에 포트 번호를 입력합니다.
  8. 노드 ID 목록에서 LAN을 선택하여 syslog 헤더에 Infoblox IP를 포함합니다.
  9. 사용 가능 목록에서 다음을 선택하고 선택됨 목록으로 이동합니다.
    • DNS 쿼리
    • DNS 응답
    • DHCP 프로세스

Infoblox 서버는 syslog를 사용하여 쿼리 및 응답 로그를 Google Security Operations 전달자로 전달합니다.

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

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

Google Security Operations 전달자에 대한 자세한 내용은 Google Security Operations 전달자 문서를 참고하세요. 각 전달자 유형의 요구사항은 유형별 전달자 구성을 참고하세요.

전달자를 만들 때 문제가 발생하면 Google Security Operations 지원팀에 문의하세요.

필드 매핑 참조

이 파서는 SYSLOG 또는 CEF 형식의 Infoblox DNS 로그를 추출하여 UDM으로 정규화합니다. grok 패턴을 사용하여 다양한 로그 형식을 처리하고, 소스 또는 대상 IP, DNS 쿼리 세부정보, 보안 정보와 같은 주요 필드를 추출하여 적절한 UDM 필드에 매핑합니다.

UDM 매핑 표

로그 필드 UDM 매핑 논리
agent.hostname principal.hostname CEF 형식 로그의 경우 agent.hostname가 있으면 principal.hostname에 매핑됩니다.
client_ip principal.ip CEF 형식 로그의 경우 client_ip가 있으면 principal.ip에 매핑됩니다.
client_port principal.port CEF 형식 로그의 경우 client_port가 있으면 principal.port에 매핑됩니다.
data answers.data 원시 로그의 answers 섹션에 있는 data 필드에서 추출됩니다. 여러 어커런스는 별도의 answers 객체로 매핑됩니다.
description metadata.description 원시 로그의 description 필드에서 직접 매핑되거나 messagemsg2와 같은 다른 필드에서 Grok 패턴을 사용하여 추출됩니다.
dest_ip1 target.ip 원시 로그에서 추출되고 target.ip에 매핑됩니다.
destinationDnsDomain dns_question.name CEF 형식 로그의 경우 destinationDnsDomain가 있으면 dns_question.name에 매핑됩니다.
dns_class dns_question.class dns_query_class_mapping.include 참조 표를 사용하여 매핑됩니다.
dns_domain dns_question.name Grok 패턴을 사용하여 원시 로그의 message 필드에서 추출되고 dns_question.name에 매핑됩니다.
dns_name dns_question.name Grok 패턴을 사용하여 dns_domain 필드에서 추출하고 dns_question.name에 매핑했습니다.
dns_records answers.data CEF 형식 로그의 경우 dns_records가 있으면 answers.data에 매핑됩니다. 여러 어커런스는 별도의 answers 객체로 매핑됩니다.
dst_ip target.ip 또는 target.hostname Grok 패턴을 사용하여 원시 로그의 message 필드에서 추출됩니다. 올바른 IP 주소인 경우 target.ip에 매핑되고 그렇지 않은 경우 target.hostname에 매핑됩니다.
dst_ip1 target.ip 또는 target.hostname Grok 패턴을 사용하여 원시 로그의 message 또는 msg2 필드에서 추출됩니다. 올바른 IP 주소인 경우 target.ip에 매핑되고 그렇지 않은 경우 target.hostname에 매핑됩니다. dst_ip와 다른 경우에만 매핑됩니다.
evt_type metadata.product_event_type Grok 패턴을 사용하여 message 필드에서 추출된 원시 로그의 evt_type 필드에서 직접 매핑됩니다.
InfobloxB1OPHIPAddress principal.ip CEF 형식 로그의 경우 InfobloxB1OPHIPAddress가 있으면 principal.ip에 매핑됩니다.
InfobloxB1Region principal.location.country_or_region CEF 형식 로그의 경우 InfobloxB1Region가 있으면 principal.location.country_or_region에 매핑됩니다.
InfobloxDNSQType dns_question.type CEF 형식 로그의 경우 InfobloxDNSQType가 있으면 dns_question.type에 매핑됩니다.
intermediary intermediary.ip 또는 intermediary.hostname Grok 패턴을 사용하여 원시 로그의 message 필드에서 추출됩니다. 올바른 IP 주소인 경우 intermediary.ip에 매핑되고 그렇지 않은 경우 intermediary.hostname에 매핑됩니다.
msg2 metadata.description, dns.response_code, dns_question.name, target.ip, target.hostname, answers.name, answers.ttl, answers.data, answers.class, answers.type, security_result.severity Grok 패턴을 사용하여 원시 로그의 message 필드에서 추출됩니다. 다양한 필드를 추출하는 데 사용되지만 UDM에 직접 매핑되지는 않습니다.
name1 answers.name Grok 패턴을 사용하여 원시 로그의 msg2 필드에서 추출되고 answers.name에 매핑됩니다.
name2 answers.name Grok 패턴을 사용하여 원시 로그의 msg2 필드에서 추출되고 answers.name에 매핑됩니다.
protocol network.ip_protocol 알려진 프로토콜과 일치하는 경우 원시 로그의 protocol 필드에서 직접 매핑됩니다.
qclass dns_question.class dns_class를 UDM에 매핑하는 데 사용되는 중간 필드입니다.
qclass1 answers.class dns_class1를 UDM에 매핑하는 데 사용되는 중간 필드입니다.
qclass2 answers.class dns_class2를 UDM에 매핑하는 데 사용되는 중간 필드입니다.
query_type dns_question.type dns_record_type.include 참조 표를 사용하여 매핑됩니다.
query_type1 answers.type dns_record_type.include 참조 표를 사용하여 매핑됩니다.
query_type2 answers.type dns_record_type.include 참조 표를 사용하여 매핑됩니다.
recursion_flag network.dns.recursion_desired recursion_flag에 '+'가 포함된 경우 network.dns.recursion_desired에 true로 매핑됩니다.
record_type dns_question.type query_type를 UDM에 매핑하는 데 사용되는 중간 필드입니다.
record_type1 answers.type query_type1를 UDM에 매핑하는 데 사용되는 중간 필드입니다.
record_type2 answers.type query_type2를 UDM에 매핑하는 데 사용되는 중간 필드입니다.
res_code network.dns.response_code dns_response_code.include 참조 표를 사용하여 매핑됩니다.
response_code network.dns.response_code CEF 형식 로그의 경우 response_code가 있으면 dns_response_code.include 조회 테이블을 사용하여 network.dns.response_code에 매핑됩니다.
security_action security_result.action status 필드에서 파생됩니다. status가 '거부됨'인 경우 security_action는 '차단'으로 설정되고, 그렇지 않으면 '허용'으로 설정됩니다.
severity security_result.severity CEF 형식 로그의 경우 severity가 '정보'인 경우 security_result.severity에 'INFORMATIONAL'로 매핑됩니다.
src_host principal.hostname Grok 패턴을 사용하여 원시 로그의 description 또는 message 필드에서 추출되고 principal.hostname에 매핑됩니다.
src_ip principal.ip 또는 principal.hostname Grok 패턴을 사용하여 원시 로그의 message 필드에서 추출됩니다. 올바른 IP 주소인 경우 principal.ip에 매핑되고 그렇지 않은 경우 principal.hostname에 매핑됩니다.
src_port principal.port Grok 패턴을 사용하여 원시 로그의 message 필드에서 추출되고 principal.port에 매핑됩니다.
ttl1 answers.ttl Grok 패턴을 사용하여 원시 로그의 msg2 필드에서 추출되고 answers.ttl에 매핑됩니다.
ttl2 answers.ttl Grok 패턴을 사용하여 원시 로그의 msg2 필드에서 추출되고 answers.ttl에 매핑됩니다.
metadata.event_type metadata.event_type 다양한 필드와 파서 로직에서 파생됩니다. 다른 이벤트 유형이 식별되지 않은 경우 기본값은 GENERIC_EVENT입니다. 가능한 값은 NETWORK_DNS, NETWORK_CONNECTION, STATUS_UPDATE입니다.
metadata.log_type metadata.log_type 파서에 의해 'INFOBLOX_DNS'로 설정됩니다.
metadata.product_name metadata.product_name 파서에 의해 'Infoblox DNS'로 설정됩니다.
metadata.vendor_name metadata.vendor_name 파서에 의해 'INFOBLOX'로 설정됩니다.
metadata.product_version metadata.product_version CEF 메시지에서 추출되었습니다.
metadata.event_timestamp metadata.event_timestamp timestamp 필드에서 복사됩니다.
network.application_protocol network.application_protocol event_type이 'GENERIC_EVENT' 또는 'STATUS_UPDATE'가 아닌 경우 'DNS'로 설정합니다.

변경사항

2023-10-17

  • 파싱되지 않은 로그를 처리하는 Grok 패턴을 추가했습니다.

2023-06-19

  • '호스트 이름','ip', '포트'를 추출하는 Grok 패턴을 작성하고 'event_type'을 적절하게 변경했습니다.

2022-02-09

  • '호스트 이름'을 추출하는 Grok를 작성하고 'event_type'을 적절하게 변경했습니다.
  • 'src_host'가 'principal.hostname'에 매핑되었습니다.
  • 적절한 'event_type'을 매핑했습니다.

2023-01-19

  • 새 Syslog를 지원하도록 Grok 패턴을 추가했습니다.
  • 다음에 대한 매핑이 추가되었습니다.
  • 로그에 TCP 또는 UDP와 같은 IP 프로토콜이 포함된 경우 값이 'network.ip_protocol'에 매핑됩니다.
  • 로그에 중간 IP 주소 또는 호스트 이름이 포함된 경우 값이 'intermediary.ip/intermediary.hostname'에 매핑됩니다.

2022-09-09

  • 'syslog_timestamp' 필드를 수정하고 'metadata.event_timestamp'에 올바르게 매핑했습니다.

2022-08-25

  • 'syslog_timestamp' 필드가 'metadata.event_timestamp'에 매핑되었습니다.
  • 'principal.mac'에 매핑된 'smac' 필드에 대한 grok 및 조건부 검사를 추가했습니다.
  • 'network.dns.questions'에 매핑된 'dns_domain' 필드에 대한 조건부 검사를 추가했습니다.
  • 'network.dns.answers.name'에 매핑된 'name1' 필드에 조건부 검사를 추가했습니다.
  • 'network.dns.answers.ttl'에 매핑된 'ttl1' 필드에 대한 조건부 검사가 추가되었습니다.

2022-07-15

  • 버그 수정 - network.dns.questions.name, network.dns.answers.name, network.dns.answers.data에서 마지막 문자가 점인 경우 삭제됨

2022-06-02

  • 버그 수정 - IP가 syslog 로그에서 제대로 추출되지 않아 올바르게 추출되도록 grok를 수정했습니다.
  • 개선사항 - CEF 형식 로그에 대한 지원이 제공되었습니다.
  • 다음과 같은 새 필드를 매핑했습니다.
  • InfobloxB1OPHIPAddress to principal.ip
  • InfobloxDNSQType을 dns.questions.type으로 변경
  • destinationDnsDomain을 dns.questions.name으로 변경
  • InfobloxB1Region을 principal.location.country_or_region으로

2022-04-28

  • 'network.dns.questions.name' 필드에서 'query:'이라는 추가 단어를 삭제했습니다.