왜 Log Explorer가 필요한가?
현대의 사이버 공격자는 단일 포인트로 침투하지 않습니다. API를 스캔하고, DDoS로 노이즈를 만들어 팀을 분산시키며, 탈취한 자격 증명으로 내부 시스템에 침투합니다. 이런 **멀티 벡터 공격(Multi-Vector Attack)**을 탐지하려면 여러 계층의 텔레메트리를 교차 분석해야 합니다.
Cloudflare Log Explorer는 HTTP 요청, 방화벽 이벤트, DNS 로그, Zero Trust Access 이벤트 등 14개의 데이터셋을 통합해 단일 SQL 인터페이스로 조회할 수 있게 해줍니다. 이를 통해 MTTD(평균 탐지 시간)를 획기적으로 단축하고, 정교한 공격을 조기에 발견할 수 있습니다.
핵심 포인트: Cloudflare는 엣지(Edge)에서 모든 트래픽을 로깅하므로, 공격이 사용자 인프라에 도달하기 전에 이미 로그가 확보됩니다. 이는 '블랙박스'가 아닌 '비행 기록 장치(Flight Recorder)'를 제공하는 것과 같습니다.

데이터셋 개요: 14개 로그 소스의 역할
Log Explorer는 크게 애플리케이션 서비스와 Cloudflare One(Zero Trust) 두 영역의 데이터를 커버합니다. 다음 표는 각 데이터셋이 어떤 공격 단계를 밝히는지 보여줍니다.
| 데이터셋 | 주요 용도 | 공격 단계 |
|---|---|---|
| HTTP Requests | 애플리케이션 계층 트래픽 재구성, 봇 패턴 식별 | 정찰, 무기화 |
| Firewall Events | WAF 규칙/IP 평판 차단 증거 | 무기화, 악용 |
| DNS Logs | 캐시 중독, 도메인 하이재킹 탐지 | 정찰, C2 통신 |
| Access Requests | ID 기반 인증 이벤트 추적 | 권한 상승, 측면 이동 |
| Magic IDS Detections | 네트워크 계층 침입 탐지 시그니처 | 측면 이동, 데이터 유출 |
| Gateway DNS | 섀도우 IT, 멀웨어 콜백, DGA 탐지 | C2 통신 |
| Email Security Alerts | 피싱 이메일 게이트웨이 탐지 | 초기 침투 |
실전 SQL 예제: 세션 하이재킹 탐지
공격자가 Cloudflare Access로 인증한 사용자의 세션을 탈취한 시나리오입니다. 정상 사용자처럼 보이지만 BotScore가 낮은 트래픽을 찾습니다.
-- 1단계: 의심스러운 HTTP 요청 식별
SELECT RayID, ClientIP, ClientRequestUserAgent, BotScore
FROM http_requests
WHERE date = '2026-02-22'
AND BotScore < 20
LIMIT 100;
-- 2단계: 해당 RayID로 Access 로그 조회하여 사용자 계정 확인
SELECT Email, IPAddress, Allowed
FROM access_requests
WHERE date = '2026-02-22'
AND RayID = 'INSERT_RAY_ID_HERE';
실전 SQL 예제: 피싱 후 C2 비콘 추적
직원이 피싱 메일을 클릭해 워크스테이션이 감염된 경우, DNS 쿼리와 IDS 알림을 교차 분석합니다.
-- 1단계: 이메일 보안 알림에서 피싱 탐지
SELECT Timestamp, Threatcategories, To, Alertreason
FROM email_security_alerts
WHERE date = '2026-02-22'
AND Threatcategories LIKE '%phishing%';
-- 2단계: 피싱 대상자의 IP 확인
SELECT Email, IPAddress
FROM access_requests
WHERE date = '2026-02-22';
-- 3단계: 해당 IP에서 악성 도메인으로 DNS 질의 확인
SELECT SrcIP, QueryName, DstIP
FROM gateway_dns
WHERE date = '2026-02-22'
AND SrcIP = 'INSERT_IP_FROM_PREVIOUS_QUERY'
AND QueryName LIKE '%malicious_domain_name%';

