Rapid7 InsightIDR 로그 수집
다음에서 지원:
    
      
      
        
        
        
  
    
      Google SecOps
    
  
      
    
      
      
        
        
        
  
    
      SIEM
    
  
      
    
    
  이 파서는 Rapid7 InsightIDR의 JSON 및 SYSLOG 형식 로그를 모두 처리합니다. 필드를 추출하고 UDM으로 정규화하며 CVSS 점수와 익스플로잇 정보를 비롯한 취약점 데이터에 대한 특정 로직을 실행하여 JSON 형식과 syslog 형식을 별도로 처리합니다. 또한 인증 시도 및 세션 이벤트를 적절한 UDM 이벤트 유형에 매핑합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
 - InsightIDR 관리 콘솔에 대한 권한이 있는 액세스 권한
 
Rapid7 InsightIDR에서 API 키 구성
- InsightIDR 명령 플랫폼에 로그인합니다.
 - 관리를 클릭합니다.
 - API 키를 클릭합니다.
 - 조직 키 탭으로 이동합니다.
 - 새 조직 키를 클릭합니다.
 - 조직을 선택하고 키의 이름을 입력합니다 (예: Google SecOps).
 - 키를 생성합니다.
 생성된 키를 표시하는 새 창에서 키를 복사합니다.
피드 설정
피드를 구성하려면 다음 단계를 따르세요.
- SIEM 설정 > 피드로 이동합니다.
 - 새 피드 추가를 클릭합니다.
 - 다음 페이지에서 단일 피드 구성을 클릭합니다.
 - 피드 이름 필드에 피드 이름을 입력합니다(예: Rapid7 InsightIDR 로그).
 - 소스 유형으로 서드 파티 API를 선택합니다.
 - 로그 유형으로 Rapid7 Insight를 선택합니다.
 - 다음을 클릭합니다.
 - 다음 입력 파라미터의 값을 지정합니다.
- 인증 HTTP 헤더: 이전에 
X-Api-Key:<value>형식으로 생성된 토큰 (예: X-Api-Key:AAAABBBBCCCC111122223333) - API 엔드포인트: vulnerabilities 또는 assets를 입력합니다.
 - API 호스트 이름: 
