
서버로 들어오는 해킹 시도를 몇 초 안에 알아채고, 필요하면 늦추거나 막는 방법을 백엔드 개발자 눈높이로 정리한 시리즈입니다. 흔히 도는 "WAF + RASP + eBPF + Kafka + Flink" 설명을 하나씩 따져 보고, 지연 시간으로 나눈 네 개의 방어선으로 다시 그립니다. 그리고 그 방법이 정말 효과가 있는지 직접 잽니다.

1부 개념과 지도
2부 방어선별 기술
- 방어선 0: 탐지보다 먼저, 코드에서 막기 — 객체 인가, 스키마 검증, 불투명 ID, 로그인 보호
- 방어선 1-①: 인가 거부를 보안 이벤트로 남기기 — FastAPI 예제, OWASP Logging Vocabulary, OpenTelemetry 이름
- 방어선 1-②: 신원별 슬라이딩 윈도우로 열거·퍼징 잡기 — Redis 정렬 집합과 Lua, 무엇을 무엇 기준으로 셀지
- 방어선 1-③: 미끼 객체 하나가 경보 천 개보다 낫다 — 오탐이 거의 없는 신호와 운영 주의
- 방어선 1-④: 단계적 대응과 섀도 모드 — 기록에서 TTL 차단까지, 되돌리기
- 방어선 2-①: WAF와 OWASP CRS가 잡는 것, 못 잡는 것 — 이상 점수, 패러노이아 레벨, 오탐 조정
- 방어선 2-②: IP 평판·위협 인텔리전스의 쓸모와 한계 — CrowdSec, AbuseIPDB, CGNAT와 주거 프록시
- 방어선 3: 실시간 파이프라인은 언제 필요한가 — 지연 예산, Redis Streams, Kafka·Flink
- eBPF는 무엇을 잘하나: HTTP 탐지가 아니라 런타임 보안 — Tetragon·Cilium, TLS 한계, 오버헤드
- 클라우드·상용으로 같은 그림 그리기 — Cloudflare, AWS WAF·GuardDuty, Datadog
3부 검증: 정말 효과가 있나
- 검증 1: 실험실과 지표 — 127.0.0.1 쇼핑몰, 이름표 트래픽, 네 가지 지표
- 검증 2: IDOR, 무엇이 잡나 — WAF, sub≠path, 403·404 급증, 거부 객체 수, 미끼
- 검증 3: 열거·퍼징·느린 공격 — 기준값별 탐지율·오탐, 신원 vs IP
- 검증 4: WAF(CRS)와 지연 비용 — 패러노이아 레벨별 결과, 회귀 시험, p50·p99
- 정리: 효과가 있었던 것과 도입 순서 — 측정으로 정한 우선순위
함께 읽기
이 시리즈의 약속
- 방어 중심입니다. 공격 예시는 탐지를 설명하는 데 필요한 교과서 수준만 씁니다. 특정 WAF를 피하는 기법이나 남의 시스템을 공격하는 방법은 쓰지 않습니다.
- 계정, 주문 번호, IP는 모두 가짜 값입니다.
- 숫자는 127.0.0.1 실험실에서 실제로 잰 것만 쓰고, 날짜와 장비와 조건을 함께 적습니다. 못 잰 것은 【작성자 실측】 또는 "확인 필요"로 표시합니다.
- 합성 트래픽은 운영 트래픽이 아닙니다. 결과는 언제나 "이 조건에서"입니다.
출처
- 사실 확인에 쓴 공식 문서는 각 글의 "출처와 확인 날짜"에 있습니다(확인 2026-10-30).
- 실험 코드와 원시 결과는 실험실 폴더
lab/에 있습니다.