
🛡️ 오픈소스 및 클라우드 네이티브 웹 애플리케이션 방화벽 (WAF)
<p align="center">
<img alt="BunkerWeb logo" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/misc/logo.png" height=100 width=350 />
</p>
<p align="center">
<img src="https://img.shields.io/github/v/release/bunkerity/bunkerweb?label=stable" />
<img src="https://img.shields.io/github/v/release/bunkerity/bunkerweb?include_prereleases&label=latest" />
<br />
<img src="https://img.shields.io/github/last-commit/bunkerity/bunkerweb" />
<img src="https://img.shields.io/github/issues/bunkerity/bunkerweb">
<img src="https://img.shields.io/github/issues-pr/bunkerity/bunkerweb">
<br />
<img src="https://img.shields.io/github/actions/workflow/status/bunkerity/bunkerweb/dev.yml?branch=dev&label=CI/CD%20dev" />
<img src="https://img.shields.io/github/actions/workflow/status/bunkerity/bunkerweb/staging.yml?branch=staging&label=CI/CD%20staging" />
<a href="https://github.com/bunkerity/bunkerweb/actions/workflows/release.yml"><img src="https://img.shields.io/github/actions/workflow/status/bunkerity/bunkerweb/release.yml?label=CI/CD%20release" alt="Release workflow status" /></a>
<br />
<a href="https://www.bestpractices.dev/projects/8001">
<img src="https://www.bestpractices.dev/projects/8001/badge">
</a>
<a href="https://gitrated.com/bunkerity/bunkerweb"><img src="https://gitrated.com/bunkerity/bunkerweb/badge" alt="GitRated rating" /></a>
<a href="https://score.getplumber.io/github.com/bunkerity/bunkerweb"><img src="https://score.getplumber.io/github.com/bunkerity/bunkerweb.svg" alt="Plumber CI/CD security score" /></a>
<br />
<a href="https://www.star-history.com/bunkerity/bunkerweb">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/badge?repo=bunkerity/bunkerweb&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/badge?repo=bunkerity/bunkerweb" />
<img alt="Star History Rank" src="https://api.star-history.com/badge?repo=bunkerity/bunkerweb" width=140 />
</picture>
</a>
</p>
<p align="center">
🌐 <a href="https://www.bunkerweb.io/?utm_campaign=self&utm_source=github">웹사이트</a>
|
🤝 <a href="https://panel.bunkerweb.io/?utm_campaign=self&utm_source=github">패널</a>
|
📓 <a href="https://docs.bunkerweb.io/?utm_campaign=self&utm_source=github">문서</a>
|
👨💻 <a href="https://demo.bunkerweb.io/?utm_campaign=self&utm_source=github">데모</a>
|
📱 <a href="https://demo-ui.bunkerweb.io/?utm_campaign=self&utm_source=github">데모 UI</a>
|
🧩 <a href="https://github.com/bunkerity/bunkerweb-templates">템플릿</a>
|
🛡️ <a href="https://github.com/bunkerity/bunkerweb/raw/v1.6.15/examples">예제</a>
<br/>
💬 <a href="https://discord.com/invite/fTf46FmtyD">채팅</a>
|
📝 <a href="https://github.com/bunkerity/bunkerweb/discussions">포럼</a>
|
📝 <a href="https://community.bunkerweb.io/?utm_campaign=self&utm_source=github">커뮤니티</a>
|
🗺️ <a href="https://www.bunkerweb.io/threatmap/?utm_campaign=self&utm_source=github">위협 지도</a>
|
📊 <a href="https://status.bunkerweb.io/?utm_campaign=self&utm_source=github">상태</a>
|
🔎 <a href="https://forms.gle/e3VgymAteYPnwM1j9">피드백</a>
</p>
> 🛡️ 기본 보안을 다시 위대하게!
# BunkerWeb
<p align="center">
<img alt="Overview banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/intro-overview.svg" />
</p>
BunkerWeb은 차세대 오픈소스 웹 애플리케이션 방화벽(WAF)입니다.
내부적으로 [NGINX](https://nginx.org/)를 기반으로 하는 완전한 기능의 웹 서버로서, 웹 서비스를 "기본적으로 안전하게" 보호합니다. BunkerWeb은 기존 환경([Linux](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#linux), [Docker](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#docker), [Swarm](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#swarm), [Kubernetes](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#kubernetes) 등)에 리버스 프록시로 원활하게 통합되며, 사용 사례에 맞게 완전히 구성할 수 있습니다(걱정 마세요, CLI가 마음에 들지 않는다면 [멋진 웹 UI](https://docs.bunkerweb.io/1.6.15/web-ui/?utm_campaign=self&utm_source=github)가 있습니다). 다시 말해, 사이버 보안은 더 이상 번거로운 일이 아닙니다.
BunkerWeb은 핵심의 일부로 주요 [보안 기능](https://docs.bunkerweb.io/1.6.15/advanced/?utm_campaign=self&utm_source=github#security-tuning)을 포함하고 있지만, [플러그인 시스템](https://docs.bunkerweb.io/1.6.15/plugins/?utm_campaign=self&utm_source=github)을 통해 추가 기능으로 쉽게 확장할 수 있습니다.
## BunkerWeb을 선택하는 이유
https://github.com/user-attachments/assets/c3fed740-28d8-4335-ab05-113a9e815b4f
- **기존 환경에 손쉬운 통합**: Linux, Docker, Swarm, Kubernetes 등 다양한 환경에 BunkerWeb을 원활하게 통합하세요. 매끄러운 전환과 번거로움 없는 구현을 누리세요.
- **높은 사용자 정의 가능성**: BunkerWeb을 특정 요구 사항에 맞게 손쉽게 조정하세요. 기능을 간편하게 활성화, 비활성화 및 구성하여 고유한 사용 사례에 맞게 보안 설정을 사용자 정의할 수 있습니다.
- **기본적으로 안전**: BunkerWeb은 웹 서비스에 대해 즉시 사용 가능한, 번거로움 없는 최소한의 보안을 제공합니다. 처음부터 향상된 보호와 마음의 평화를 경험하세요.
- **멋진 웹 UI**: 뛰어난 웹 사용자 인터페이스(UI)를 통해 BunkerWeb을 더 효율적으로 제어하세요. 사용자 친화적인 그래픽 인터페이스를 통해 설정과 구성을 손쉽게 탐색하여 명령줄 인터페이스(CLI)가 필요 없습니다.
- **플러그인 시스템**: 자신의 사용 사례에 맞게 BunkerWeb의 기능을 확장하세요. 추가 보안 조치를 원활하게 통합하고 특정 요구 사항에 따라 BunkerWeb의 기능을 사용자 정의하세요.
- **자유로서의 무료**: BunkerWeb은 자유 [AGPLv3 라이선스](https://www.gnu.org/licenses/agpl-3.0.en.html)에 따라 라이선스가 부여되어 자유와 개방성의 원칙을 따릅니다. 지원 커뮤니티의 뒷받침을 받으며 소프트웨어를 사용, 수정 및 배포할 자유를 누리세요.
- **전문 서비스**: BunkerWeb 유지관리자로부터 직접 기술 지원, 맞춤형 컨설팅 및 사용자 정의 개발을 받으세요. 자세한 내용은 [Bunker Panel](https://panel.bunkerweb.io/?utm_campaign=self&utm_source=github)을 방문하세요.
## 보안 기능
보안 기능의 비완전한 목록:
- 투명한 **Let's Encrypt** 자동화를 통한 **HTTPS** 지원
- **최신 웹 보안**: HTTP 보안 헤더, 정보 유출 방지, TLS 강화 등
- **OWASP Core Rule Set**이 포함된 통합 **ModSecurity WAF**
- HTTP 상태 코드를 기반으로 한 이상 행동의 **자동 차단**
- 클라이언트에 대한 **연결 및 요청 제한** 적용
- **챌린지**(예: 쿠키, JavaScript, captcha, hCaptcha 또는 reCAPTCHA)를 해결하도록 요청하여 **봇 차단**
- 외부 블랙리스트 및 DNSBL을 통한 **알려진 악성 IP 차단**
- 그리고 훨씬 더 많은 기능...
핵심 보안 기능에 대한 자세한 내용은 문서의 [보안 튜닝](https://docs.bunkerweb.io/1.6.15/advanced/?utm_campaign=self&utm_source=github#security-tuning) 섹션에서 확인하세요.
## 데모
https://github.com/user-attachments/assets/6fc0e3c1-d353-4a84-bad0-15bf9b6623a5
BunkerWeb으로 보호되는 데모 웹사이트는 [demo.bunkerweb.io](https://demo.bunkerweb.io/?utm_campaign=self&utm_source=github)에서 이용할 수 있습니다. 방문하여 몇 가지 보안 테스트를 수행해 보세요.
## 웹 UI
https://github.com/user-attachments/assets/a3ed56f8-c124-4ca9-b8b3-4be0913b3078
BunkerWeb은 인스턴스와 해당 구성을 관리하기 위한 선택적 [사용자 인터페이스](https://github.com/bunkerity/bunkerweb/blob/master/web-ui.md)를 제공합니다. 온라인 읽기 전용 데모는 [demo-ui.bunkerweb.io](https://demo-ui.bunkerweb.io/?utm_campaign=self&utm_source=doc)에서 이용할 수 있으니 직접 테스트해 보세요.
## BunkerWeb Cloud
자체 BunkerWeb 인스턴스를 직접 호스팅하고 관리하고 싶지 않으신가요? BunkerWeb을 위한 완전 관리형 SaaS 제공 서비스인 BunkerWeb Cloud에 관심이 있으실 수 있습니다.
[BunkerWeb Cloud 인스턴스](https://panel.bunkerweb.io/store/bunkerweb-cloud?utm_campaign=self&utm_source=doc)를 주문하고 다음을 이용하세요:
- 당사 클라우드에 호스팅되는 완전 관리형 BunkerWeb 인스턴스
- PRO 기능을 포함한 모든 BunkerWeb 기능
- 대시보드와 알림이 있는 모니터링 플랫폼
- 구성을 지원하는 기술 지원
BunkerWeb Cloud 제공 서비스에 관심이 있으시다면, 필요 사항을 논의할 수 있도록 주저하지 말고 [문의해 주세요](https://panel.bunkerweb.io/contact.php?utm_campaign=self&utm_source=doc).
## PRO 버전
[BunkerWeb 패널](https://panel.bunkerweb.io/store/bunkerweb-pro?utm_campaign=self&utm_source=doc)에서 30일 BunkerWeb PRO 무료 체험을 시작하세요.
BunkerWeb을 사용할 때 오픈소스 또는 PRO 중 원하는 버전을 선택할 수 있습니다.
향상된 보안, 풍부해진 사용자 경험 또는 기술 모니터링 등, BunkerWeb PRO 버전을 통해 BunkerWeb을 최대한 활용하고 전문적인 요구 사항을 충족할 수 있습니다.
문서나 사용자 인터페이스에서 PRO 기능은 오픈소스 버전에 통합된 기능과 구분하기 위해 왕관 <img src="https://docs.bunkerweb.io/1.6.15/assets/img/pro-icon.svg" alt="crown pro icon" height="32px" width="32px"> 으로 표시됩니다.
오픈소스 버전에서 PRO 버전으로 언제든지 쉽게 업그레이드할 수 있습니다. 과정은 간단합니다:
- [30일 BunkerWeb PRO 무료 체험](https://panel.bunkerweb.io/store/bunkerweb-pro?utm_campaign=self&utm_source=doc) 시작
- 고객 영역에 연결한 후 PRO 라이선스 키 복사
- [웹 UI](https://docs.bunkerweb.io/1.6.15/web-ui/#upgrade-to-pro) 또는 [특정 설정](https://docs.bunkerweb.io/1.6.15/features/#pro)을 사용하여 BunkerWeb에 라이선스 키 붙여넣기
PRO 버전에 대해 궁금한 점이 있으시면 주저하지 말고 [BunkerWeb 패널](https://panel.bunkerweb.io/knowledgebase?utm_campaign=self&utm_source=doc)을 방문하거나 [문의해 주세요](https://panel.bunkerweb.io/contact.php?utm_campaign=self&utm_source=doc).
## 전문 서비스
프로젝트 유지관리자로부터 직접 전문 서비스를 받아 BunkerWeb을 최대한 활용하세요. 기술 지원부터 맞춤형 컨설팅 및 개발까지, 웹 서비스 보안을 지원하기 위해 여기 있습니다.
전문 서비스를 위한 전용 플랫폼인 [BunkerWeb Panel](https://panel.bunkerweb.io/?utm_campaign=self&utm_source=doc)을 방문하면 더 많은 정보를 찾을 수 있습니다.
궁금한 점이 있으시면 주저하지 말고 [문의해 주세요](https://panel.bunkerweb.io/contact.php?utm_campaign=self&utm_source=doc). 기꺼이 귀하의 요구에 응답해 드리겠습니다.
## 생태계, 커뮤니티 및 리소스
BunkerWeb에 관한 공식 웹사이트, 도구 및 리소스:
- [**웹사이트**](https://www.bunkerweb.io/?utm_campaign=self&utm_source=doc): BunkerWeb에 관한 더 많은 정보, 뉴스 및 기사 확인
- [**패널**](https://panel.bunkerweb.io/?utm_campaign=self&utm_source=doc): BunkerWeb 관련 전문 서비스(예: 기술 지원)를 주문하고 관리하는 전용 플랫폼
- [**문서**](https://docs.bunkerweb.io): BunkerWeb 솔루션의 기술 문서
- [**데모**](https://demo.bunkerweb.io/?utm_campaign=self&utm_source=doc): BunkerWeb의 데모 웹사이트, 솔루션의 견고함을 테스트하기 위해 공격을 시도해 보세요
- [**웹 UI**](https://demo-ui.bunkerweb.io/?utm_campaign=self&utm_source=doc): BunkerWeb 웹 UI의 온라인 읽기 전용 데모
- [**위협 지도**](https://www.bunkerweb.io/threatmap/?utm_campaign=self&utm_source=doc): 전 세계 BunkerWeb 인스턴스에 의해 차단된 실시간 사이버 공격
커뮤니티 및 소셜 네트워크:
- [**Discord**](https://discord.com/invite/fTf46FmtyD)
- [**LinkedIn**](https://www.linkedin.com/company/bunkerity/)
- [**Twitter**](https://twitter.com/bunkerity)
- [**Reddit**](https://www.reddit.com/r/BunkerWeb/)
# 개념
<p align="center">
<img alt="Concepts banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/concepts.svg" />
</p>
BunkerWeb의 핵심 개념에 대한 자세한 내용은 [문서](https://docs.bunkerweb.io/1.6.15/concepts/?utm_campaign=self&utm_source=github)에서 확인할 수 있습니다.
## 통합
첫 번째 개념은 BunkerWeb을 대상 환경에 통합하는 것입니다. BunkerWeb의 목표 중 하나가 기존 환경에 원활하게 통합되는 것이기 때문에 "설치" 대신 "통합"이라는 단어를 사용하는 것을 선호합니다.
다음 통합이 공식적으로 지원됩니다:
- [Docker](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#docker)
- [Linux](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#linux)
- [Docker autoconf](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#docker-autoconf)
- [Kubernetes](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#kubernetes)
- [Swarm](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#swarm)
- [Microsoft Azure](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#microsoft-azure)
## 설정
BunkerWeb이 환경에 통합되면 웹 애플리케이션을 제공하고 보호하도록 구성해야 합니다.
BunkerWeb의 구성은 "설정" 또는 "변수"라고 부르는 것을 사용하여 수행됩니다. 각 설정은 `AUTO_LETS_ENCRYPT` 또는 `USE_ANTIBOT`과 같은 이름으로 식별됩니다. 설정에 값을 할당하여 BunkerWeb을 구성할 수 있습니다.
다음은 BunkerWeb 구성의 더미 예제입니다:```conf
SERVER_NAME=www.example.com
AUTO_LETS_ENCRYPT=yes
USE_ANTIBOT=captcha
REFERRER_POLICY=no-referrer
USE_MODSECURITY=no
USE_GZIP=yes
USE_BROTLI=no
```
## 멀티사이트 모드
멀티사이트 모드는 BunkerWeb을 사용할 때 이해해야 할 중요한 개념입니다. 목표는 웹 애플리케이션을 보호하는 것이므로, 우리는 본질적으로 "가상 호스트" 또는 "vhost" 개념을 계승하게 됩니다([자세한 정보](https://en.wikipedia.org/wiki/Virtual_hosting)). 이를 통해 단일 인스턴스(또는 인스턴스 클러스터)에서 여러 웹 애플리케이션을 제공할 수 있습니다.
기본적으로 BunkerWeb의 멀티사이트 모드는 비활성화되어 있으며, 이는 하나의 웹 애플리케이션만 제공되고 모든 설정이 해당 애플리케이션에 적용된다는 것을 의미합니다. 일반적인 사용 사례는 보호할 애플리케이션이 하나뿐인 경우입니다. 이 경우 멀티사이트를 걱정할 필요가 없으며 기본 동작이 적합합니다.
멀티사이트 모드가 활성화되면 BunkerWeb은 여러 웹 애플리케이션을 제공하고 보호합니다. 각 웹 애플리케이션은 고유한 서버 이름으로 식별되며 자체 설정 집합을 가집니다. 일반적인 사용 사례는 보호할 애플리케이션이 여러 개이고 단일(또는 통합 방식에 따라 클러스터) BunkerWeb 인스턴스를 사용하려는 경우입니다.
## 사용자 정의 구성
설정만으로 모든 사용 사례를 충족하는 것은 불가능하므로([외부 플러그인](https://docs.bunkerweb.io/1.6.15/plugins/?utm_campaign=self&utm_source=github)을 사용하더라도), 특정 문제를 해결하기 위해 사용자 정의 구성을 사용할 수 있습니다.
내부적으로 BunkerWeb은 잘 알려진 NGINX 웹 서버를 사용하므로, 특정 요구 사항에 맞게 NGINX의 구성 시스템을 활용할 수 있습니다. 사용자 정의 NGINX 구성은 HTTP 또는 서버(모든 서버 및/또는 특정 서버 블록)와 같은 다양한 [컨텍스트](https://docs.nginx.com/nginx/admin-guide/basic-functionality/managing-configuration-files/#contexts)에 포함될 수 있습니다.
BunkerWeb의 또 다른 핵심 구성 요소는 ModSecurity 웹 애플리케이션 방화벽입니다. 이를 사용하여 일부 오탐을 수정하거나 사용자 정의 규칙을 추가할 수도 있습니다.
## 데이터베이스
<p align="center">
<img alt="Database model" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/bunkerweb_db.svg" />
</p>
BunkerWeb의 현재 구성 상태는 다음 데이터를 포함하는 백엔드 데이터베이스에 저장됩니다:
- 모든 서비스에 대해 정의된 설정
- 사용자 정의 구성
- BunkerWeb 인스턴스
- 작업 실행에 대한 메타데이터
- 캐시된 파일
다음 백엔드 데이터베이스가 지원됩니다: SQLite, MariaDB, MySQL, PostgreSQL.
## 스케줄러
모든 것이 자동으로 함께 작동하도록 하기 위해, 스케줄러라는 전용 서비스가 다음을 담당합니다:
- 데이터베이스 내부에 설정 및 사용자 정의 구성 저장
- 다양한 작업(잡(job)이라고 함) 실행
- BunkerWeb이 이해하는 구성 생성
- 다른 서비스(예: 웹 UI 또는 autoconf)를 위한 중개자 역할
즉, 스케줄러는 BunkerWeb의 두뇌입니다.
# 설정
소스에서 컨테이너 이미지나 Linux 패키지를 빌드하시나요? [커뮤니티 빌드 가이드](https://github.com/bunkerity/bunkerweb/blob/master/docs/building.md)를 참조하세요.
<!--## BunkerWeb Cloud
<p align="center">
<img alt="Docker banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/bunkerweb-cloud.webp" />
</p>
BunkerWeb Cloud는 BunkerWeb을 시작하는 가장 쉬운 방법입니다. 번거로움 없이 완전 관리형 BunkerWeb 서비스를 제공합니다. BunkerWeb-as-a-Service라고 생각하시면 됩니다!
BunkerWeb Cloud 베타에 대한 자세한 정보는 [여기](https://www.bunkerweb.io/saas-offer-cloud/?utm_campaign=self&utm_source=docs)에서 확인할 수 있으며, [BunkerWeb 패널](https://panel.bunkerweb.io/store/bunkerweb-cloud?utm_campaign=self&utm_source=docs)에서 무료로 신청할 수 있습니다.
-->
## Linux
<p align="center">
<img alt="Linux banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/integration-linux.svg" />
</p>
지원되는 Linux 배포판 목록:
- Debian 12 "Bookworm"
- Debian 13 "Trixie"
- Ubuntu 22.04 "Jammy"
- Ubuntu 24.04 "Noble"
- Ubuntu 26.04 "Resolute Raccoon"
- Fedora 43
- Fedora 44
- RHEL, CentOS, Rocky Linux 및 AlmaLinux 8, 9, 10
자세한 정보는 문서의 [Linux 섹션](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#linux)에서 확인할 수 있습니다.
## Docker
<p align="center">
<img alt="Docker banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/integration-docker.svg" />
</p>
[Docker Hub](https://hub.docker.com/u/bunkerity)에서 x64, x86, armv7, arm64 플랫폼용으로 바로 사용할 수 있는 사전 빌드된 이미지를 제공합니다.
Docker 통합의 핵심 개념은 다음과 같습니다:
- BunkerWeb을 구성하기 위한 **환경 변수**
- 구성을 저장하고 작업을 실행하기 위한 **스케줄러** 컨테이너
- 클라이언트용 포트를 노출하고 업스트림 웹 서비스에 연결하기 위한 **네트워크**
자세한 정보는 문서의 [Docker 통합 섹션](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#docker)에서 확인할 수 있습니다.
## Docker autoconf
<p align="center">
<img alt="Docker autoconf banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/integration-autoconf.svg" />
</p>
환경 변수를 사용할 때의 단점은 업데이트가 있을 때마다 컨테이너를 다시 생성해야 한다는 것이며, 이는 그다지 편리하지 않습니다. 이 문제를 해결하기 위해 **autoconf**라는 또 다른 이미지를 사용할 수 있습니다. 이 이미지는 Docker 이벤트를 수신하고 컨테이너를 다시 생성하지 않고 실시간으로 BunkerWeb을 자동으로 재구성합니다.
BunkerWeb 컨테이너에 환경 변수를 정의하는 대신, 웹 애플리케이션 컨테이너에 **레이블**을 추가하기만 하면 **autoconf**가 나머지를 "자동으로" 처리합니다.
자세한 정보는 문서의 [Docker autoconf 섹션](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#docker-autoconf)에서 확인할 수 있습니다.
## Kubernetes
<p align="center">
<img alt="Kubernetes banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/integration-kubernetes.svg" />
</p>
autoconf는 [Ingress 컨트롤러](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/) 역할을 하며 [Ingress 리소스](https://kubernetes.io/docs/concepts/services-networking/ingress/)에 따라 BunkerWeb 인스턴스를 구성합니다. 또한 사용자 정의 구성을 위해 [ConfigMap](https://kubernetes.io/docs/concepts/configuration/configmap/)과 같은 다른 Kubernetes 객체도 모니터링합니다.
BunkerWeb의 공식 [Helm 차트](https://helm.sh/)는 [bunkerity/bunkerweb-helm 저장소](https://github.com/bunkerity/bunkerweb-helm)에서 사용할 수 있습니다.
자세한 정보는 문서의 [Kubernetes 섹션](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#kubernetes)에서 확인할 수 있습니다.
## Microsoft Azure
<p align="center">
<img alt="Azure banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/integration-azure.webp" />
</p>
BunkerWeb은 [Azure Marketplace](https://azuremarketplace.microsoft.com/fr-fr/marketplace/apps/bunkerity.bunkerweb?tab=Overview)에 등록되어 있으며, ARM 템플릿은 [misc 폴더](https://github.com/bunkerity/bunkerweb/raw/v1.6.15/misc/integrations/azure-arm-template.json)에서 사용할 수 있습니다.
자세한 정보는 문서의 [Microsoft Azure 섹션](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#microsoft-azure)에서 확인할 수 있습니다.
## Swarm
<p align="center">
<img alt="Swarm banner" src="https://raw.githubusercontent.com/bunkerity/bunkerweb/v1.6.15/docs/assets/img/integration-swarm.svg" />
</p>
BunkerWeb 인스턴스를 자동으로 구성하기 위해 **autoconf**라는 특별한 서비스가 서비스 생성 또는 삭제와 같은 Docker Swarm 이벤트를 수신하고 다운타임 없이 실시간으로 **BunkerWeb 인스턴스**를 자동으로 구성합니다.
[Docker autoconf 통합](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#docker-autoconf)과 마찬가지로, 웹 서비스에 대한 구성은 특별한 **bunkerweb.** 접두사로 시작하는 레이블을 사용하여 정의됩니다.
자세한 정보는 문서의 [Swarm 섹션](https://docs.bunkerweb.io/1.6.15/integrations/?utm_campaign=self&utm_source=github#swarm)에서 확인할 수 있습니다.
# 빠른 시작 가이드
원하는 통합 방식으로 BunkerWeb을 설정한 후에는 웹 서비스를 보호하기 위한 설치 및 첫 번째 구성을 다루는 [빠른 시작 가이드](https://docs.bunkerweb.io/1.6.15/quickstart-guide/?utm_campaign=self&utm_source=github)를 따를 수 있습니다.
# 보안 튜닝
BunkerWeb은 [기능](https://docs.bunkerweb.io/1.6.15/features/?utm_campaign=self&utm_source=github)으로 구성할 수 있는 다양한 보안 기능을 제공합니다. 설정의 기본값이 최소한의 "기본 보안"을 보장하더라도, 설정을 튜닝할 것을 강력히 권장합니다. 그렇게 하면 원하는 수준의 보안을 보장할 수 있을 뿐만 아니라 오탐도 관리할 수 있습니다.
자세한 정보는 문서의 [보안 튜닝 섹션](https://docs.bunkerweb.io/1.6.15/advanced/?utm_campaign=self&utm_source=github#security-tuning)에서 확인할 수 있습니다.
# 설정
일반적으로 멀티사이트 모드가 활성화된 경우, 멀티사이트 컨텍스트의 설정을 특정 서버에 적용하려면 `www.example.com_USE_ANTIBOT=captcha` 또는 `myapp.example.com_USE_GZIP=yes`와 같이 기본(첫 번째) 서버 이름을 접두사로 추가해야 합니다.
설정이 "다중"으로 간주되는 경우, `REVERSE_PROXY_URL_1=/subdir`, `REVERSE_PROXY_HOST_1=http://myhost1`, `REVERSE_PROXY_URL_2=/anotherdir`, `REVERSE_PROXY_HOST_2=http://myhost2`와 같이 숫자를 접미사로 추가하여 동일한 기능에 대해 여러 설정 그룹을 가질 수 있습니다.
전체 목록은 문서의 [기능 섹션](https://docs.bunkerweb.io/1.6.15/features/?utm_campaign=self&utm_source=github)에서 확인하세요.
# 웹 UI
https://github.com/user-attachments/assets/a3ed56f8-c124-4ca9-b8b3-4be0913b3078
"웹 UI"는 명령줄 인터페이스 대신 사용자 친화적인 인터페이스를 사용하여 BunkerWeb 인스턴스를 관리할 수 있도록 도와주는 웹 애플리케이션입니다.
웹 UI에서 제공하는 기능 목록은 다음과 같습니다:
- 차단된 공격에 대한 포괄적인 보기
- BunkerWeb 인스턴스 시작, 중지, 재시작 및 다시 로드
- 웹 애플리케이션에 대한 설정 추가, 편집 및 삭제
- NGINX 및 ModSecurity에 대한 사용자 정의 구성 추가, 편집 및 삭제
- 외부 플러그인 설치 및 제거
- 캐시된 파일 탐색
- 작업 실행 모니터링 및 필요 시 재시작
- 로그 보기 및 패턴 검색
자세한 정보는 문서의 [웹 UI 섹션](https://docs.bunkerweb.io/1.6.15/web-ui/?utm_campaign=self&utm_source=github)에서 확인할 수 있습니다.
# 플러그인
BunkerWeb은 새로운 기능을 쉽게 추가할 수 있도록 플러그인 시스템을 제공합니다. 플러그인이 설치되면 플러그인에서 정의한 추가 설정을 사용하여 관리할 수 있습니다.
다음은 우리가 유지 관리하는 "공식" 플러그인 목록입니다(자세한 정보는 [bunkerweb-plugins](https://github.com/bunkerity/bunkerweb-plugins/?utm_campaign=self&utm_source=github) 저장소 참조):
| 이름 | 버전 | 설명 | 링크 |
| :------------: | :-----: | :------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------: |
| **ClamAV** | 1.9 | ClamAV 안티바이러스 엔진으로 업로드된 파일을 자동으로 검사하고 파일이 악성으로 감지되면 요청을 거부합니다. | [bunkerweb-plugins/clamav](https://github.com/bunkerity/bunkerweb-plugins/tree/main/clamav) |
| **Coraza** | 1.9 | Coraza WAF(ModSecurity의 대안)를 사용하여 요청을 검사합니다. | [bunkerweb-plugins/coraza](https://github.com/bunkerity/bunkerweb-plugins/tree/main/coraza) |
| **Discord** | 1.9 | Webhook을 사용하여 Discord 채널로 보안 알림을 보냅니다. | [bunkerweb-plugins/discord](https://github.com/bunkerity/bunkerweb-plugins/tree/main/discord) |
| **Slack** | 1.9 | Webhook을 사용하여 Slack 채널로 보안 알림을 보냅니다. | [bunkerweb-plugins/slack](https://github.com/bunkerity/bunkerweb-plugins/tree/main/slack) |
| **VirusTotal** | 1.9 | VirusTotal API로 업로드된 파일을 자동으로 검사하고 파일이 악성으로 감지되면 요청을 거부합니다. | [bunkerweb-plugins/virustotal](https://github.com/bunkerity/bunkerweb-plugins/tree/main/virustotal) |
| **WebHook** | 1.9 | Webhook을 사용하여 사용자 정의 HTTP 엔드포인트로 보안 알림을 보냅니다. | [bunkerweb-plugins/webhook](https://github.com/bunkerity/bunkerweb-plugins/tree/main/webhook) |
자세한 정보는 문서의 [플러그인 섹션](https://docs.bunkerweb.io/1.6.15/plugins/?utm_campaign=self&utm_source=github)에서 확인할 수 있습니다.
# 언어 지원 및 현지화
BunkerWeb UI는 여러 언어를 지원합니다. 번역은 `src/ui/app/static/locales` 디렉터리에서 관리됩니다. 현재 다음 언어를 사용할 수 있습니다:
- 아랍어 (ar)
- 벵골어 (bn)
- 브라질 포르투갈어 (br)
- 독일어 (de)
- 영어 (en)
- 스페인어 (es)
- 프랑스어 (fr)
- 힌디어 (hi)
- 이탈리아어 (it)
- 한국어 (ko)
- 폴란드어 (pl)
- 포르투갈어 (pt)
- 러시아어 (ru)
- 터키어 (tr)
- 번체 중국어 (tw)
- 우르두어 (ur)
- 간체 중국어 (zh)
번역 출처 및 검토 상태에 대한 자세한 내용은 [locales/README.md](https://github.com/bunkerity/bunkerweb/raw/v1.6.15/src/ui/app/static/locales/README.md)를 참조하세요.
## 번역 기여
기존 로케일 파일을 개선하거나 새로운 로케일 파일을 추가하는 기여를 환영합니다!
**번역을 기여하는 방법:**
1. `src/ui/app/lang_config.py` 파일을 편집하여 언어(코드, 이름, 국기, english_name)를 추가합니다.
2. `en.json`을 템플릿으로 `src/ui/app/static/locales/`에 복사하고, 언어 코드(예: 독일어의 경우 `de.json`)로 이름을 바꿉니다.
3. 새 파일의 값을 번역합니다.
4. `locales/README.md`의 표를 업데이트하여 언어를 추가하고 누가 만들었는지/검토했는지 표시합니다.
5. 풀 리퀘스트를 제출합니다.
업데이트의 경우, 관련 파일을 편집하고 필요에 따라 출처 표를 업데이트하세요.
전체 가이드라인은 [locales/README.md](https://github.com/bunkerity/bunkerweb/raw/v1.6.15/src/ui/app/static/locales/README.md)를 참조하세요.
# 지원
## 전문 지원
BunkerWeb 유지 관리자로부터 직접 기술 지원을 받으세요. 전문 서비스를 위한 전용 플랫폼인 [BunkerWeb 패널](https://panel.bunkerweb.io/?utm_campaign=self&utm_source=github)을 방문하면 자세한 정보를 확인할 수 있습니다.
질문이 있으시면 주저하지 말고 [문의해 주세요](https://panel.bunkerweb.io/contact.php?utm_campaign=self&utm_source=github). 귀하의 요구에 기꺼이 응답해 드리겠습니다.
## 커뮤니티
무료 커뮤니티 지원을 받으려면 다음 매체를 사용할 수 있습니다:
- [Discord 서버](https://discord.com/invite/fTf46FmtyD)의 BunkerWeb #help 채널
- [GitHub discussions](https://github.com/bunkerity/bunkerweb/discussions)의 help 카테고리
- [/r/BunkerWeb](https://www.reddit.com/r/BunkerWeb) 서브레딧
- [Server Fault](https://serverfault.com/) 및 [Super User](https://superuser.com/) 포럼
도움을 요청하기 위해 [GitHub issues](https://github.com/bunkerity/bunkerweb/issues)를 사용하지 마세요. 버그 보고 및 기능 요청에만 사용하세요.
# 라이선스
이 프로젝트는 [GNU Affero General Public License (AGPL) 버전 3](https://github.com/bunkerity/bunkerweb/raw/v1.6.15/LICENSE.md)의 조건에 따라 라이선스가 부여됩니다.
# 기여
플러그인에 기여하고 싶으시다면, 시작하기 위해 [기여 가이드라인](https://github.com/bunkerity/bunkerweb/blob/master/.github/CONTRIBUTING.md)을 읽어보세요.
# 보안 정책
우리는 보안 버그를 심각한 문제로 취급하며 책임 있는 공개를 권장합니다. 자세한 정보는 [보안 정책](https://github.com/bunkerity/bunkerweb/blob/master/.github/SECURITY.md)을 참조하세요.
<!-- Star History chart hidden: GitHub restricted the stargazers API, so the chart renders an error
notice instead of data. Uncomment once upstream serves real charts again.
# Star History
<a href="https://star-history.com/#bunkerity/bunkerweb&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=bunkerity/bunkerweb&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=bunkerity/bunkerweb&type=Date" />
Star History Chart
</picture>
</a>
-->