# 나는 내 서버를 보호하기 위해 ZIP 폭탄을 사용한다

> Clean Markdown view of GeekNews topic #20610. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=20610](https://news.hada.io/topic?id=20610)
- GeekNews Markdown: [https://news.hada.io/topic/20610.md](https://news.hada.io/topic/20610.md)
- Type: news
- Author: [baeba](https://news.hada.io/@baeba)
- Published: 2025-04-30T10:17:37+09:00
- Updated: 2025-04-30T10:17:37+09:00
- Original source: [idiallo.com](https://idiallo.com/blog/zipbomb-protection)
- Points: 36
- Comments: 30

## Summary

인터넷 트래픽의 상당 부분은 악의적인 봇에 의해 발생하며, 작성자는 이러한 봇으로 인해 서버에 피해를 입은 경험이 있습니다. 이를 방지하기 위해 **Zip Bomb**을 사용하여 악성 봇을 마비시키는 방법을 채택하였습니다. **Zip Bomb**은 작은 파일이지만 압축 해제 시 큰 용량으로 확장되어 서버를 멈추게 할 수 있습니다. 이 방법은 모든 봇에 대한 완벽한 방어책은 아니지만, 저급 봇에 대해서는 **효과적인 방어 수단**이 될 수 있습니다.

## Topic Body

#### **서론**  
  
- 인터넷 트래픽의 대부분은 봇이며, 이 중 일부는 악의적인 목적(스팸, 해킹 등)을 가진다.  
- 작성자는 과거에 봇으로 인해 워드프레스 서버가 감염되거나 구글 검색에서 제외되는 등 피해를 겪음.  
- 이를 방지하기 위해 **Zip Bomb**을 사용하기 시작함.  
  
---  
  
#### **본론**  
  
- **Zip Bomb이란?**  
  - 작지만 압축 해제 시 매우 큰 용량으로 확장되는 압축 파일.  
  - 1MB 압축 파일이 1GB로, 10MB는 10GB로 확장되어 서버를 마비시킴.  
  
- **기존의 gzip 기능**  
  - 웹에서는 전송 효율을 위해 gzip 압축을 사용함.  
  - 대부분의 봇도 gzip 압축을 지원함.  
  
- **Zip Bomb을 통한 대응 방식**  
  - 악성 봇으로 판단되면 `200 OK`와 함께 gzip 압축된 Zip Bomb 파일을 응답함.  
  - 이 파일을 열다가 봇이 서버에서 다운되거나 멈춤.  
  - 일반적으로 1MB(1GB 확장) 또는 10MB(10GB 확장)를 사용.  
  
- **Zip Bomb 생성 방법**  
  ```bash  
  dd if=/dev/zero bs=1G count=10 | gzip -c > 10GB.gz  
  ```  
  - `/dev/zero`로 10GB의 0 바이트 데이터를 생성한 후 gzip으로 압축.  
  - 결과물은 약 10MB 크기의 zip bomb.  
  
- **서버 적용 예시**  
  - 미들웨어에서 IP 블랙리스트 또는 악성 패턴을 감지하면 Zip Bomb 전송.  
  ```php  
  if (ipIsBlackListed() || isMalicious()) {  
      header("Content-Encoding: deflate, gzip");  
      header("Content-Length: "+ filesize(ZIP_BOMB_FILE_10G));  
      readfile(ZIP_BOMB_FILE_10G);  
      exit;  
  }  
  ```  
  
---  
  
#### **결론**  
  
- Zip Bomb은 **완벽한 방어책은 아님**.  
  - 정교한 봇은 이를 감지하고 우회할 수 있음.  
- 그러나 무차별 웹 크롤링을 하는 저급 봇에겐 **효과적인 방어 수단**.  
- 일부 서버 리소스를 사용하더라도 보안을 위해 충분한 가치가 있음.

## Comments



### Comment 38114

- Author: halfdogs
- Created: 2025-05-02T16:36:48+09:00
- Points: 3

스팸 트래픽을 발생시키는 봇을 효과적으로 차단하는 방식이 없다면 한번쯤 시도해볼 수 있는 방식이라고 생각합니다.

### Comment 38038

- Author: ng0301
- Created: 2025-04-30T18:57:33+09:00
- Points: 3

택배 털이범에게 글리터 폭탄을 주는 글 같아서 재밌게 읽었습니다 :)

### Comment 38166

- Author: roxie
- Created: 2025-05-04T18:59:43+09:00
- Points: 1
- Parent comment: 38038
- Depth: 1

그 영상 재밌죠. 그것과 똑같네요 ㅋㅋ

### Comment 38061

- Author: kandk
- Created: 2025-05-01T10:31:41+09:00
- Points: 3
- Parent comment: 38038
- Depth: 1

인터넷 글은 누가 소유한 택배가 아닙니다  
그럼 공개불가 소유물이면 인증절차를 넣었겠죠  
길거리에 전단지 하나 놓고 거기에 맹독 뭍여놓는 거랑 비슷하다고 봐도 될것 같네요

### Comment 38124

- Author: jeremykim
- Created: 2025-05-03T01:28:34+09:00
- Points: 3
- Parent comment: 38061
- Depth: 2

악의적인 목적으로 독을 바른 전단지 붙여놓는거랑 다른 개념이죠.

### Comment 38031

- Author: skrevolve
- Created: 2025-04-30T15:28:47+09:00
- Points: 1

윤리적으로 좋은 방식은 아니네요. 근본적인 해결책도 아니구요.

### Comment 38122

- Author: jisang
- Created: 2025-05-02T21:49:25+09:00
- Points: 2
- Parent comment: 38031
- Depth: 1

제가 이런 류는 처음이라서 그러한데 근본적인 해결책이 무엇인지 궁금합니다!!

### Comment 38071

- Author: [hidden]
- Created: 2025-05-01T19:56:50+09:00
- Points: 2
- Parent comment: 38031
- Depth: 1

[숨김 처리된 댓글입니다]

### Comment 38059

- Author: kandk
- Created: 2025-05-01T10:27:43+09:00
- Points: 2
- Parent comment: 38031
- Depth: 1

동의 합니다

### Comment 38054

- Author: cosine20
- Created: 2025-05-01T09:52:29+09:00
- Points: 3
- Parent comment: 38031
- Depth: 1

악성 봇은 뭐 윤리적인 방식인가? ㅋㅋ

### Comment 38060

- Author: kandk
- Created: 2025-05-01T10:29:37+09:00
- Points: 2
- Parent comment: 38054
- Depth: 2

진짜 악성봇은 이런 방식으로 잡을수 없어요  
gzip폭탄도 안통하고  
그냥 모르는 사람이 재미난 폭탄글 하나썼다라고 보시면되요.

### Comment 38040

- Author: salsa
- Created: 2025-04-30T19:36:39+09:00
- Points: 3
- Parent comment: 38031
- Depth: 1

이런 분들이 정당방위 인정 어렵게 만드시는 거구나 ㅎㅎ...

### Comment 38039

- Author: jk34011
- Created: 2025-04-30T19:32:37+09:00
- Points: 2
- Parent comment: 38031
- Depth: 1

윤리적으로 좋은 방식이 아닌 이유는 무엇인가요? 궁금합니다

### Comment 38030

- Author: roqkfwkdlqslek
- Created: 2025-04-30T15:23:16+09:00
- Points: 1

재밌는글이네요! 생각지못한 방법이라 알려주셔서 감사합니다!

### Comment 38015

- Author: crawler
- Created: 2025-04-30T12:59:06+09:00
- Points: 1

이런 글을 올리는 목적이 뭘까요?  
실제로 크롤러를 돌리는 기업들이 이 글을 읽고 제외까지 할 가능성은 거의 없다고 생각하는데 말입니다.  
그럼 이 글은 어떤 독자들을 대상으로 쓴 글일까요?  
같이 블로그를 운영하는 사람들에게 이런 방법이 있다고 알려주는 소개글,  
아니면 내 블로그 이렇게 보안 쎄니까 할 수 있으면 한번 크롤링 해보라는 어그로?  
글을 올려서 얻는 게 뭘지 정말 궁금해집니다

### Comment 38072

- Author: [hidden]
- Created: 2025-05-01T19:59:07+09:00
- Points: 3
- Parent comment: 38015
- Depth: 1

[숨김 처리된 댓글입니다]

### Comment 38102

- Author: crawler
- Created: 2025-05-02T13:00:11+09:00
- Points: -1
- Parent comment: 38072
- Depth: 2

똥, 배설 좋아하는 천박한 분이라 이해가 잘 안되시나 봐요 ㅠ

### Comment 38036

- Author: yeorinhieut
- Created: 2025-04-30T18:30:08+09:00
- Points: 3
- Parent comment: 38015
- Depth: 1

그냥 이러한 방법이 있다는것 아닐까요..

### Comment 38019

- Author: dooboo
- Created: 2025-04-30T13:59:59+09:00
- Points: 5
- Parent comment: 38015
- Depth: 1

개인 블로그인데 아무 글이나 쓰면 안 되나요? 🤔

### Comment 38021

- Author: crawler
- Created: 2025-04-30T14:06:48+09:00
- Points: 1
- Parent comment: 38019
- Depth: 2

물론 공적인 장소가 아니니까 그냥 별 생각 없이 올린 글일수도 있죠.  
커뮤니티에서 별 생각 없이 댓글을 달 수도 있듯이요  
저는 크롤러를 완전히 막을 수는 없으니 시도 자체를 안 받는 게 가장 좋을 텐데, 어그로를 끄는 의도가 궁금했습니다.

### Comment 38014

- Author: j2sus91
- Created: 2025-04-30T12:46:35+09:00
- Points: 2

그래서 ip로 봇 판단한 경우도 폭탄 날리겠다는건데요 ㅎㅎ  
작성자에게 분노가 느껴진다는.ㅎㅎ

### Comment 38011

- Author: kandk
- Created: 2025-04-30T12:14:56+09:00
- Points: 2

agent가 bot이라고 오는 요청에 폭탄을 선사하겠다는건데..  
너무 악의 적이네요. 어짜피 agent는 쉽게 숨길 수 있습니다. 진짜 악의적인 봇이면 악의를 드러내지 않습니다.

### Comment 38033

- Author: qyurila
- Created: 2025-04-30T15:48:48+09:00
- Points: 2
- Parent comment: 38011
- Depth: 1

최근 LLM 연계 서비스로부터의 과도한 트래픽으로 인한 피해 사례가 간간이 보이는데, 사실상 그런 유형을 위한 방편으로도 볼 수 있을 것 같습니다. 예를 들어 챗지피티의 웹 검색 기능 등을 보면 그 유저 풀 특성상 '악의적이지 않은' 과도한 트래픽 발생 여지가 다분한데, 이들은 간단한 에이전트 매칭으로 쉽게 걸러진다고 들었습니다. 이게 진짜 의도가 맞다면 애꿎은 OpenAI 서버비(와 평판?)만 축내는 길이지만요..

### Comment 38063

- Author: kandk
- Created: 2025-05-01T10:34:02+09:00
- Points: 2
- Parent comment: 38033
- Depth: 2

그래서 의미 없는 글이란거에요

### Comment 38052

- Author: galadbran
- Created: 2025-05-01T09:49:11+09:00
- Points: 2
- Parent comment: 38033
- Depth: 2

OpenAI는 이미 그정도의 예의(?)는 갖출 수 있는 큰 .. 회사이긴 하죠.  
그리고 아마도 사용자가 직접 검색 결과를 클릭하는 걸로는 부담스런 트래픽이 발생하긴 어려울 거라 생각되고, 크롤러가 너무 과도하게 동작하는 문제 아닐까요?

### Comment 38024

- Author: doolayer
- Created: 2025-04-30T14:27:07+09:00
- Points: 3
- Parent comment: 38011
- Depth: 1

말씀하신 User-Agent든 원글에서 언급된 IP 기반 탐지든, 식별 정보는 위장이 가능하기에 악성 여부를 단정하기 어렵다는 점에 동의합니다. 실제 악의적인 봇은 더 교묘하게 접근하겠지요.  
제 생각에는 이런 공격보다는, 차라리 부하 제한이 있는 크롤링 API를 제공해서 합법적인 자동화 접근은 허용하되 서버 자원은 보호하는 방향이 더 현실적인 '넛지'가 아닐까 싶습니다. ㅎㅎ

### Comment 38062

- Author: kandk
- Created: 2025-05-01T10:33:31+09:00
- Points: 1
- Parent comment: 38024
- Depth: 2

이미 우리가 오래전부터 합의한 bots.txt 라는게 있죠..

### Comment 38120

- Author: twiddlingguidable
- Created: 2025-05-02T20:19:39+09:00
- Points: 7

본 글과는 관련 없는 댓글인데, 즐겨보는 hada에 최근 악플 다는 사용자 몇몇이 눈에 띄게 증가한 거 같네요. 댓글이 없거나 몇 개 안 달리던 시절의 분위기랑 좀 많이 달라진 것 같습니다.  
  
개인적으로는 차단 기능이 있던지, 다수의 신고를 받아서 댓글을 회색처리하는 기능이 있으면 어떨까 합니다.

### Comment 38164

- Author: roxie
- Created: 2025-05-04T18:58:55+09:00
- Points: 1
- Parent comment: 38120
- Depth: 1

추천을 많이 받은 유저들은 그런 기능을 부여받는 것으로 추정됩니다

### Comment 38135

- Author: chcv0313
- Created: 2025-05-03T12:35:13+09:00
- Points: 1
- Parent comment: 38120
- Depth: 1

2222222222222222