아키텍처 인사이트: JSON Schema 기반 확장성
Log Explorer의 핵심 설계 철학은 JSON Schema 기반의 스키마 정의입니다. 모든 데이터셋이 동일한 스키마 표준을 따르기 때문에, 새로운 로그 소스를 추가할 때 하드코딩 없이 확장할 수 있습니다.
이해를 돕는 비유: 마치 레고 블록처럼, 각 데이터셋이 동일한 규격의 '브릭'으로 정의되어 있어 원하는 대로 조립(JOIN)할 수 있습니다.
이러한 설계 덕분에 Cloudflare는 초기 HTTP Requests/Firewall Events에서 출발해 Zero Trust 로그, 네트워크 분석, 이메일 보안 등으로 빠르게 확장할 수 있었습니다. 향후에는 고객이 자체 데이터 소스를 커스텀 스키마로 가져올 수 있는 'BYOD(Bring Your Own Data)' 기능도 고려 중입니다.
성능 최적화: P99 지연 시간 55% 감소
멀티 벡터 공격 대응에서 로그 가용성 지연은 몇 분 차이로 방어 성패가 갈립니다. Cloudflare는 수집 파이프라인의 동시성(Concurrency)을 높이고 'Noisy Neighbor' 문제를 제거해 P99 수집 지연 시간을 약 55%, P50을 25% 단축했습니다.
이 개선 덕분에 엣지에서 발생한 이벤트가 SQL로 조회 가능해지기까지 걸리는 시간이 크게 줄었습니다.

실무 적용 조언 및 주의사항
국내 보안 환경에서의 적용 맥락
한국 기업들은 일반적으로 내부망 중심의 보안 체계를 가지고 있습니다. Cloudflare Log Explorer는 클라우드 엣지 기반이므로, 다음 사항을 고려해야 합니다.
- 하이브리드 환경: 온프레미스 방화벽 로그와 Cloudflare 로그를 별도로 수집/분석해야 하는 경우가 많습니다. Log Explorer의 향후 BYOD 기능이 이 문제를 해결해 줄 것으로 기대됩니다.
- 개인정보보호: DNS 로그나 HTTP 요청 로그에는 사용자 IP 등 개인정보가 포함될 수 있습니다. 국내 개인정보보호법에 따라 로그 보관 기간과 접근 권한을 설정해야 합니다.
- SIEM 연동: 많은 국내 기업이 Splunk나 ELK를 사용 중입니다. Log Explorer는 SQL 인터페이스를 제공하므로, 기존 SIEM과의 연동 시 ETL 파이프라인을 직접 구축해야 할 수 있습니다.
이 기술의 한계
- Cloudflare 종속성: Log Explorer는 Cloudflare 제품군을 사용하는 환경에서만 동작합니다. 다른 CDN이나 WAF를 사용한다면 별도 통합이 필요합니다.
- 데이터 보존 기간: 기본적으로 로그 보존 기간이 제한적일 수 있습니다. 장기 보관이 필요하다면 추가 비용이 발생할 수 있습니다.
- SQL 숙련도: 효과적인 포렌식을 위해서는 SQL 쿼리 작성 능력이 필수입니다. 보안 분석가에게 SQL 교육이 선행되어야 합니다.
다음 단계 학습 방향
- Cloudflare Log Explorer 공식 문서에서 각 데이터셋의 필드 정의를 숙지하세요.
- 실제 침해 사고 시나리오를 바탕으로 SQL 쿼리를 연습해 보세요. (MITRE ATT&CK 프레임워크와 매핑하면 더 효과적입니다.)
- 예약 쿼리(Scheduled Queries) 기능이 출시되면 정기적인 위협 헌팅 자동화를 구축해 보세요.
함께 보면 좋은 글
이 글의 근거 자료는 Cloudflare 공식 블로그 원문입니다.