Crowdstrike IOC 로그 수집
이 문서에서는 CrowdStrike Falcon Intelligence의 위협 인텔리전스 지표를 Google Security Operations로 전달하는 Docker 컨테이너인 CrowdStrike Chronicle Intel Bridge를 사용하여 CrowdStrike IOC 로그를 수집하는 방법을 설명합니다.
CrowdStrike Falcon Intelligence는 도메인, IP 주소, 파일 해시, URL, 이메일 주소, 파일 경로, 파일 이름, 뮤텍스 이름을 비롯한 위협 인텔리전스 지표를 제공합니다. Chronicle Intel Bridge는 CrowdStrike Intel API를 폴링하고 이러한 지표를 Google Security Operations에 전달하여 위협을 감지하고 분석합니다.
시작하기 전에
다음 기본 요건이 충족되었는지 확인합니다.
- Google SecOps 인스턴스
- API 클라이언트를 만들 수 있는 권한이 있는 CrowdStrike Falcon 콘솔에 대한 권한 있는 액세스
- CrowdStrike Falcon Intelligence 구독
- CrowdStrike를 폴링하고 표시기를 전달하기 위해 지속적으로 실행할 수 있는 시스템에 설치된 Docker
- 배포 아키텍처의 모든 시스템이 UTC 시간대로 구성됩니다.
Google SecOps 사용자 인증 정보 가져오기
Google SecOps 고객 ID 가져오기
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 프로필로 이동합니다.
- 조직 세부정보 섹션에서 고객 ID를 복사하여 저장합니다.
Google SecOps 서비스 계정 파일 다운로드
- Google SecOps 콘솔에 로그인합니다.
- SIEM 설정 > 수집 에이전트로 이동합니다.
- 수집 인증 파일 다운로드를 클릭합니다.
- Docker 컨테이너를 실행할 시스템의 안전한 위치 (예:
/path/to/service-account.json)에 JSON 파일을 저장합니다.
CrowdStrike Falcon API 액세스 구성
Chronicle Intel Bridge가 표시기를 가져오도록 하려면 Falcon Intelligence Indicators에 대한 읽기 권한이 있는 API 클라이언트를 만들어야 합니다.
API 클라이언트 만들기
- CrowdStrike Falcon Console에 로그인합니다.
- 지원 및 리소스 > 리소스 및 도구 > API 클라이언트 및 키로 이동합니다.
- 새 API 클라이언트 추가를 클릭합니다.
- 다음 구성 세부정보를 제공합니다.
- 클라이언트 이름: 설명이 포함된 이름 (예:
Chronicle Intel Bridge)을 입력합니다. - 설명: 선택사항:
Integration with Google Chronicle for threat intelligence indicators을 입력합니다.
- 클라이언트 이름: 설명이 포함된 이름 (예:
- API 범위 섹션에서 지표 (Falcon Intelligence) 옆에 있는 읽기 체크박스를 선택합니다.
- 만들기를 클릭합니다.
API 사용자 인증 정보 기록
API 클라이언트를 만든 후 대화상자에 사용자 인증 정보가 표시됩니다.
- 클라이언트 ID: 고유한 클라이언트 식별자입니다 (예:
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6). - 클라이언트 보안 비밀번호: API 보안 비밀 키
- 기준 URL: 리전의 정규화된 도메인 이름 (예:
api.us-2.crowdstrike.com)
- 클라이언트 ID: 고유한 클라이언트 식별자입니다 (예:
리전 엔드포인트
CrowdStrike Falcon은 클라우드 리전에 따라 다른 API 엔드포인트를 사용합니다.
| 리전 | 기본 URL | 콘솔 URL |
|---|---|---|
| US-1 | api.crowdstrike.com |
https://falcon.crowdstrike.com |
| US-2 | api.us-2.crowdstrike.com |
https://falcon.us-2.crowdstrike.com |
| EU-1 | api.eu-1.crowdstrike.com |
https://falcon.eu-1.crowdstrike.com |
| US-GOV-1 | api.laggar.gcw.crowdstrike.com |
https://falcon.laggar.gcw.crowdstrike.com |
| US-GOV-2 | api.us-gov-2.crowdstrike.com |
https://falcon.us-gov-2.crowdstrike.com |
CrowdStrike Falcon 인스턴스 리전에 해당하는 기본 URL을 사용합니다. Docker 구성에 지역 코드 (예: us-1, us-2, eu-1)가 사용됩니다.
CrowdStrike Chronicle Intel Bridge 배포
Chronicle Intel Bridge는 CrowdStrike Falcon Intelligence를 폴링하여 표시기를 가져오고 이를 Google Security Operations로 전달하기 위해 지속적으로 실행되는 Docker 컨테이너입니다.
환경 변수 설정하기
Docker 컨테이너를 실행하기 전에 수집한 사용자 인증 정보로 다음 환경 변수를 설정합니다.
export FALCON_CLIENT_ID="your-client-id" export FALCON_CLIENT_SECRET="your-client-secret" export FALCON_CLOUD_REGION="your-cloud-region" export CHRONICLE_CUSTOMER_ID="your-customer-id" export CHRONICLE_REGION="your-chronicle-region"자리표시자 값을 바꿉니다.
your-client-id: CrowdStrike API 클라이언트의 클라이언트 IDyour-client-secret: CrowdStrike API 클라이언트의 클라이언트 보안 비밀번호your-cloud-region: CrowdStrike 클라우드 리전 (예:us-1,us-2,eu-1,us-gov-1,us-gov-2)your-customer-id: Google SecOps 고객 IDyour-chronicle-region: Google SecOps 리전 (아래의 Chronicle 리전 구성 참고)
Chronicle 리전 구성
CHRONICLE_REGION 환경 변수는 사용할 Google SecOps 리전 엔드포인트를 지정합니다. 다음과 같은 값이 지원됩니다.
기존 지역 코드:
US(지정되지 않은 경우 기본값)EUUKILAUSG
Google Cloud 리전 코드:
EUROPEEUROPE-WEST2EUROPE-WEST3EUROPE-WEST6EUROPE-WEST9EUROPE-WEST12ME-WEST1ME-CENTRAL1ME-CENTRAL2ASIA-SOUTH1ASIA-SOUTHEAST1ASIA-NORTHEAST1AUSTRALIA-SOUTHEAST1SOUTHAMERICA-EAST1NORTHAMERICA-NORTHEAST2
Docker 컨테이너 실행
다음 배포 방법 중 하나를 선택합니다.
대화형 모드 (포그라운드):
테스트 및 문제 해결에는 다음 모드를 사용하세요.
docker run -it --rm \ --name chronicle-intel-bridge \ -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \ -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \ -e FALCON_CLOUD_REGION="$FALCON_CLOUD_REGION" \ -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \ -e CHRONICLE_REGION="$CHRONICLE_REGION" \ -e GOOGLE_SERVICE_ACCOUNT_FILE=/gcloud/sa.json \ -v /path/to/your/service-account.json:/gcloud/sa.json:ro \ quay.io/crowdstrike/chronicle-intel-bridge:latest분리 모드 (다시 시작 정책이 적용된 백그라운드):
프로덕션 배포에는 다음 모드를 사용하세요.
docker run -d --restart unless-stopped \ --name chronicle-intel-bridge \ -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \ -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \ -e FALCON_CLOUD_REGION="$FALCON_CLOUD_REGION" \ -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \ -e CHRONICLE_REGION="$CHRONICLE_REGION" \ -e GOOGLE_SERVICE_ACCOUNT_FILE=/gcloud/sa.json \ -v /path/to/your/service-account.json:/gcloud/sa.json:ro \ quay.io/crowdstrike/chronicle-intel-bridge:latest/path/to/your/service-account.json을 이전에 다운로드한 Google SecOps 서비스 계정 JSON 파일의 실제 경로로 바꿉니다.
배포를 확인합니다.
컨테이너를 시작한 후 표시기가 Google Security Operations로 전달되는지 확인합니다.
컨테이너 로그를 확인합니다.
docker logs chronicle-intel-bridgeGoogle SecOps 콘솔에서 로그 유형이
CROWDSTRIKE_IOC인 이벤트를 검색합니다.표시기가 Google SecOps 인스턴스에 표시되는지 확인합니다.
고급 구성
고급 구성 옵션의 경우 구성 파일을 사용하여 Intel Bridge 동작을 맞춤설정할 수 있습니다.
- CrowdStrike Chronicle Intel Bridge 저장소에서
config.ini파일을 다운로드합니다. - 요구사항에 따라 구성 파일을 수정합니다.
볼륨 플래그를 사용하여 구성 파일을 컨테이너에 마운트합니다.
docker run -d --restart unless-stopped \ --name chronicle-intel-bridge \ -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \ -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \ -e FALCON_CLOUD_REGION="$FALCON_CLOUD_REGION" \ -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \ -e CHRONICLE_REGION="$CHRONICLE_REGION" \ -e GOOGLE_SERVICE_ACCOUNT_FILE=/gcloud/sa.json \ -v /path/to/your/service-account.json:/gcloud/sa.json:ro \ -v /path/to/your/config.ini:/ccib/config.ini:ro \ quay.io/crowdstrike/chronicle-intel-bridge:latest
지원되는 지표 유형
CrowdStrike 침해 지표 (IoC) 파서는 다음 지표 유형을 지원합니다.
| 지표 유형 | 설명 |
|---|---|
| domain | 악성 활동과 관련된 도메인 이름 |
| email_address | 공격에 사용된 이메일 주소 |
| file_name | 악성 파일 이름 |
| file_path | 위협과 관련된 파일 시스템 경로 |
| hash_md5 | MD5 파일 해시 |
| hash_sha1 | SHA-1 파일 해시 |
| hash_sha256 | SHA-256 파일 해시 |
| ip_address | 악의적인 활동과 관련된 IP 주소 |
| mutex_name | 악성코드에서 사용하는 뮤텍스 이름 |
| url | 위협과 연결된 URL |
Docker 컨테이너 관리
다음 Docker 명령어를 사용하여 Chronicle Intel Bridge를 관리합니다.
컨테이너 상태 보기:
docker ps -a | grep chronicle-intel-bridge컨테이너 로그 보기:
docker logs chronicle-intel-bridge컨테이너 로그를 실시간으로 팔로우합니다.
docker logs -f chronicle-intel-bridge컨테이너 중지:
docker stop chronicle-intel-bridge컨테이너를 시작합니다.
docker start chronicle-intel-bridge컨테이너 다시 시작:
docker restart chronicle-intel-bridge컨테이너 삭제:
docker stop chronicle-intel-bridge docker rm chronicle-intel-bridge
문제 해결
Chronicle Intel Bridge에 문제가 있는 경우 다음 단계를 따르세요.
- CrowdStrike API 사용자 인증 정보가 올바르고 Indicators (Falcon Intelligence): READ 범위가 있는지 확인합니다.
- Google SecOps 고객 ID가 올바른지 확인합니다.
- Google SecOps 서비스 계정 JSON 파일이 유효하고 Docker 컨테이너에서 액세스할 수 있는지 확인합니다.
- CrowdStrike 클라우드 리전이 올바른지 확인합니다 (예:
us-1,us-2,eu-1). - Google SecOps 리전이 올바른지 확인합니다.
컨테이너 로그에서 오류 메시지를 확인합니다.
docker logs chronicle-intel-bridgeDocker 호스트에서 CrowdStrike API 엔드포인트와 Google SecOps 수집 엔드포인트 모두로의 네트워크 연결을 확인합니다.
UDM 매핑 테이블
| 로그 필드 | UDM 매핑 | 논리 |
|---|---|---|
| when | metadata.event_timestamp | 값이 직접 복사됨 |
| messageid | metadata.id | 값이 직접 복사됨 |
| 프로토콜 | network.ip_protocol | 값이 직접 복사됨 |
| deviceName | principal.hostname | 값이 직접 복사됨 |
| srcAddr | principal.ip | 값이 직접 복사됨 |
| srcPort | principal.port | 값이 직접 복사됨 |
| action | security_result.action | 값이 직접 복사됨 |
| dstAddr | target.ip | 값이 직접 복사됨 |
| dstPort | target.port | 값이 직접 복사됨 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.