피드로 돌아가기
I Built a Real-Time DDoS Detection Engine from Scratch - Here's Every Decision I Made
Dev.toDev.to
Security

Z-Score 기반 실시간 DDoS 탐지 엔진으로 10초 내 이상 트래픽 차단

I Built a Real-Time DDoS Detection Engine from Scratch - Here's Every Decision I Made

Oluwagbade Odimayo2026년 5월 7일15intermediate

Context

고정 임계값 기반 차단 방식은 트래픽 변동성이 큰 클라우드 스토리지 환경에서 오탐률이 높고 공격 탐지 효율이 낮음. 정적 설정이 아닌 실시간 트래픽 패턴을 학습하여 동적으로 대응하는 이상 탐지 메커니즘이 필요함.

Technical Solution

  • Nginx JSON 로그 기반의 구조화된 데이터 파이프라인 구축을 통한 분석 정밀도 확보
  • X-Forwarded-For 헤더 추출 설정을 통한 Docker 네트워크 환경 내 실제 클라이언트 IP 식별
  • Python Generator와 f.seek(0, 2)를 활용한 tail -f 방식의 저부하 실시간 로그 스트리밍 구현
  • Sliding Window 기반의 deque 구조를 도입하여 최신 트래픽 샘플의 통계적 Baseline 유지
  • Z-Score 알고리즘을 적용해 현재 요청률과 과거 평균의 표준 편차를 계산함으로써 통계적 이상 징후 판별
  • iptables DROP 룰과 연동한 자동 차단 및 스케줄 기반의 자동 해제 프로세스 자동화

- 단순 요청 수 제한 대신 Z-Score 등 통계적 지표를 활용한 이상 탐지 로직 검토 - 컨테이너 환경의 Proxy 구성 시 실제 클라이언트 IP 확보를 위한 `set_real_ip_from` 설정 확인 - 로그 기반 분석 시스템 설계 시 CPU 부하 최소화를 위한 Generator 및 Non-blocking I/O 패턴 적용 - 차단 이력의 영속성 확보를 위해 In-memory 저장소에서 SQLite 등 경량 DB로의 전환 고려

원문 읽기