웹사이트를 운영한다는 것은 곧 24시간 외부 트래픽에 노출된다는 의미입니다. 그리고 그 트래픽 중 일부는 의도적으로 서비스를 무너뜨리거나, 운영자에게 금전적 피해를 입히기 위해 설계된 악성 트래픽입니다. 2025년 4분기에 Cloudflare가 자동 방어한 단일 공격 중 최대 규모는 초당 31.4Tbps, 35초 동안 지속된 공격이었습니다. 한 해 전체로 보면 4,710만 건의 DDoS 공격이 차단됐고, 시간당 평균 5,376건이라는 압도적인 빈도였습니다.
중요한 사실은 이 위협이 더 이상 대기업·정부기관만의 문제가 아니라는 점입니다. 부터(Booter)·IP 스트레서(IP Stresser) 같은 불법 공격 대행 서비스가 월 5달러 수준에 임대되면서, 이념·재미·경쟁·랜섬 같은 다양한 동기로 1인 사이트도 무차별적인 표적이 됩니다. 한국처럼 종량제 트래픽 과금이 보편화된 호스팅 환경에서는 며칠간의 공격이 곧 수백만원대 청구서로 환산됩니다. 서비스가 다운된 동안에도 트래픽은 그대로 과금되기 때문에, 방어 실패는 곧 재무적 피해로 직결됩니다.
이 문서는 단순한 개념 설명이 아니라, 모든 주요 DDoS 공격 유형, 역사적 대형 사건, 현재 진행형 신종 공격, 다층 방어 아키텍처, 사후 대응 절차, 한국에서의 법적 대응 경로까지 망라한 종합 레퍼런스로 구성됩니다. 보안 담당자뿐 아니라 1인 개발자, 자영업자, 콘텐츠 운영자도 즉시 적용할 수 있는 구체적 설정 기준을 포함합니다.
1. DDoS 공격이란 무엇인가
DDoS(Distributed Denial of Service)는 다수의 출처에서 동시에 비정상적인 트래픽을 발생시켜 표적 시스템의 자원을 고갈시키는 공격입니다. "분산"이 핵심입니다. 단일 IP에서 발생하는 DoS와 달리, DDoS는 수천에서 수백만 개의 IP가 동시에 공격에 참여하므로 단순 IP 차단으로는 막을 수 없습니다.
공격에 동원되는 자원은 크게 세 가지입니다. 첫째, 봇넷(Botnet)은 멀웨어에 감염된 PC·서버·IoT 기기들의 네트워크입니다. 사용자도 모르는 사이에 수십만 대의 기기가 한 명의 공격자 명령에 따라 움직입니다. 둘째, 부터·스트레서는 봇넷을 시간당 임대료를 받고 빌려주는 상업 서비스입니다. 셋째, 반사·증폭(Reflection/Amplification) 기법은 잘못 구성된 공개 서버(DNS·NTP·Memcached 등)를 이용해 작은 요청을 거대한 응답으로 부풀립니다.
공격의 목적도 단일하지 않습니다. 단순한 서비스 다운, 트래픽 과금 폭탄으로 인한 재무적 출혈, 다른 침투 공격을 가리는 시선 분산, 랜섬 협박, 정치적 의사 표시까지 다양합니다. 따라서 방어 설계도 단일 솔루션이 아니라 공격 유형과 동기 모두를 고려한 다층 구조여야 합니다.
핵심 포인트: DDoS는 "트래픽이 갑자기 몰리는 사고"가 아니라 자원 고갈을 노린 의도적 작전입니다. 방어는 "평소보다 트래픽이 많으니 서버를 늘리자"가 아니라, 악성 트래픽을 식별해 거르는 필터링이 핵심이어야 합니다.
2. 계층별 DDoS 공격 유형 총정리
DDoS 공격은 OSI 7계층 모델에서 어느 계층을 표적으로 삼는지에 따라 분류됩니다. 각 계층마다 특성과 방어 전략이 완전히 다르므로, 정확한 분류가 모든 대응의 출발점입니다.
2.1 L3 네트워크 계층 공격
네트워크 계층 공격은 회선 대역폭과 라우팅 자원을 표적으로 삼습니다. 패킷 자체로 회선을 가득 채워 정상 트래픽이 흐를 공간을 없애는 방식입니다.
- ICMP Flood(Ping of Death, Smurf 공격): 대량의 ICMP 요청을 보내 서버 자원과 회선을 동시에 소모시킵니다. Smurf 공격은 브로드캐스트 주소로 ICMP를 보내 네트워크 전체에서 응답이 쏟아지게 만드는 변종입니다.
- IP 스푸핑 기반 패킷 폭주: 발신지 IP를 위조해 추적을 어렵게 하면서 라우터 자원을 고갈시킵니다.
- 반사 공격(Reflection): 공격자가 표적 IP로 발신지를 위조한 요청을 공개 서버에 보내면, 응답이 모두 표적으로 향합니다.
2.2 L4 전송 계층 공격
전송 계층 공격은 TCP/UDP 핸드셰이크와 연결 테이블을 고갈시킵니다.
- SYN Flood: TCP 3-way 핸드셰이크의 SYN 패킷만 대량 전송하고 ACK를 보내지 않아, 서버가 "반쯤 열린 연결(half-open connection)" 큐를 가득 채우게 만듭니다.
- UDP Flood: 무작위 포트로 대량의 UDP 패킷을 보내 서버가 매번 "포트가 닫혀 있다"는 ICMP 응답을 생성하게 해 자원을 고갈시킵니다.
- ACK Flood, RST Flood: 비정상 플래그 조합의 패킷을 보내 방화벽·로드밸런서의 상태 추적 테이블을 가득 채웁니다.
2.3 L4 증폭 공격(Amplification)
증폭 공격은 L3·L4의 변종이지만 별도 분류가 필요할 만큼 파괴력이 큽니다. 작은 요청 → 거대한 응답의 비율(증폭률)이 핵심 지표입니다.
| 증폭 방식 | 증폭률(요청 대비 응답) | 대표 사건 |
|---|---|---|
| DNS Amplification | 약 28~54배 | 2013년 Spamhaus 300Gbps |
| NTP Amplification | 약 556배 | 2014년 CloudFlare 400Gbps |
| Memcached Amplification | 약 51,000배 | 2018년 GitHub 1.35Tbps, 직후 1.7Tbps |
| CLDAP Amplification | 약 56~70배 | 2017년 다수 사건 |
| SSDP Amplification | 약 30배 | IoT 기기 활용 |
특히 Memcached 증폭은 충격적인 사례입니다. 2018년 2월 GitHub은 51,000배 증폭률을 가진 Memcached 반사 공격으로 단 몇 분간 1.35Tbps의 트래픽을 받았고, 며칠 뒤 미국의 한 서비스 제공자에 1.7Tbps 공격이 기록됐습니다. 이는 잘못 설정된 공개 Memcached 서버 약 9만 대가 인터넷에 노출돼 있던 결과였습니다.
2.4 L7 애플리케이션 계층 공격
애플리케이션 계층 공격은 정상 HTTP 요청처럼 보이는 트래픽으로 서버의 처리 자원을 고갈시킵니다. 트래픽 자체는 적어도 데이터베이스 쿼리, 동적 페이지 렌더링, 인증 처리 같은 비싼 연산을 강제로 유발합니다.
- HTTP Flood(GET/POST Flood): 캐시되지 않는 동적 URL을 반복 호출해 백엔드 처리량을 고갈시킵니다.
- 캐시 우회 공격(Cache Busting): URL 끝에 무작위 쿼리 스트링을 붙여 CDN 캐시를 우회하고 매번 원본 서버를 때립니다.
- Slowloris: 다수의 HTTP 연결을 열어두고 헤더를 매우 천천히 보내, 서버의 동시 연결 한도를 차지합니다.
- R.U.D.Y.(R-U-Dead-Yet): POST 본문을 매우 작은 단위로 천천히 전송해 연결을 장시간 점유합니다.
- Sockstress: TCP 윈도우 크기를 0으로 설정해 연결을 고립시킵니다.
- HTTP/2 Rapid Reset(CVE-2023-44487): 2023년 8~10월에 처음 대규모로 관측된 신종 공격입니다. HTTP/2의 스트림 다중화 기능을 악용해 요청을 보낸 즉시 RST_STREAM으로 취소하는 패턴을 반복합니다. Cloudflare는 이 공격으로 초당 2억 100만 건(201M rps)이라는 당시 역대 최대 요청률을 관측했고, 이는 일반 봇넷의 7~8배 효율이었습니다. Google은 3억 9,800만 rps를 보고했습니다.
2.5 멀티 벡터 공격
현대 DDoS는 단일 유형이 아니라 여러 계층을 동시에 공격하는 멀티 벡터 형태가 표준입니다. L3 회선 포화로 모니터링을 마비시킨 뒤 L7 공격으로 백엔드를 무너뜨리는 식의 조합이 일반적이며, 방어 측은 모든 계층을 동시에 커버해야 합니다.
3. 공격을 가능케 하는 도구와 인프라
공격이 일상화된 이유를 이해하려면 공격자 측의 "공급망"을 알아야 합니다.
3.1 봇넷의 진화
봇넷은 DDoS 공격의 핵심 자원입니다. 대표적인 사례는 다음과 같습니다.
- Mirai(2016): IoT 기기(IP 카메라, 가정용 라우터, DVR)의 기본 비밀번호를 사전 공격으로 뚫어 감염시킨 봇넷입니다. 2016년 9월 보안 저널리스트 Brian Krebs의 사이트에 620Gbps 공격을 가했고, 같은 해 10월 DNS 사업자 Dyn에 대규모 공격을 퍼부어 Twitter, Netflix, Reddit, Spotify 등 미국 주요 서비스가 동시에 마비되는 사태를 일으켰습니다. Mirai 소스코드가 공개된 이후 Satori, Okiru, Masuta 등 수십 종의 변종이 파생됐습니다.
- Aisuru-Kimwolf(2024~2025): Android TV 기기를 대규모로 감염시킨 신종 봇넷으로, 초당 2억 건 이상의 요청을 발사할 수 있는 능력이 확인됐습니다. 가정용 스마트 디바이스가 봇넷화되는 추세를 가속하고 있습니다.
- Meris(2021): MikroTik 라우터를 감염시킨 봇넷으로, Yandex에 2,180만 rps 공격을 기록했습니다.
3.2 Booter·IP Stresser 시장
부터 서비스는 "네트워크 스트레스 테스트 도구"라는 명목으로 운영되지만, 실제로는 누구나 결제만 하면 임의의 IP를 공격할 수 있는 불법 DDoS 대행 서비스입니다. 월 5~50달러의 구독료로 수십~수백 Gbps 공격을 발사할 수 있습니다. FBI는 2018년 12월 한 번에 15개의 부터 도메인을 압수했고, 이후로도 webstresser, vDOS 등 주요 운영자의 검거가 이어졌습니다. 그러나 시장은 지속적으로 부활하며, 다크웹뿐 아니라 일반 웹·텔레그램 채널에서도 광고됩니다.
3.3 AI를 활용한 "바이브 해킹"
2024~2025년 들어 보안 업계는 AI 기반 자동화 공격을 새로운 위협으로 지목하기 시작했습니다. AI가 표적 사이트의 구조를 분석해 가장 비싼 엔드포인트를 자동으로 찾아내고, WAF 룰을 회피하기 위한 페이로드를 실시간으로 변형합니다. 행위 기반 탐지조차 "학습 시간" 동안 회피되는 경우가 늘고 있습니다.
4. 역사적 대형 사건 분석
실제 사건은 위협의 규모와 패턴을 가장 직관적으로 보여줍니다.
4.1 한국 7.7 디도스 대란(2009)
2009년 7월 7일 저녁부터 사흘에 걸쳐 청와대, 외교통상부, 국정원, 국회, 농협, 외환은행, 신한은행, 네이버 등 한국과 미국의 주요 정부·금융·포털 사이트 36곳이 표적이 됐습니다. 좀비 PC 27만 대가 동원됐고, 1차·2차·3차 파상 공격으로 진행되며 사회 전체에 충격을 줬습니다. 이 사건을 계기로 한국은 7월 둘째 주 수요일을 "정보보호의 날"로 지정했고, KISA의 사이버 침해 대응 체계가 대대적으로 강화됐습니다.
4.2 Spamhaus 공격(2013)
스팸 차단 단체 Spamhaus가 한 사이버 범죄 호스팅 업체를 블랙리스트에 올린 직후, 약 300Gbps 규모의 DNS 증폭 공격이 발사됐습니다. 당시 "인터넷을 거의 부순 공격"으로 보도됐고, 증폭 공격의 위험성을 세계에 각인시켰습니다.
4.3 Dyn DNS 공격(2016)
Mirai 봇넷이 DNS 제공자 Dyn을 표적으로 삼아, 1.2Tbps의 트래픽으로 Twitter, Netflix, Reddit, Spotify, Airbnb, GitHub 등 미국 동부 인터넷이 사실상 마비됐습니다. DNS 사업자를 무너뜨리면 그 위에 의존하는 모든 서비스가 동시에 다운된다는 SPOF(단일 장애점) 위험을 입증한 사건입니다.
4.4 GitHub 1.35Tbps 공격(2018)
Memcached 증폭으로 사상 최대 규모를 기록했지만, GitHub은 Akamai Prolexic의 보호로 약 10분 만에 정상화됐습니다. 방어 측의 자동화된 트래픽 스크러빙 능력이 충분한 투자만 있다면 작동한다는 것을 보여준 사례입니다.
4.5 HTTP/2 Rapid Reset 사태(2023)
Cloudflare, Google, AWS, Microsoft가 동시에 사상 최대 요청률 공격을 받은 사건입니다. CVE-2023-44487로 등록됐으며, HTTP/2를 지원하는 거의 모든 웹 서버가 영향을 받았습니다. 보안 패치 외에도 최대 동시 스트림 수 제한, 요청률 제한, 연결당 RST_STREAM 비율 모니터링 같은 추가 완화책이 표준이 됐습니다.
4.6 4Tbps, 35초 공격(2025)
2025년 4분기 Cloudflare가 자동 방어한 단일 공격 중 최대 규모입니다. 35초 동안 31.4Tbps라는 전무후무한 양의 트래픽이 쏟아졌습니다. 공격은 더 짧아지고, 더 강해지고, 더 빈번해지는 추세를 확정한 사건입니다. 같은 해 한 해 동안 평균 시간당 5,376건의 공격이 자동 차단됐고, 전년 대비 121% 증가했습니다.
5. 공격자의 동기
방어 설계는 기술뿐 아니라 동기에 대한 이해도 필요합니다. 동기에 따라 공격의 지속 시간, 재발 가능성, 협상 여지가 달라지기 때문입니다.
- 상업적 보복·경쟁자 제거: 동일 카테고리에서 트래픽이 늘고 있는 서비스, 광고 단가가 높은 키워드 사이트, 동일 기능 SaaS가 표적이 됩니다. 다운타임이 곧 매출 손실로 직결되므로 공격 효과가 크고, 가장 흔한 동기입니다.
- 랜섬 DDoS(RDoS): 공격을 시작한 뒤 "멈춰주는 대가로 비트코인 X개를 보내라"는 협박 메일을 보냅니다. 2015년 DD4BC가 한국 은행·증권사를 표적으로 한 사건, 2020년 "Lazarus Group을 사칭한 RDoS 캠페인"이 대표적입니다. 결제하면 더 큰 액수를 요구하며 재공격하는 사례가 많아 결제 자체가 권장되지 않습니다.
- 부터 임대를 통한 무작위 공격: 청소년·게이머가 호기심으로 무작위 사이트를 공격합니다. 표적의 가치와 무관하게 발생합니다.
- 해킹액티비즘: 정치·이념·종교적 이유로 표적을 정합니다. NoName057(16), Killnet, Anonymous 같은 그룹이 대표적이며, 분쟁 시기마다 활동이 급증합니다.
- 국가 배후 공격(APT): 외교 분쟁, 선거, 군사 작전 시점에 맞춰 적국의 인프라를 표적으로 삼습니다. 2022년 우크라이나 전쟁 이후 러시아·우크라이나·서방 국가 간 사이버 전선이 일상화됐습니다.
- 시선 분산(스모크스크린): 진짜 노리는 침투 공격을 가리기 위한 미끼로 DDoS를 사용합니다. 보안팀이 트래픽 대응에 몰두한 사이 데이터 유출이 진행됩니다.
- 봇넷 성능 시험·과시: 공격자가 자기 봇넷의 능력을 시험하거나 시장에서 "광고"하기 위해 무작위 표적을 공격합니다.
6. 종량제 호스팅의 요금 폭탄 메커니즘
한국·일본 등 종량제 호스팅이 보편화된 시장에서는 사이트 다운 자체보다 청구서가 더 큰 위험입니다.
6.1 주요 호스팅사의 트래픽 과금 구조
| 호스팅 유형 | 무료/기본 한도 | 초과 단가(GB당, VAT 별도) | 비고 |
|---|---|---|---|
| 가비아 g클라우드 | 상품별 상이 | 국내 약 70원 / 해외 약 75원(~200GB) | 국내·해외 분리 과금 |
| Cafe24 호스팅 | 상품 기본 트래픽 | 약 150원 | 미납 시 7일 후 차단 |
| LG U+ CDN | 100GB | 약 132원 | 기업용 |
| AWS CloudFront | 1TB(프리티어 첫해) | 한국 리전 약 0.12달러 | 송신 트래픽 과금 |
| Cloudflare 무료 플랜 | 무제한 | 0원 | 일반 웹 트래픽 |
공격으로 하루 100GB의 해외 트래픽이 24시간 안에 소진되는 패턴이 며칠만 반복되면, 한 달 누적 트래픽은 수십 TB에 달합니다. GB당 70~150원을 단순히 곱해도 수백만원대 청구서가 산술적으로 자연스럽게 만들어집니다. 평소 트래픽이 미미한 사이트가 자력으로 이 정도 트래픽을 발생시킬 가능성은 사실상 없으므로, 갑작스러운 폭증은 거의 대부분 외부 공격입니다.
6.2 클라우드 환경의 과금 폭탄
AWS·GCP·Azure 같은 클라우드도 안전지대가 아닙니다. Egress 트래픽(외부로 나가는 트래픽)에 GB당 과금이 붙고, Lambda·Cloud Run 같은 서버리스 함수는 호출 횟수마다 과금됩니다. AI 챗봇·이미지 처리 API는 호출 한 건당 수십~수백 원의 외부 API 비용이 추가될 수 있어, L7 공격이 호출 폭주로 이어지면 클라우드 청구서가 호스팅보다 더 빠르게 증가할 수 있습니다.
핵심 포인트: 종량제 환경에서는 다운보다 과금이 더 무서운 상황이 자주 발생합니다. 공격 중에는 "먼저 트래픽 차단, 그다음 정상화"가 원칙이고, Spend Limit(지출 한도) 사전 설정이 모든 클라우드 운영의 출발점이 되어야 합니다.
7. 다층 방어 아키텍처 설계
방어는 단일 솔루션이 아니라 앞단(Edge) → 중간(Origin Front) → 뒷단(Application) → 인프라(Network)의 다층 구조여야 합니다. 어느 한 층만 뚫려도 공격 트래픽이 결제 단계까지 도달합니다.
7.1 Edge: CDN과 Anycast 네트워크
첫 번째 방어선은 공격자의 트래픽이 원본 서버에 도달하기 전에 흡수해야 합니다. Cloudflare, Akamai, Fastly 같은 글로벌 CDN은 Anycast 라우팅으로 같은 IP를 전 세계 수백 개 거점에 분산 배치합니다. 공격 트래픽이 한 거점이 아니라 가장 가까운 여러 거점으로 자동 분산되기 때문에, 1Tbps 공격도 거점당 수십 Gbps로 쪼개져 흡수됩니다.
Cloudflare 무료 플랜은 무제한 대역폭과 자동 L3/L4 DDoS 방어를 제공해, 1인 운영자에게 비용 대비 효과가 가장 큽니다. 적용 흐름은 다음과 같습니다.
- Cloudflare에 도메인을 등록하고, 도메인 등록 기관에서 네임서버를 변경합니다.
- DNS 레코드의 프록시 상태를 Proxied(주황색 구름)로 설정합니다. 회색 구름은 DNS만 제공하므로 보안 효과가 없습니다.
- SSL/TLS 모드를
Full(strict)로 설정해 원본 서버까지 암호화합니다. - Security Level을 Medium 이상으로 두고, 실제 공격 중에는 Under Attack Mode를 활성화합니다. 모든 방문자에게 자바스크립트 챌린지를 제시해 봇 트래픽을 걸러냅니다.
- WAF 메뉴에서 Managed Rules를 활성화하고, 필요시 국가 단위로 차단·챌린지 규칙을 추가합니다.
- Bot Fight Mode 또는 Super Bot Fight Mode를 켜서 자동화된 봇 트래픽에 대응합니다.
L4(TCP/UDP 기반의 게임 서버, IoT 게이트웨이 등)에는 Cloudflare Spectrum, AWS Shield Advanced, Google Cloud Armor의 Adaptive Protection이 있습니다. Spectrum은 비계측(unmetered) DDoS 방어를 제공하므로 비용 예측이 쉽습니다.
7.2 Origin Front: 원본 IP 격리
Cloudflare를 적용해도 원본 IP가 다른 경로로 노출되면 우회 공격이 가능합니다. 점검 항목은 다음과 같습니다.
- 모든 A·AAAA 레코드가 Proxied 상태인지 확인합니다.
- 메일 서버(MX)가 같은 호스트를 가리키면 IP가 그대로 노출되므로, 메일은 별도 호스트로 분리합니다.
- 과거 비프록시 상태였던 서브도메인이 검색 엔진·SecurityTrails·Shodan 같은 인텔리전스 서비스에 캐시돼 있는지 확인하고, 노출됐다면 호스팅을 마이그레이션합니다.
- 호스팅 방화벽에서 Cloudflare 공식 IP 대역만 인바운드 허용하도록 화이트리스트를 적용합니다. Cloudflare가 공개하는 IPv4·IPv6 목록을 정기 갱신합니다.
- 더 강한 격리가 필요하면
cloudflared터널을 사용해, 원본 서버가 공인 IP를 노출하지 않고 Cloudflare로 아웃바운드 연결만 맺도록 구성합니다. - 이메일 발송 시 SPF·DKIM 헤더에 원본 IP가 노출되지 않도록 외부 SMTP 릴레이(SendGrid, Mailgun 등)를 사용합니다.
7.3 Application: Nginx·Apache 단의 방어
Cloudflare를 통과한 트래픽도 일부는 정상 사용자처럼 보일 수 있습니다. 웹 서버 단에서 추가 차단막을 둡니다.
- Rate Limiting: Nginx의
limit_req_zone으로 IP별 초당 요청 수를 제한합니다. 일반 웹 서비스라면 IP당 초당 10~20건이 합리적인 시작점입니다. - 연결 수 제한:
limit_conn_zone으로 동시 연결 수를 제한해 Slowloris 같은 저속 공격을 차단합니다. - 타임아웃 단축:
client_body_timeout,client_header_timeout을 짧게 잡아 느린 요청을 빨리 끊습니다. - 요청 본문 크기 제한:
client_max_body_size를 서비스 특성에 맞게 줄여 R.U.D.Y. 같은 공격을 차단합니다. - HTTP/2 동시 스트림 제한: Rapid Reset 대응으로
http2_max_concurrent_streams를 64~128로 제한합니다. - deny 룰: 반복 공격 IP·국가 대역을 거부 목록에 추가합니다. fail2ban과 연동하면 자동화됩니다.
- real_ip 모듈: Cloudflare가 전달하는
CF-Connecting-IP헤더를 진짜 클라이언트 IP로 인식하도록 설정합니다. 이 단계를 놓치면 모든 차단 룰이 Cloudflare IP에 적용돼 무력화됩니다.
7.4 WAF와 행위 기반 차단
애플리케이션 계층의 정교한 공격은 WAF(웹 애플리케이션 방화벽)가 담당합니다.
| WAF 옵션 | 장점 | 단점 | 추천 대상 |
|---|---|---|---|
| ModSecurity + OWASP CRS | 오픈소스, 무료, Apache·Nginx 호환 | 룰셋 유지 직접 부담 | 자체 서버 운영 |
| Cloudflare WAF(Pro 이상) | 관리형, 자동 룰 업데이트 | 월 20달러부터 | 1인~중소 |
| AWS WAF | AWS 통합, Bot Control 옵션 | 룰당·요청당 과금 | AWS 사용 기업 |
| Google Cloud Armor | GCP 통합, ML 기반 Adaptive Protection | GCP 종속 | GCP 사용 기업 |
| Imperva, F5, Akamai | 엔터프라이즈급, 컨설팅 포함 | 고가 | 대기업·금융 |
AWS WAF의 경우 Web ACL 월 5달러, 룰당 월 1달러, 100만 요청당 0.60달러 구조이며, Bot Control 활성화 시 월 10달러 + 요청당 추가 과금이 발생합니다.
7.5 Network Infrastructure: BGP 블랙홀링과 Scrubbing
초대형 공격(수백 Gbps 이상)에는 인프라 단의 대응이 필요합니다.
- RTBH(Remotely Triggered Black Hole) 라우팅: 공격받는 IP로 향하는 트래픽을 BGP를 통해 "블랙홀"로 보내 폐기합니다. 표적 IP 자체는 다운되지만, 회선과 주변 인프라는 보호됩니다. ISP와 사전 협약이 필요합니다.
- Scrubbing Center: 트래픽을 전문 정제 센터로 우회시켜 악성 패킷만 걸러내고 정상 트래픽만 원본으로 돌려보냅니다. AT&T, Lumen, Akamai Prolexic 등이 대표 사업자입니다.
- GRE 터널 기반 보호: Cloudflare Magic Transit, Akamai Prolexic Connect 같은 서비스가 자체 IP 대역을 BGP로 광고받아 모든 트래픽을 정제 후 GRE 터널로 원본에 전달합니다. IP 단위(슬래시 24 이상)의 풀스택 보호가 필요할 때 사용합니다.
8. 클라우드·플랫폼별 비교
어느 플랫폼을 쓰느냐에 따라 기본 방어 수준과 추가 비용 노출이 다릅니다.
| 플랫폼 | 기본 DDoS 방어 | 추가 비용 노출 | 비고 |
|---|---|---|---|
| Cloudflare 무료 | 무제한 L3/L4/L7 자동 방어 | 거의 없음 | 1인 운영자에 가장 유리 |
| Cloudflare Pro/Business | + 고급 WAF·봇 관리 | 월 20~200달러 | 중소 사이트 |
| Vercel | 자동 DDoS 완화 | 함수 호출·대역폭 사용량 과금 | Spend Limit 필수 |
| Netlify | 자동 DDoS 완화 | 대역폭 초과 과금 | 무료 플랜은 일시 중단 |
| AWS Shield Standard | 무료, L3/L4 자동 | CloudFront·ELB 트래픽 과금 | L7은 AWS WAF 별도 |
| AWS Shield Advanced | 월 3,000달러 + | 공격 트래픽 과금 환급 | 대기업·금융 |
| Google Cloud Armor | 기본 보호 무료 | 룰당·요청당 과금 | WAF 통합 |
| Azure DDoS Protection | Standard 월 2,944달러 + | 보호 자원당 과금 | 엔터프라이즈 |
Vercel·Netlify 같은 서버리스 호스팅은 자동 DDoS 완화를 제공하지만, 정상 요청처럼 보이는 트래픽은 모두 사용량으로 집계됩니다. 무료 Hobby 플랜은 한도 초과 시 사이트가 일시 중지되어 청구서 폭탄은 막히지만, 유료 플랜은 Spend Management를 직접 설정하지 않으면 청구액이 빠르게 증가합니다. 실무적으로 가장 안정적인 조합은 Cloudflare(앞단) + Vercel/Nginx(뒷단)이며, 캐시 정책 충돌을 피하기 위해 Cloudflare 캐시는 정적 자원으로 한정하는 방식이 권장됩니다.
9. 사전 점검 체크리스트
공격을 받기 전에 다음 항목을 점검해두면 피해 규모를 크게 줄일 수 있습니다.
- 도메인 모든 레코드가 CDN/프록시 뒤에 있는가
- 호스팅 방화벽이 CDN IP만 허용하는 화이트리스트로 잠겨 있는가
- 메일·FTP·SSH 등 서브도메인이 원본 IP를 노출하지 않는가
- 클라우드 계정의 Spend Limit(지출 한도)이 설정돼 있는가
- 호스팅 트래픽 사용량 알림(예: 일 50GB 초과)이 설정돼 있는가
- Nginx Rate Limit·Connection Limit·실제 IP 헤더 설정이 적용돼 있는가
- WAF 룰셋이 활성화돼 있고 정기 업데이트되는가
- 백업과 DR(재해복구) 계획이 있고 최근 테스트했는가
- 모니터링 대시보드(Cloudflare Analytics, Uptime Robot, Datadog 등)가 알림 채널과 연결돼 있는가
- KISA 118, 호스팅사 긴급 연락처, 법무 자문 연락처가 정리돼 있는가
10. 공격 진행 중 대응 절차
사후 대응은 시간 단위로 우선순위를 다르게 설정해야 합니다.
10.1 첫 1시간 안에
- 호스팅사 콘솔에서 트래픽 사용량 그래프와 액세스 로그를 확인합니다.
- 청구서 폭탄이 우려되면 호스팅사에 트래픽 차단 또는 서비스 일시 중지를 즉시 요청합니다. 매출보다 청구서가 더 큰 상황이면 다운이 더 안전합니다.
- 도메인을 Cloudflare로 이관하고 Under Attack Mode를 활성화합니다.
- 원본 서버 방화벽에 Cloudflare IP 대역만 허용하는 화이트리스트를 적용합니다.
- KISA 118(인터넷침해대응센터)에 신고해 사이버 긴급대피소 사용 가능 여부를 확인합니다.
- 모든 액세스 로그·방화벽 로그·청구서 자료를 별도로 보존합니다(증빙·법적 절차용).
10.2 24시간 안에
- Nginx Rate Limiting·Connection Limit·HTTP/2 스트림 제한을 적용합니다.
- Cloudflare WAF Managed Rules와 봇 차단을 활성화하고, 공격 패턴에 맞춘 커스텀 룰을 추가합니다.
- 원본 서버 IP가 노출된 모든 경로(서브도메인, MX, 과거 DNS 캐시)를 점검·교체합니다.
- 호스팅사에 트래픽 요금 감면을 공식 요청합니다. KISA 신고서, Cloudflare 로그, 액세스 로그를 첨부하면 일부 감면 사례가 있습니다.
- 협박 메일을 받았다면 결제하지 않고 경찰청 사이버수사대에 신고합니다. 결제는 추가 협박을 부르는 경우가 다수입니다.
10.3 일주일 안에
- WAF(ModSecurity 또는 관리형) 도입을 완료합니다.
- 모니터링·알림 체계를 정비합니다(Cloudflare Analytics, Uptime 모니터링, Slack/Discord 알림 자동화).
- 트래픽 요금 한도와 자동 차단 임계치를 호스팅사 설정에 반영합니다.
- 사후 보고서(Post-Mortem)를 작성해 공격 시점, 트래픽 패턴, 적용한 대응, 비용 영향, 재발 방지책을 문서화합니다.
- 동일 공격이 재발할 가능성이 높으므로 백업·DR 계획을 점검·테스트합니다.
11. 한국에서의 법적 대응 경로
DDoS 공격은 명백한 범죄입니다. 한국에서 적용 가능한 법령과 신고 경로는 다음과 같습니다.
- 정보통신망 이용촉진 및 정보보호 등에 관한 법률 제48조: 정당한 접근 권한 없이 정보통신망에 침입하거나 장애를 발생시킨 자는 7년 이하 징역 또는 7천만원 이하 벌금.
- 형법 제314조 업무방해죄: 컴퓨터 등 정보처리장치를 손괴·전자기록 등을 손괴하거나 허위 정보·부정한 명령을 입력해 정보처리에 장애를 발생시킨 자는 5년 이하 징역 또는 1,500만원 이하 벌금.
- 부터 임대 및 결제도 처벌 대상: 직접 공격하지 않고 대행 서비스를 결제·이용한 행위도 동일 법령으로 기소된 판례가 있습니다.
- 민사상 손해배상: 트래픽 과금, 매출 손실, 대응 비용 등을 가해자에게 청구할 수 있습니다.
신고 경로는 다음과 같습니다.
- 한국인터넷진흥원(KISA) 인터넷침해대응센터, 국번 없이 118: 24시간 운영, 사이버 긴급대피소 무료 지원, 트래픽 분석 지원.
- 경찰청 사이버수사대 또는 사이버범죄 신고시스템(ECRM): 형사 고발 절차 진행.
- 검찰 사이버범죄수사단: 대규모·조직적 공격 사건.
- 호스팅사·CDN 사업자의 보안팀: 추가 트래픽 로그 확보, 요금 감면 협상.
12. 산업별·규모별 권장 방어 구성
| 운영자 유형 | 최소 권장 구성 | 추가 권장 |
|---|---|---|
| 1인 블로그·개인 사이트 | Cloudflare 무료 + 호스팅 IP 화이트리스트 | Bot Fight Mode 활성화 |
| 자영업 홈페이지 | Cloudflare Pro + Nginx Rate Limit | KISA 118 사전 등록 |
| SaaS·이커머스 | Cloudflare Business + WAF + 원본 격리 | 모니터링 자동화, Spend Limit |
| 게임·실시간 서비스 | Cloudflare Spectrum 또는 Magic Transit | L4 전용 룰셋 |
| 금융·공공기관 | 다중 CDN + Scrubbing Center 계약 | RTBH 협약, 24시간 SOC |
| 글로벌 대기업 | Cloudflare Enterprise + Akamai Prolexic 이중화 | 자체 SOC, 위협 인텔리전스 |
13. 마무리
위에서 살펴본 DDoS·악성 트래픽 공격 방어의 핵심 내용을 정리하면 다음과 같습니다.
핵심 요약:
- DDoS는 L3·L4·L7과 증폭 공격으로 분류되며, 현대 공격은 여러 계층을 동시에 노리는 멀티 벡터 형태가 표준이다.
- 2025년 기준 단일 공격 최대 규모는 31.4Tbps, 연간 4,710만 건이 차단됐고, 공격은 더 짧고 강하게 진화 중이다.
- 한국 종량제 호스팅 환경에서는 다운보다 트래픽 청구서가 더 큰 위험이며, 며칠의 공격으로 수백만원대 청구서가 발생한다.
- 공격 동기는 경쟁자 보복·랜섬·해킹액티비즘·국가 배후·시선 분산·봇넷 시험까지 다양하므로, 모든 사이트가 잠재적 표적이다.
- 방어는 Edge(CDN/Anycast) + Origin Front(IP 격리) + Application(Rate Limit/WAF) + Network(Scrubbing/RTBH)의 다층 구조여야 한다.
- 1인 운영자는 Cloudflare 무료 플랜 + 호스팅 IP 화이트리스트만으로도 비용 대비 효과가 매우 크다.
- HTTP/2 Rapid Reset, Aisuru-Kimwolf 봇넷, AI 기반 자동화 공격 같은 신종 위협은 정기적인 패치와 모니터링 체계를 요구한다.
- 공격 진행 중에는 트래픽 차단 → CDN 이관 → KISA 118 신고 → 로그 보존 → 법적 절차 순서로 움직이는 것이 손실을 최소화한다.
- 랜섬 협박에는 결제하지 말 것. 추가 공격을 부르며, 한국에서는 정보통신망법·업무방해죄로 가해자 처벌이 가능하다.
- Spend Limit 사전 설정, 백업·DR 계획, 사후 보고서 작성은 모든 운영자가 갖춰야 할 기본 위기관리 항목이다.
신규 서비스를 시작하는 운영자라면 트래픽이 늘기 전에 Cloudflare 프록시·호스팅 방화벽 화이트리스트·Spend Limit을 먼저 구성해두는 것이 가장 비용 효율적인 보안 투자입니다. 이미 운영 중이라면 이번 주 안에 원본 IP 노출 경로와 트래픽 알림 임계치를 점검하는 것만으로도 위험의 절반 이상을 줄일 수 있습니다. 보안은 사고 후가 아니라 평소의 작은 설정 하나하나로 결정됩니다.