Claroty CTD 로그 수집
다음에서 지원:
Google SecOps
SIEM
이 문서에서는 Bindplane을 사용하여 Claroty Continuous Threat Detection (CTD) 로그를 Google Security Operations에 수집하는 방법을 설명합니다.
시작하기 전에
- Google Security Operations 인스턴스가 있는지 확인합니다.
- Windows 2016 이상 또는
systemd가 설치된 Linux 호스트를 사용하고 있는지 확인합니다. - 프록시 뒤에서 실행하는 경우 방화벽 포트가 열려 있는지 확인합니다.
- Claroty CTD에 대한 권한 액세스 권한이 있는지 확인합니다.
Google SecOps 수집 인증 파일 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 수집 인증 파일을 다운로드합니다. Bindplane이 설치될 시스템에 파일을 안전하게 저장합니다.
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Bindplane 에이전트 설치
Windows 설치
- 명령 프롬프트 또는 PowerShell을 관리자로 엽니다.
다음 명령어를 실행합니다.
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 설치
- 루트 또는 sudo 권한으로 터미널을 엽니다.
다음 명령어를 실행합니다.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
추가 설치 리소스
- 추가 설치 옵션은 이 설치 가이드를 참고하세요.
Syslog를 수집하여 Google SecOps로 전송하도록 Bindplane 에이전트 구성
구성 파일에 액세스합니다.
config.yaml파일을 찾습니다. 일반적으로 Linux에서는/etc/bindplane-agent/디렉터리에 있고 Windows에서는 설치 디렉터리에 있습니다.- 텍스트 편집기 (예:
nano,vi, 메모장)를 사용하여 파일을 엽니다.
다음과 같이
config.yaml파일을 수정합니다.receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: CLAROTY_CTD raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels인프라에 필요한 대로 포트와 IP 주소를 바꿉니다.
<customer_id>를 실제 고객 ID로 바꿉니다.Google SecOps 수집 인증 파일 가져오기 섹션에서 인증 파일이 저장된 경로로
/path/to/ingestion-authentication-file.json를 업데이트합니다.
Bindplane 에이전트를 다시 시작하여 변경사항 적용
Linux에서 Bindplane 에이전트를 다시 시작하려면 다음 명령어를 실행합니다.
sudo systemctl restart bindplane-agentWindows에서 Bindplane 에이전트를 다시 시작하려면 서비스 콘솔을 사용하거나 다음 명령어를 입력하면 됩니다.
net stop BindPlaneAgent && net start BindPlaneAgent
Claroty Continuous Threat Detection (CTD)에서 Syslog 구성
- Claroty CTD 웹 UI에 로그인합니다.
- 메뉴 > 통합 > Syslog로 이동합니다.
- 각 syslog 메시지 콘텐츠 유형에 대해 다음 단계를 반복합니다.
- 알림
- 이벤트
- 상태 모니터링
- 통계
- 활동 로그
- 취약점
- +를 클릭하여 새 구성을 추가합니다.
- 메시지 콘텐츠 메뉴에서 내보낼 콘텐츠를 선택합니다.
- 다음 구성 세부정보를 제공합니다.
- 카테고리: 모두를 선택합니다.
- 유형: 모두 선택 유형을 선택합니다.
- 형식: CEF (최신)를 선택합니다.
- 시스템 URL: 프록시 서버를 사용하는 경우가 아니면 시스템 URL/IP를 업데이트하지 마세요.
- 전송 대상: 외부 시스템 로그 서버 (예: SIEM, SOAR 시스템)를 선택합니다.
- 공급업체: 기타를 선택합니다.
- Syslog Server IP: Bindplane 에이전트 IP 주소를 입력합니다.
- 포트: Bindplane 에이전트 포트를 입력합니다 (예:
514). - 프로토콜: UDP를 선택합니다 (Bindplane 구성에 따라 TCP, TLS 또는 mTLS도 선택할 수 있음).
- 저장을 클릭합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
| CtdRealTime | metadata.event_timestamp | CtdRealTime에서 MMM dd yyyy HH:mm:ss를 사용하여 파싱되고 이벤트 타임스탬프로 사용됩니다. |
| CtdTimeGenerated | metadata.event_timestamp | CtdRealTime이 비어 있으면 CtdTimeGenerated에서 MMM dd yyyy HH:mm:ss를 사용하여 이벤트 타임스탬프를 설정합니다. |
| CtdMessage | metadata.description | CtdMessage 필드에서 metadata.description을 설정합니다. |
| CtdMessage | security_result.description | 해당하는 경우 CtdMessage 필드에서 security_result.description을 설정합니다. |
| 포트 (CtdMessage KV에서) | principal.port | CtdMessage의 키 Port에서 추출되며 정수로 변환되어 principal.port로 설정됩니다. |
| 카테고리 (CtdMessage KV에서 가져옴) | security_result.detection_fields (Category_label) | CtdMessage에서 키 Category로 추출되어 감지 필드로 병합됩니다. |
| 액세스 (CtdMessage KV에서) | security_result.detection_fields (Access_label) | CtdMessage에서 키 Access로 추출되어 감지 필드로 병합됩니다. |
| CtdSite | principal.hostname | CtdSite를 principal.hostname에 매핑합니다. |
| CtdSite | principal.asset.hostname | CtdSite를 principal.asset.hostname에 매핑합니다. |
| CtdCpu | principal.resource.attribute.labels (CtdCpu_label) | CtdCpu 값을 사용하여 키 CtdCpu로 라벨을 만들고 이를 principal.resource.attribute.labels에 병합합니다. |
| CtdMem | principal.resource.attribute.labels (CtdMem_label) | CtdMem의 값을 사용하여 키 CtdMem로 라벨을 만들고 principal.resource.attribute.labels에 병합합니다. |
| CtdUsedOptIcsranger | principal.resource.attribute.labels (CtdUsedOptIcsranger_label) | CtdUsedOptIcsranger에서 라벨을 만들어 병합합니다. |
| CtdUsedVar | principal.resource.attribute.labels (CtdUsedVar_label) | CtdUsedVar에서 라벨을 만들어 병합합니다. |
| CtdUsedTmp | principal.resource.attribute.labels (CtdUsedTmp_label) | CtdUsedTmp에서 라벨을 만들어 병합합니다. |
| CtdUsedEtc | principal.resource.attribute.labels (CtdUsedEtc_label) | CtdUsedEtc에서 라벨을 만들어 병합합니다. |
| CtdBusyFd | principal.resource.attribute.labels (CtdBusyFd_label) | CtdBusyFd에서 라벨을 만들어 병합합니다. |
| CtdBusySda | principal.resource.attribute.labels (CtdBusySda_label) | CtdBusySda에서 라벨을 만들어 병합합니다. |
| CtdBusySdaA | principal.resource.attribute.labels (CtdBusySdaA_label) | CtdBusySdaA에서 라벨을 만들어 병합합니다. |
| CtdBusySdaB | principal.resource.attribute.labels (CtdBusySdaB_label) | CtdBusySdaB에서 라벨을 만들어 병합합니다. |
| CtdBusySr | principal.resource.attribute.labels (CtdBusySr_label) | CtdBusySr에서 라벨을 만들어 병합합니다. |
| CtdBusyDm | principal.resource.attribute.labels (CtdBusyDm_label) | CtdBusyDm에서 라벨을 만들어 병합합니다. |
| CtdBusyDmA | principal.resource.attribute.labels (CtdBusyDmA_label) | CtdBusyDmA에서 라벨을 만들어 병합합니다. |
| CtdQuPreprocessingNg | principal.resource.attribute.labels (CtdQuPreprocessingNg_label) | CtdQuPreprocessingNg에서 라벨을 만들어 병합합니다. |
| CtdQuBaselineTracker | principal.resource.attribute.labels (CtdQuBaselineTracker_label) | CtdQuBaselineTracker에서 라벨을 만들어 병합합니다. |
| CtdQuBridge | principal.resource.attribute.labels (CtdQuBridge_label) | CtdQuBridge에서 라벨을 만들어 병합합니다. |
| CtdQuCentralBridge | principal.resource.attribute.labels (CtdQuCentralBridge_label) | CtdQuCentralBridge에서 라벨을 만들어 병합합니다. |
| CtdQuConcluding | principal.resource.attribute.labels (CtdQuConcluding_label) | CtdQuConcluding에서 라벨을 만들어 병합합니다. |
| CtdQuDiodeFeeder | principal.resource.attribute.labels (CtdQuDiodeFeeder_label) | CtdQuDiodeFeeder에서 라벨을 만들어 병합합니다. |
| CtdQuDissector | principal.resource.attribute.labels (CtdQuDissector_label) | CtdQuDissector에서 라벨을 만들어 병합합니다. |
| CtdQuDissectorA | principal.resource.attribute.labels (CtdQuDissectorA_label) | CtdQuDissectorA에서 라벨을 만들어 병합합니다. |
| CtdQuDissectorNg | principal.resource.attribute.labels (CtdQuDissectorNg_label) | CtdQuDissectorNg에서 라벨을 만들어 병합합니다. |
| CtdQuIndicatorService | principal.resource.attribute.labels (CtdQuIndicatorService_label) | CtdQuIndicatorService에서 라벨을 만들어 병합합니다. |
| CtdQuLeecher | principal.resource.attribute.labels (CtdQuLeecher_label) | CtdQuLeecher에서 라벨을 만들어 병합합니다. |
| CtdQuMonitor | principal.resource.attribute.labels (CtdQuMonitor_label) | CtdQuMonitor에서 라벨을 만들어 병합합니다. |
| CtdQuNetworkStatistics | principal.resource.attribute.labels (CtdQuNetworkStatistics_label) | CtdQuNetworkStatistics에서 라벨을 만들어 병합합니다. |
| CtdQuPackets | principal.resource.attribute.labels (CtdQuPackets_label) | CtdQuPackets에서 라벨을 만들어 병합합니다. |
| CtdQuPacketsErrors | principal.resource.attribute.labels (CtdQuPacketsErrors_label) | CtdQuPacketsErrors에서 라벨을 만들어 병합합니다. |
| CtdQuPreprocessing | principal.resource.attribute.labels (CtdQuPreprocessing_label) | CtdQuPreprocessing에서 라벨을 만들어 병합합니다. |
| CtdQuPriorityProcessing | principal.resource.attribute.labels (CtdQuPriorityProcessing_label) | CtdQuPriorityProcessing에서 라벨을 만들어 병합합니다. |
| CtdQuProcessing | principal.resource.attribute.labels (CtdQuProcessing_label) | CtdQuProcessing에서 라벨을 만들어 병합합니다. |
| CtdQuProcessingHigh | principal.resource.attribute.labels (CtdQuProcessingHigh_label) | CtdQuProcessingHigh에서 라벨을 만들어 병합합니다. |
| CtdQuZordonUpdates | principal.resource.attribute.labels (CtdQuZordonUpdates_label) | CtdQuZordonUpdates에서 라벨을 만들어 병합합니다. |
| CtdQuStatisticsNg | principal.resource.attribute.labels (CtdQuStatisticsNg_label) | CtdQuStatisticsNg에서 라벨을 만들어 병합합니다. |
| CtdQueuePurge | principal.resource.attribute.labels (CtdQueuePurge_label) | CtdQueuePurge에서 라벨을 만들어 병합합니다. |
| CtdQuSyslogAlerts | principal.resource.attribute.labels (CtdQuSyslogAlerts_label) | CtdQuSyslogAlerts에서 라벨을 만들어 병합합니다. |
| CtdQuSyslogEvents | principal.resource.attribute.labels (CtdQuSyslogEvents_label) | CtdQuSyslogEvents에서 라벨을 만들어 병합합니다. |
| CtdQuSyslogInsights | principal.resource.attribute.labels (CtdQuSyslogInsights_label) | CtdQuSyslogInsights에서 라벨을 만들어 병합합니다. |
| CtdRdDissector | principal.resource.attribute.labels (CtdRdDissector_label) | CtdRdDissector에서 라벨을 만들어 병합합니다. |
| CtdRdDissectorA | principal.resource.attribute.labels (CtdRdDissectorA_label) | CtdRdDissectorA에서 라벨을 만들어 병합합니다. |
| CtdRdDissectorNg | principal.resource.attribute.labels (CtdRdDissectorNg_label) | CtdRdDissectorNg에서 라벨을 만들어 병합합니다. |
| CtdRdPreprocessing | principal.resource.attribute.labels (CtdRdPreprocessing_label) | CtdRdPreprocessing에서 라벨을 만들어 병합합니다. |
| CtdRdPreprocessingNg | principal.resource.attribute.labels (CtdRdPreprocessingNg_label) | CtdRdPreprocessingNg에서 라벨을 만들어 병합합니다. |
| CtdSvcMariaDb | principal.resource.attribute.labels (CtdSvcMariaDb_label) | CtdSvcMariaDb에서 라벨을 만들어 병합합니다. |
| CtdSvcPostgres | principal.resource.attribute.labels (CtdSvcPostgres_label) | CtdSvcPostgres에서 라벨을 만들어 병합합니다. |
| CtdSvcRedis | principal.resource.attribute.labels (CtdSvcRedis_label) | CtdSvcRedis에서 라벨을 만들어 병합합니다. |
| CtdSvcRabbitMq | principal.resource.attribute.labels (CtdSvcRabbitMq_label) | CtdSvcRabbitMq에서 라벨을 만들어 병합합니다. |
| CtdSvcIcsranger | principal.resource.attribute.labels (CtdSvcIcsranger_label) | CtdSvcIcsranger에서 라벨을 만들어 병합합니다. |
| CtdSvcWatchdog | principal.resource.attribute.labels (CtdSvcWatchdog_label) | CtdSvcWatchdog에서 라벨을 만들어 병합합니다. |
| CtdSvcFirewalld | principal.resource.attribute.labels (CtdSvcFirewalld_label) | CtdSvcFirewalld에서 라벨을 만들어 병합합니다. |
| CtdSvcNetunnel | principal.resource.attribute.labels (CtdSvcNetunnel_label) | CtdSvcNetunnel에서 라벨을 만들어 병합합니다. |
| CtdSvcJwthenticator | principal.resource.attribute.labels (CtdSvcJwthenticator_label) | CtdSvcJwthenticator에서 라벨을 만들어 병합합니다. |
| CtdSvcDocker | principal.resource.attribute.labels (CtdSvcDocker_label) | CtdSvcDocker에서 라벨을 만들어 병합합니다. |
| CtdExceptions | principal.resource.attribute.labels (CtdExceptions_label) | CtdExceptions에서 라벨을 만들어 병합합니다. |
| CtdInputPacketDrops | principal.resource.attribute.labels (CtdInputPacketDrops_label) | CtdInputPacketDrops에서 라벨을 만들어 병합합니다. |
| CtdOutputPacketDrops | principal.resource.attribute.labels (CtdOutputPacketDrops_label) | CtdOutputPacketDrops에서 라벨을 만들어 병합합니다. |
| CtdFullOutputPacketDrops | principal.resource.attribute.labels (CtdFullOutputPacketDrops_label) | CtdFullOutputPacketDrops에서 라벨을 만들어 병합합니다. |
| CtdDissectorNgPacketDrops | principal.resource.attribute.labels (CtdDissectorNgPacketDrops_label) | CtdDissectorNgPacketDrops에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsPreprocessor | principal.resource.attribute.labels (CtdTagArtifactsDropsPreprocessor_label) | CtdTagArtifactsDropsPreprocessor에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsPreprocessorSum | principal.resource.attribute.labels (CtdTagArtifactsDropsPreprocessorSum_label) | CtdTagArtifactsDropsPreprocessorSum에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsProcessor | principal.resource.attribute.labels (CtdTagArtifactsDropsProcessor_label) | CtdTagArtifactsDropsProcessor에서 라벨을 만들고 병합합니다. |
| CtdTagArtifactsDropsProcessorSum | principal.resource.attribute.labels (CtdTagArtifactsDropsProcessorSum_label) | CtdTagArtifactsDropsProcessorSum에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsSniffer | principal.resource.attribute.labels (CtdTagArtifactsDropsSniffer_label) | CtdTagArtifactsDropsSniffer에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsSnifferSum | principal.resource.attribute.labels (CtdTagArtifactsDropsSnifferSum_label) | CtdTagArtifactsDropsSnifferSum에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsDissectorPypy | principal.resource.attribute.labels (CtdTagArtifactsDropsDissectorPypy_label) | CtdTagArtifactsDropsDissectorPypy에서 라벨을 만들어 병합합니다. |
| CtdTagArtifactsDropsDissectorPypySum | principal.resource.attribute.labels (CtdTagArtifactsDropsDissectorPypySum_label) | CtdTagArtifactsDropsDissectorPypySum에서 라벨을 만들어 병합합니다. |
| CtdCapsaverFolderCleanup | principal.resource.attribute.labels (CtdCapsaverFolderCleanup_label) | CtdCapsaverFolderCleanup에서 라벨을 만들어 병합합니다. |
| CtdCapsaverUtilzationTest | principal.resource.attribute.labels (CtdCapsaverUtilzationTest_label) | CtdCapsaverUtilzationTest에서 라벨을 만들어 병합합니다. |
| CtdYaraScannerTest | principal.resource.attribute.labels (CtdYaraScannerTest_label) | CtdYaraScannerTest에서 라벨을 만들어 병합합니다. |
| CtdWrkrWorkersStop | principal.resource.attribute.labels (CtdWrkrWorkersStop_label) | CtdWrkrWorkersStop에서 라벨을 만들어 병합합니다. |
| CtdWrkrWorkersRestart | principal.resource.attribute.labels (CtdWrkrWorkersRestart_label) | CtdWrkrWorkersRestart에서 라벨을 만들어 병합합니다. |
| CtdWrkrActiveExecuter | principal.resource.attribute.labels (CtdWrkrActiveExecuter_label) | CtdWrkrActiveExecuter에서 라벨을 만들어 병합합니다. |
| CtdWrkrSensor | principal.resource.attribute.labels (CtdWrkrSensor_label) | CtdWrkrSensor에서 라벨을 만들어 병합합니다. |
| CtdWrkrAuthentication | principal.resource.attribute.labels (CtdWrkrAuthentication_label) | CtdWrkrAuthentication에서 라벨을 만들어 병합합니다. |
| CtdWrkrMitre | principal.resource.attribute.labels (CtdWrkrMitre_label) | CtdWrkrMitre에서 라벨을 만들어 병합합니다. |
| CtdWrkrNotifications | principal.resource.attribute.labels (CtdWrkrNotifications_label) | CtdWrkrNotifications에서 라벨을 만들어 병합합니다. |
| CtdWrkrProcessor | principal.resource.attribute.labels (CtdWrkrProcessor_label) | CtdWrkrProcessor에서 라벨을 만들어 병합합니다. |
| CtdWrkrCloudAgent | principal.resource.attribute.labels (CtdWrkrCloudAgent_label) | CtdWrkrCloudAgent에서 라벨을 만들어 병합합니다. |
| CtdWrkrCloudClient | principal.resource.attribute.labels (CtdWrkrCloudClient_label) | CtdWrkrCloudClient에서 라벨을 만들어 병합합니다. |
| CtdWrkrScheduler | principal.resource.attribute.labels (CtdWrkrScheduler_label) | CtdWrkrScheduler에서 라벨을 만들어 병합합니다. |
| CtdWrkrknownThreats | principal.resource.attribute.labels (CtdWrkrknownThreats_label) | CtdWrkrknownThreats에서 라벨을 만들어 병합합니다. |
| CtdWrkrCacher | principal.resource.attribute.labels (CtdWrkrCacher_label) | CtdWrkrCacher에서 라벨을 만들고 병합합니다. |
| CtdWrkrInsights | principal.resource.attribute.labels (CtdWrkrInsights_label) | CtdWrkrInsights에서 라벨을 만들어 병합합니다. |
| CtdWrkrActive | principal.resource.attribute.labels (CtdWrkrActive_label) | CtdWrkrActive에서 라벨을 만들어 병합합니다. |
| CtdWrkrEnricher | principal.resource.attribute.labels (CtdWrkrEnricher_label) | CtdWrkrEnricher에서 라벨을 만들어 병합합니다. |
| CtdWrkrIndicators | principal.resource.attribute.labels (CtdWrkrIndicators_label) | CtdWrkrIndicators에서 라벨을 만들어 병합합니다. |
| CtdWrkrIndicatorsApi | principal.resource.attribute.labels (CtdWrkrIndicatorsApi_label) | CtdWrkrIndicatorsApi에서 라벨을 만들어 병합합니다. |
| CtdWrkrConcluder | principal.resource.attribute.labels (CtdWrkrConcluder_label) | CtdWrkrConcluder에서 라벨을 만들어 병합합니다. |
| CtdWrkrPreprocessor | principal.resource.attribute.labels (CtdWrkrPreprocessor_label) | CtdWrkrPreprocessor에서 라벨을 만들어 병합합니다. |
| CtdWrkrLeecher | principal.resource.attribute.labels (CtdWrkrLeecher_label) | CtdWrkrLeecher에서 라벨을 만들어 병합합니다. |
| CtdWrkrSyncManager | principal.resource.attribute.labels (CtdWrkrSyncManager_label) | CtdWrkrSyncManager에서 라벨을 만들어 병합합니다. |
| CtdWrkrBridge | principal.resource.attribute.labels (CtdWrkrBridge_label) | CtdWrkrBridge에서 라벨을 만들어 병합합니다. |
| CtdWrkrWebRanger | principal.resource.attribute.labels (CtdWrkrWebRanger_label) | CtdWrkrWebRanger에서 라벨을 만들어 병합합니다. |
| CtdWrkrWebWs | principal.resource.attribute.labels (CtdWrkrWebWs_label) | CtdWrkrWebWs에서 라벨을 만들어 병합합니다. |
| CtdWrkrWebAuth | principal.resource.attribute.labels (CtdWrkrWebAuth_label) | CtdWrkrWebAuth에서 라벨을 만들어 병합합니다. |
| CtdWrkrWebNginx | principal.resource.attribute.labels (CtdWrkrWebNginx_label) | CtdWrkrWebNginx에서 라벨을 만들어 병합합니다. |
| CtdWrkrConfigurator | principal.resource.attribute.labels (CtdWrkrConfigurator_label) | CtdWrkrConfigurator에서 라벨을 만들어 병합합니다. |
| CtdWrkrConfiguratorNginx | principal.resource.attribute.labels (CtdWrkrConfiguratorNginx_label) | CtdWrkrConfiguratorNginx에서 라벨을 만들어 병합합니다. |
| CtdWrkrCapsaver | principal.resource.attribute.labels (CtdWrkrCapsaver_label) | CtdWrkrCapsaver에서 라벨을 만들어 병합합니다. |
| CtdWrkrBaselineTracker | principal.resource.attribute.labels (CtdWrkrBaselineTracker_label) | CtdWrkrBaselineTracker에서 라벨을 만들어 병합합니다. |
| CtdWrkrDissector | principal.resource.attribute.labels (CtdWrkrDissector_label) | CtdWrkrDissector에서 라벨을 만들어 병합합니다. |
| CtdWrkrDissectorA | principal.resource.attribute.labels (CtdWrkrDissectorA_label) | CtdWrkrDissectorA에서 라벨을 만들어 병합합니다. |
| CtdWrkrDissectorNg | principal.resource.attribute.labels (CtdWrkrDissectorNg_label) | CtdWrkrDissectorNg에서 라벨을 만들어 병합합니다. |
| CtdWrkrPreprocessing | principal.resource.attribute.labels (CtdWrkrPreprocessing_label) | CtdWrkrPreprocessing에서 라벨을 만들어 병합합니다. |
| CtdWrkrPreprocessingNg | principal.resource.attribute.labels (CtdWrkrPreprocessingNg_label) | CtdWrkrPreprocessingNg에서 라벨을 만들어 병합합니다. |
| CtdWrkrStatisticsNg | principal.resource.attribute.labels (CtdWrkrStatisticsNg_label) | CtdWrkrStatisticsNg에서 라벨을 만들어 병합합니다. |
| CtdWrkrSyslogAlerts | principal.resource.attribute.labels (CtdWrkrSyslogAlerts_label) | CtdWrkrSyslogAlerts에서 라벨을 만들어 병합합니다. |
| CtdWrkrSyslogEvents | principal.resource.attribute.labels (CtdWrkrSyslogEvents_label) | CtdWrkrSyslogEvents에서 라벨을 만들어 병합합니다. |
| CtdWrkrSyslogInsights | principal.resource.attribute.labels (CtdWrkrSyslogInsights_label) | CtdWrkrSyslogInsights에서 라벨을 만들어 병합합니다. |
| CtdWrkrRdDissector | principal.resource.attribute.labels (CtdWrkrRdDissector_label) | CtdWrkrRdDissector에서 라벨을 만들고 병합합니다. |
| CtdWrkrRdDissectorA | principal.resource.attribute.labels (CtdWrkrRdDissectorA_label) | CtdWrkrRdDissectorA에서 라벨을 만들어 병합합니다. |
| CtdSensorName | principal.resource.attribute.labels (CtdSensorName_label) | CtdSensorName에서 라벨을 만들어 병합합니다. |
| CtdCtrlSite | principal.resource.attribute.labels (CtdCtrlSite_label) | CtdCtrlSite에서 라벨을 만들어 병합합니다. |
| CtdLoopCallDurationBaselineTrackerWrkerHandleNetworkStatistics | principal.resource.attribute.labels (CtdLoopCallDurationBaselineTrackerWrkerHandleNetworkStatistics_label) | CtdLoopCallDurationBaselineTrackerWrkerHandleNetworkStatistics에서 라벨을 만들어 병합합니다. |
| CtdDissectionCoverage | principal.resource.attribute.labels (CtdDissectionCoverage_label) | CtdDissectionCoverage에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyModbus | principal.resource.attribute.labels (CtdDissectionEfficiencyModbus_label) | CtdDissectionEfficiencyModbus에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencySmb | principal.resource.attribute.labels (CtdDissectionEfficiencySmb_label) | CtdDissectionEfficiencySmb에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyDcerpc | principal.resource.attribute.labels (CtdDissectionEfficiencyDcerpc_label) | CtdDissectionEfficiencyDcerpc에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyZabbix | principal.resource.attribute.labels (CtdDissectionEfficiencyZabbix_label) | CtdDissectionEfficiencyZabbix에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyFactorytalkRna | principal.resource.attribute.labels (CtdDissectionEfficiencyFactorytalkRna_label) | CtdDissectionEfficiencyFactorytalkRna에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencySsl | principal.resource.attribute.labels (CtdDissectionEfficiencySsl_label) | CtdDissectionEfficiencySsl에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyVrrpProtocolMatcher | principal.resource.attribute.labels (CtdDissectionEfficiencyVrrpProtocolMatcher_label) | CtdDissectionEfficiencyVrrpProtocolMatcher에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyRdp | principal.resource.attribute.labels (CtdDissectionEfficiencyRdp_label) | CtdDissectionEfficiencyRdp에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencySsh | principal.resource.attribute.labels (CtdDissectionEfficiencySsh_label) | CtdDissectionEfficiencySsh에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyHttp | principal.resource.attribute.labels (CtdDissectionEfficiencyHttp_label) | CtdDissectionEfficiencyHttp에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyTcpHttp | principal.resource.attribute.labels (CtdDissectionEfficiencyTcpHttp_label) | CtdDissectionEfficiencyTcpHttp에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyLdap | principal.resource.attribute.labels (CtdDissectionEfficiencyLdap_label) | CtdDissectionEfficiencyLdap에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyJrmi | principal.resource.attribute.labels (CtdDissectionEfficiencyJrmi_label) | CtdDissectionEfficiencyJrmi에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyGeIfix | principal.resource.attribute.labels (CtdDissectionEfficiencyGeIfix_label) | CtdDissectionEfficiencyGeIfix에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyLlc | principal.resource.attribute.labels (CtdDissectionEfficiencyLlc_label) | CtdDissectionEfficiencyLlc에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyMatrikonNopc | principal.resource.attribute.labels (CtdDissectionEfficiencyMatrikonNopc_label) | CtdDissectionEfficiencyMatrikonNopc에서 라벨을 만들어 병합합니다. |
| CtdDissectionEfficiencyVnc | principal.resource.attribute.labels (CtdDissectionEfficiencyVnc_label) | CtdDissectionEfficiencyVnc에서 라벨을 만들어 병합합니다. |
| CtdUnhandledEvents | principal.resource.attribute.labels (CtdUnhandledEvents_label) | CtdUnhandledEvents에서 라벨을 만들어 병합합니다. |
| CtdConcludeTime | principal.resource.attribute.labels (CtdConcludeTime_label) | CtdConcludeTime에서 라벨을 만들어 병합합니다. |
| CtdMysqlQuery | principal.resource.attribute.labels (CtdMysqlQuery_label) | CtdMysqlQuery에서 라벨을 만들어 병합합니다. |
| CtdPostgresQuery | principal.resource.attribute.labels (CtdPostgresQuery_label) | CtdPostgresQuery에서 라벨을 만들어 병합합니다. |
| CtdPsqlIdleSessions | principal.resource.attribute.labels (CtdPsqlIdleSessions_label) | CtdPsqlIdleSessions에서 라벨을 만들어 병합합니다. |
| CtdPsqlIdleInTransactionSessions | principal.resource.attribute.labels (CtdPsqlIdleInTransactionSessions_label) | CtdPsqlIdleInTransactionSessions에서 라벨을 만들어 병합합니다. |
| CtdSnifferStatus | principal.resource.attribute.labels (CtdSnifferStatus_label) | CtdSnifferStatus에서 라벨을 만들어 병합합니다. |
| CtdLoopCallDurationPollObjects | principal.resource.attribute.labels (CtdLoopCallDurationPollObjects_label) | CtdLoopCallDurationPollObjects에서 라벨을 만들어 병합합니다. |
| CtdLoopCallDurationCloudClientWrkrBaseRunCloudConnected | principal.resource.attribute.labels (CtdLoopCallDurationCloudClientWrkrBaseRunCloudConnected_label) | CtdLoopCallDurationCloudClientWrkrBaseRunCloudConnected에서 라벨을 만들어 병합합니다. |
| CtdSnifferStatusCentral | principal.resource.attribute.labels (CtdSnifferStatusCentral_label) | CtdSnifferStatusCentral에서 라벨을 만들어 병합합니다. |
| CtdSnifferStatusSite | principal.resource.attribute.labels (CtdSnifferStatusSite_label) | CtdSnifferStatusSite에서 라벨을 만들어 병합합니다. |
| CtdWrkrMailer | principal.resource.attribute.labels (CtdWrkrMailer_label) | CtdWrkrMailer에서 라벨을 만들어 병합합니다. |
| CtdDroppedEntities | principal.resource.attribute.labels (CtdDroppedEntities_label) | CtdDroppedEntities에서 라벨을 만들어 병합합니다. |
| externalId | metadata.product_log_id | externalId를 metadata.product_log_id에 매핑합니다. |
| proto | protocol_number_src | 프로토를 대문자로 변환하고 조회를 위해 protocol_number_src에 할당합니다. |
| protocol_number_src | ip_protocol_out; app_protocol_out | ip_protocol_out을 UNKNOWN_IP_PROTOCOL로, app_protocol_out을 UNKNOWN_APPLICATION_PROTOCOL로 초기화한 다음 조회에 따라 업데이트합니다. |
| ip_protocol_out | network.ip_protocol | ip_protocol_out에서 network.ip_protocol을 설정합니다. |
| app_protocol_out | network.application_protocol | app_protocol_out에서 network.application_protocol을 설정합니다. |
| CtdExternalId | metadata.product_log_id | 제공된 경우 CtdExternalId로 metadata.product_log_id를 덮어씁니다. |
| CtdDeviceExternalId | principal.resource.attribute.labels (ctd_device_label) | CtdDeviceExternalId (CtdDeviceExternalId이 프리픽스로 추가됨)에서 라벨을 만들어 병합합니다. |
(has_principal_device가 true이고 ctdeventtype = Login인 경우) |
security_result.category; security_result.action | 로그인 이벤트의 경우 security_result.category를 AUTH_VIOLATION로, 작업을 BLOCK로 설정합니다. |
(has_principal_device가 true이고 ctdeventtype = Memory Reset인 경우) |
security_result.category | security_result.category를 SOFTWARE_SUSPICIOUS로 설정합니다. |
(target_machine_id_present가 true이고, has_principal_device가 true이며, ctdeventtype이 [Known Threat Alert, Known Threat Event, Man-in-the-Middle Attack, Suspicious Activity]에 있는 경우) |
security_result.category | security_result.category를 NETWORK_MALICIOUS로 설정합니다. |
(target_machine_id_present가 true이고 has_principal_device가 true이며 ctdeventtype = Suspicious File Transfer인 경우) |
security_result.category | security_result.category를 NETWORK_SUSPICIOUS로 설정합니다. |
(target_machine_id_present가 true이고 has_principal_device가 true이며 ctdeventtype = Denial Of Service인 경우) |
security_result.category | security_result.category를 NETWORK_DENIAL_OF_SERVICE로 설정합니다. |
(has_principal_device가 true이고 ctdeventtype이 [Host Scan, Port Scan]에 있는 경우) |
security_result.category | security_result.category를 NETWORK_RECON로 설정합니다. |
(target_machine_id_present가 true이고, has_principal_device가 true이며, ctdeventtype이 [Policy Rule Match, Policy Violation Alert, Policy Violation]에 있는 경우) |
security_result.category | security_result.category를 POLICY_VIOLATION로 설정합니다. |
| (has_principal_device가 true인 경우 기본값) | security_result.category | 기본적으로 security_result.category를 NETWORK_SUSPICIOUS로 설정합니다. |
| 파생된 security_result_category | security_result.category | 파생된 보안 카테고리를 security_result.category에 병합합니다. |
| 파생된 security_result_action | security_result.action | 파생된 보안 작업을 security_result.action에 병합합니다 (설정된 경우). |
cs6 (cs6Label CTDlink 포함) |
metadata.url_back_to_product; security_result.url_back_to_product | 제품 세부정보로 다시 연결하기 위해 cs6에서 URL 필드를 설정합니다. |
cs1 (cs1Label SourceAssetType) |
principal.asset.category; principal.asset.type | cs1에서 principal.asset.category를 설정하고 값에 따라 principal.asset.type을 결정합니다. |
cs2 (cs2Label DestAssetType 포함) |
target.asset.category; target.asset.type | cs2에서 target.asset.category를 설정하고 값에 따라 target.asset.type을 결정합니다. |
cfp1 (cfp1Label CVEScore 포함) |
vulns.vulnerabilities.cvss_base_score | vulns.vulnerabilities.cvss_base_score (float로 변환됨)를 설정하고 vul_fields_present를 true로 표시합니다. |
cs6 (cs6Label CVE 포함) |
vulns.vulnerabilities.cve_id | vulns.vulnerabilities.cve_id를 설정하고 vul_fields_present를 true로 표시합니다. |
cn1 (cn1Label IndicatorScore) |
security_result.confidence_score | cn1에서 지표 점수를 추출하고, 부동 소수점으로 변환하고, 신뢰도 점수로 할당합니다. |
| $filepath | about.file.full_path; security_result.about.file.full_path | 파일 경로를 about.file.full_path 및 security_result.about.file.full_path에 매핑합니다. |
(if eventclass = HealthCheck and cs1Label = Site) |
intermediary.location.name | 사이트 식별자로 사용될 때 cs1에서 intermediary.location.name을 설정합니다. |
| cn1 (cn1Label 포함) | additional.fields (cn1_label) | cn1에서 추가 필드 라벨을 만들어 additional.fields에 병합합니다. |
| cs1 (cs1Label 포함) | additional.fields (cs1_label) | cs1에서 추가 필드 라벨을 만들어 additional.fields에 병합합니다. |
| cs2 (cs2Label 포함) | additional.fields (cs2_label) | cs2에서 추가 필드 라벨을 만들어 additional.fields에 병합합니다. |
| cs3 (cs3Label 포함) | additional.fields (cs3_label) | cs3에서 추가 필드 라벨을 만들어 병합합니다. |
| cs4 (cs4Label 포함) | additional.fields (cs4_label) | cs4에서 추가 필드 라벨을 만들어 병합합니다. |
| cs6 (cs6Label 포함) | additional.fields (cs6_label) | cs6에서 추가 필드 라벨을 만들어 병합합니다. |
| (event_name 및 vul_fields_present에 기반한 통계 이벤트의 경우) | event_type | 통계 이벤트의 event_type을 파생시킵니다 (예: SCAN_VULN_HOST, STATUS_UNCATEGORIZED, STATUS_UPDATE). |
| (ctdeventtype, has_principal_device 등을 기반으로 하는 Event/Alert 이벤트의 경우) | event_type(선택적으로 target.resource.type 또는 auth.type) | DEVICE_CONFIG_UPDATE, DEVICE_PROGRAM_DOWNLOAD/UPLOAD, NETWORK_UNCATEGORIZED, USER_RESOURCE_CREATION, SCAN_HOST, SCAN_NETWORK, SETTING_MODIFICATION, USER_LOGIN, NETWORK_CONNECTION, STATUS_UPDATE와 같은 이벤트/알림 이벤트의 event_type을 파생시킵니다. |
| (event_type이 비어 있는 경우) | event_type | 사용 가능한 플래그에 따라 event_type을 NETWORK_CONNECTION, USER_RESOURCE_ACCESS 또는 STATUS_UPDATE로 설정합니다. |
| event_type (최종) | metadata.event_type | 최종 event_type을 metadata.event_type에 복사합니다. 비어 있으면 GENERIC_EVENT이 기본값입니다. |
| device_vendor | metadata.vendor_name | device_vendor에서 metadata.vendor_name을 설정합니다. 누락된 경우 기본값은 CLAROTY입니다. |
| device_product | metadata.product_name | device_product에서 metadata.product_name을 설정합니다. 누락된 경우 기본값은 CTD입니다. |
| device_version | metadata.product_version | device_version에서 metadata.product_version을 설정합니다. |
security_description (ET TROJAN …와 일치하는 경우) |
security_result.threat_name | 보안 설명에서 ET TROJAN (?P<threat_name>\S+) 패턴을 사용하여 threat_name을 추출하고 security_result.threat_name에 매핑합니다. |
| 메타데이터 | event.idm.read_only_udm.metadata | 메타데이터를 event.idm.read_only_udm.metadata로 이름을 바꿉니다. |
| principal | event.idm.read_only_udm.principal | 주 구성원의 이름을 event.idm.read_only_udm.principal로 바꿉니다. |
| target | event.idm.read_only_udm.target | 타겟 이름을 event.idm.read_only_udm.target으로 바꿉니다. |
| 네트워크 | event.idm.read_only_udm.network | 네트워크 이름을 event.idm.read_only_udm.network로 바꿉니다. |
| 추가 | event.idm.read_only_udm.additional | 추가 이름을 event.idm.read_only_udm.additional로 바꿉니다. |
| security_result | event.idm.read_only_udm.security_result | security_result를 event.idm.read_only_udm.security_result에 병합합니다. |
| 정보 | event.idm.read_only_udm.about | about을 event.idm.read_only_udm.about으로 병합합니다. |
| intermediary | event.idm.read_only_udm.intermediary | 중개자를 event.idm.read_only_udm.intermediary로 병합합니다. |
| vulns.vulnerabilities | event.idm.read_only_udm.extensions.vulns.vulnerabilities | vulns.vulnerabilities를 event.idm.read_only_udm.extensions.vulns.vulnerabilities로 병합합니다. |
| @output | 이벤트 | 전체 UDM 이벤트 구조를 최종 event 필드로 병합합니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.