explaingit

bunkerity/bunkerweb

10,478PythonAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

BunkerWeb is an open-source web application firewall built on NGINX that sits in front of your web service, blocking attacks like SQL injection and XSS, enforcing HTTPS, and protecting against bad IPs, with security on by default so you don't have to configure it manually.

Mindmap

mindmap
  root((bunkerweb))
    What it does
      Blocks attacks
      Enforces HTTPS
      Reverse proxy
    Protections
      SQL injection
      XSS blocking
      Bad IP lists
      CAPTCHA challenges
    Deployment
      Linux server
      Docker containers
      Kubernetes
    Config
      Web UI panel
      Plugin system
      OWASP rules
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add automatic HTTPS and attack blocking to an existing web app by putting BunkerWeb in front of it as a reverse proxy

USE CASE 2

Protect a Kubernetes-hosted service from SQL injection, XSS, and known bad IP addresses using the OWASP rule set

USE CASE 3

Configure CAPTCHA challenges for suspicious visitors through a web UI without writing any custom firewall rules

Tech stack

PythonNGINXDockerKubernetesModSecurity

Getting it running

Difficulty · moderate Time to first run · 1h+

Runs as a reverse proxy, requires Docker or Kubernetes and your application to sit behind BunkerWeb on your network.

Licensed under AGPLv3, free to use and modify, but if you run a modified version as a public service you must share your source code changes.

In plain English

BunkerWeb is an open-source web application firewall, which is a security layer that sits in front of your web services and blocks malicious traffic before it reaches your application. It is built on top of NGINX, a widely used web server, and adds a large set of security protections that are turned on by default. The core idea is that most web servers are not secure out of the box, and developers have to configure security manually or forget about it entirely. BunkerWeb tries to flip that by making the safe configuration the default, so a site running behind it gets protection without the developer needing to write custom firewall rules. Out of the box, BunkerWeb handles HTTPS setup automatically using Let's Encrypt certificates, enforces strict HTTP security headers to reduce browser-level attacks, integrates ModSecurity (a well-known open-source WAF engine) with the OWASP Core Rule Set to catch common attack patterns like SQL injection and cross-site scripting, blocks known bad IP addresses using external blocklists, and can challenge suspicious visitors with CAPTCHA or JavaScript puzzles before letting them through. It can be deployed on a regular Linux server, inside Docker containers, across Docker Swarm clusters, or on Kubernetes. It acts as a reverse proxy, meaning it receives incoming web traffic, checks it, and passes clean requests through to the actual application running behind it. Configuration can be done through a web interface rather than the command line, which the README describes as a key feature for users who are not comfortable with terminal commands. The plugin system lets users add extra security modules beyond what ships in the core. A paid PRO version and a hosted cloud option called BunkerWeb Cloud are also available for teams that want managed hosting or additional features. The open-source version is licensed under AGPLv3.

Copy-paste prompts

Prompt 1
Write a Docker Compose file that puts BunkerWeb in front of a Node.js app, enables Let's Encrypt HTTPS, and blocks SQL injection using the OWASP Core Rule Set
Prompt 2
Show me how to deploy BunkerWeb on Kubernetes as a reverse proxy for an existing service, including the required YAML manifests
Prompt 3
How do I add a custom blocklist of IP ranges to BunkerWeb and verify that those IPs are being rejected at the firewall layer?
Prompt 4
Give me a step-by-step guide to setting up BunkerWeb on a Linux server with Docker to protect a self-hosted WordPress site
Open on GitHub → Explain another repo

← bunkerity on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.