[region].api.insight.rapid7.com형식의 Rapid7 API 엔드포인트의 FQDN (정규화된 도메인 이름)입니다. 
 - 인증 HTTP 헤더: 이전에 
 - 다음을 클릭합니다.
 - 확정 화면에서 피드 구성을 검토한 다음 제출을 클릭합니다.
 
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 | 
|---|---|---|
added | 
vulnerabilities.first_found | 
added 필드가 타임스탬프로 변환되고 vulnerabilities.first_found에 매핑됩니다. | 
Authentication | 
security_result.detection_fields.value | 
원시 로그의 Authentication 값이 security_result.detection_fields 내의 value 필드에 매핑됩니다. 해당 key은 '인증'으로 설정됩니다. | 
critical_vulnerabilities | 
asset.attribute.labels.value | 
critical_vulnerabilities 값이 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key는 '심각한 취약점'으로 설정됩니다. | 
cves | 
vulnerabilities.cve_id | 
cves 값은 vulnerabilities.cve_id에 매핑됩니다. | 
cvss_v2_access_complexity | 
asset.attribute.labels.value | 
cvss_v2_access_complexity 값이 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key은 '액세스 복잡성(Ac)'으로 설정됩니다. | 
cvss_v2_availability_impact | 
asset.attribute.labels.value | 
cvss_v2_availability_impact 값이 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key이 '가용성 영향 (A)'으로 설정됩니다. | 
cvss_v2_confidentiality_impact | 
asset.attribute.labels.value | 
cvss_v2_confidentiality_impact 값이 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key이 '기밀 유지 영향 (C)'으로 설정됩니다. | 
cvss_v2_integrity_impact | 
asset.attribute.labels.value | 
cvss_v2_integrity_impact 값이 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key은 '무결성 영향 (I)'으로 설정됩니다. | 
cvss_v2_score | 
vulnerabilities.cvss_base_score | 
cvss_v2_score 값은 문자열로 변환된 후 부동 소수점으로 변환되고 vulnerabilities.cvss_base_score에 매핑됩니다. | 
cvss_v2_vector | 
vulnerabilities.cvss_vector | 
cvss_v2_vector 값은 vulnerabilities.cvss_vector에 매핑됩니다. | 
cvss_v3_availability_impact | 
asset.attribute.labels.value | 
cvss_v3_availability_impact 값이 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key이 '가용성 영향 (A)'으로 설정됩니다. | 
cvss_v3_score | 
vulnerabilities.cvss_base_score | 
cvss_v3_score 값은 문자열로 변환된 후 부동 소수점으로 변환되고 vulnerabilities.cvss_base_score에 매핑됩니다. | 
cvss_v3_vector | 
vulnerabilities.cvss_vector | 
cvss_v3_vector 값은 vulnerabilities.cvss_vector에 매핑됩니다. | 
description | 
vulnerabilities.description | 
원시 로그의 description 값이 vulnerabilities.description에 매핑됩니다. | 
exploits | 
asset.attribute.labels.value | 
exploits 값이 문자열로 변환되고 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key는 exploits 객체 내에 'rank' 필드가 있는지에 따라 'Number of Exploits' 또는 'Rank of Exploit'입니다. | 
host_name | 
asset.hostname | 
host_name 값은 asset.hostname에 매핑됩니다. host_name가 비어 있고 ip와 mac가 모두 비어 있으면 id 값이 대신 사용됩니다. | 
id | 
asset.product_object_id | 
id 값은 asset.product_object_id에 매핑됩니다. host_name가 비어 있고 ip와 mac가 모두 비어 있으면 id 값이 asset.hostname에 사용됩니다. | 
ip | 
asset.ip, entity.asset.ip | 
ip 값은 asset.ip 및 entity.asset.ip에 모두 매핑됩니다. | 
last_assessed_for_vulnerabilities | 
vulnerabilities.scan_end_time | 
last_assessed_for_vulnerabilities 필드가 타임스탬프로 변환되고 vulnerabilities.scan_end_time에 매핑됩니다. | 
last_scan_end | 
vulnerabilities.last_found | 
last_scan_end 필드가 타임스탬프로 변환되고 vulnerabilities.last_found에 매핑됩니다. | 
last_scan_start | 
vulnerabilities.first_found | 
last_scan_start 필드가 타임스탬프로 변환되고 vulnerabilities.first_found에 매핑됩니다. | 
links | 
vulnerabilities.cve_id, vulnerabilities.vendor_knowledge_base_article_id | 
links 내의 id 필드는 vulnerabilities.cve_id에 매핑되고 links 내의 href 필드는 vulnerabilities.vendor_knowledge_base_article_id에 매핑됩니다. | 
mac | 
asset.mac, entity.asset.mac | 
mac 값은 소문자로 변환되고 asset.mac 및 entity.asset.mac에 모두 매핑됩니다. | 
MessageSourceAddress | 
principal.ip, principal.asset.ip | 
MessageSourceAddress에서 추출된 IP 주소는 principal.ip 및 principal.asset.ip에 매핑됩니다. | 
Method | 
network.http.method | 
Method 값은 network.http.method에 매핑됩니다. | 
moderate_vulnerabilities | 
asset.attribute.labels.value | 
moderate_vulnerabilities 값이 문자열로 변환되고 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key는 '취약점 관리'로 설정됩니다. | 
os_architecture | 
asset.hardware.cpu_platform | 
os_architecture 값은 asset.hardware.cpu_platform에 매핑됩니다. | 
os_description | 
asset.platform_software.platform_version | 
os_description 값은 asset.platform_software.platform_version에 매핑됩니다. | 
os_family | 
asset.platform_software.platform | 
os_family 값이 대문자로 변환되고 asset.platform_software.platform에 매핑됩니다. 'MAC OS X', 'IOS', 'WINDOWS', 'MAC', 'LINUX'의 경우 특별 처리가 실행됩니다. 이러한 플랫폼 중 어느 것과도 일치하지 않으면 'UNKNOWN_PLATFORM'으로 설정됩니다. | 
Port | 
principal.port | 
Port 값은 principal.port에 매핑되고 정수로 변환됩니다. | 
Principal | 
principal.user.email_addresses | 
Principal이 이메일 주소인 경우 principal.user.email_addresses에 매핑됩니다. | 
product_event_type | 
metadata.product_event_type | 
product_event_type 값은 metadata.product_event_type에 매핑됩니다. | 
Protocol | 
network.application_protocol | 
Protocol이 'HTTP' 또는 'HTTPS'인 경우 network.application_protocol에 매핑됩니다. | 
published | 
vulnerabilities.last_found | 
published 필드가 타임스탬프로 변환되고 vulnerabilities.last_found에 매핑됩니다. | 
Referer | 
network.http.referral_url | 
Referer 값은 network.http.referral_url에 매핑됩니다. | 
risk_score | 
asset.attribute.labels.value | 
risk_score 값이 문자열로 변환되고 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key는 '위험 점수'로 설정됩니다. | 
security_result_summary | 
security_result.summary | 
security_result_summary 값은 security_result.summary에 매핑됩니다. '주 사용자의 총 세션 수: security_result.detection_fields 내에서 키가 '세션 수'인 별도의 라벨에 매핑됩니다. | 
Session | 
network.session_id | 
Session 값은 network.session_id에 매핑됩니다. | 
severe_vulnerabilities | 
asset.attribute.labels.value | 
severe_vulnerabilities 값이 문자열로 변환되고 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key이 '심각한 취약점'으로 설정됩니다. | 
severity | 
vulnerabilities.severity, security_result.severity | 
severity 값이 대문자로 변환됩니다. '높음', '낮음', '심각' 또는 '중간'인 경우 vulnerabilities.severity에 매핑됩니다. syslog 메시지의 경우 '정보'이면 security_result.severity의 'INFORMATIONAL'에 매핑됩니다. 'Error'인 경우 security_result.severity의 'ERROR'에 매핑됩니다. | 
severity_score | 
asset.attribute.labels.value | 
severity_score 값이 문자열로 변환되고 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key는 '심각도 점수'로 설정됩니다. | 
SiloID | 
security_result.detection_fields.value | 
SiloID 값이 security_result.detection_fields 내의 value 필드에 매핑됩니다. 해당 key이 'Silo ID'로 설정됩니다. | 
SourceModuleName | 
target.resource.name | 
따옴표가 삭제된 SourceModuleName 값은 target.resource.name에 매핑됩니다. | 
SourceModuleType | 
observer.application | 
따옴표와 닫는 괄호가 삭제된 SourceModuleType 값이 observer.application에 매핑됩니다. | 
Status | 
network.http.response_code | 
Status 값은 network.http.response_code에 매핑되고 정수로 변환됩니다. | 
tags | 
asset.attribute.labels | 
tags 배열의 각 요소에 대해 type 필드는 key에 매핑되고 name 필드는 asset.attribute.labels 내의 value에 매핑됩니다. | 
Thread | 
security_result.detection_fields.value | 
Thread 값이 security_result.detection_fields 내의 value 필드에 매핑됩니다. 해당 key은 'Thread'로 설정됩니다. | 
timestamp | 
event.timestamp, metadata.collected_timestamp, read_only_udm.metadata.event_timestamp | 
timestamp 필드는 타임스탬프로 변환되고 JSON 로그의 경우 event.timestamp에, 항목 이벤트의 경우 metadata.collected_timestamp에 매핑됩니다. syslog 메시지의 경우 read_only_udm.metadata.event_timestamp에 매핑됩니다. | 
title | 
vulnerabilities.description | 
title 값은 vulnerabilities.description에 매핑됩니다. | 
total_vulnerabilities | 
asset.attribute.labels.value | 
total_vulnerabilities 값이 문자열로 변환되고 asset.attribute.labels 내의 value 필드에 매핑됩니다. 해당 key은 '총 취약점'으로 설정됩니다. | 
URI | 
security_result.detection_fields.value | 
URI 값이 security_result.detection_fields 내의 value 필드에 매핑됩니다. 해당 key이 'URI'로 설정됩니다. | 
User-Agent | 
network.http.user_agent, network.http.parsed_user_agent | 
User-Agent 값은 network.http.user_agent에 매핑됩니다. 또한 network.http.parsed_user_agent에 매핑되고 파싱된 사용자 에이전트 객체로 변환됩니다.  'Rapid7 Insight'로 하드코딩됩니다. 'Rapid7 Insight'로 하드코딩됩니다. JSON 로그의 경우 'ASSET'으로 하드코딩됩니다. 처음에는 'GENERIC_EVENT'로 설정되며, 다른 필드에 따라 'PROCESS_UNCATEGORIZED', 'STATUS_UPDATE' 또는 'USER_LOGIN'으로 변경될 수 있습니다. 'USER_LOGIN' 이벤트의 경우 'AUTHTYPE_UNSPECIFIED'로 설정됩니다. product_event_type에 따라 'ALLOW' 또는 'BLOCK'으로 설정합니다. syslog 메시지의 경우 'RAPID7_INSIGHT'로 하드 코딩됩니다. | 
username | 
principal.user.user_display_name | 
따옴표가 삭제되고 이메일 주소로 파싱될 수 있는 username 값이 principal.user.user_display_name에 매핑됩니다. 추출된 이메일 주소(있는 경우)는 principal.user.email_addresses에 매핑됩니다. | 
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.