Today's Deep-Dive: BunkerWeb
Ep. 268

Today's Deep-Dive: BunkerWeb

Episode description

BunkerWeb is an open-source, next-generation web application firewall (WAF) designed to protect web services, applications, and APIs from sophisticated attacks. It acts as a reverse proxy, inspecting and blocking malicious traffic before it reaches the application, ensuring the confidentiality, integrity, and availability of data. BunkerWeb’s core philosophy emphasizes transparency and trust, providing open-source code that anyone can audit. This approach contrasts with proprietary, opaque security solutions. Key features include automated HTTPS support, integrated mod security with the OWASP core rule set, anti-bot mechanisms, and support for DNSBL to block known bad IPs. The system is designed to be user-friendly, with a graphical web interface that simplifies configuration and management. BunkerWeb supports multi-site mode, allowing a single instance to protect multiple applications, and offers professional tiers for enterprise support. The tool aims to simplify complex security challenges, providing a secure-by-default starting point that users can customize.

Gain digital sovereignty now and save costs

Let’s have a look at your digital challenges together. What tools are you currently using? Are your processes optimal? How is the state of backups and security updates?

Digital Souvereignty is easily achived with Open Source software (which usually cost way less, too). Our division Safeserver offers hosting, operation and maintenance for countless Free and Open Source tools.

Try it now for 1 Euro - 30 days free!

Download transcript (.srt)
0:00

Okay, so every organization, anyone really running a web service, an application,

0:04

maybe an API,

0:05

you face this huge immediate problem, right? How do you build that digital shield?

0:11

Something

0:11

strong enough to keep out sophisticated attacks without needing a whole army of

0:16

security experts

0:17

just to keep it running. And maybe even more critically, how do you actually trust

0:21

that shield?

0:22

That's what we're tackling today. We're doing a deep dive into BunkerWeb. It's an

0:25

open source,

0:26

next-gen web application firewall or WAIFO. And look, this isn't just about

0:31

blocking bad traffic.

0:32

It's really about challenging that whole security industry model, the one where you're

0:36

kind of

0:36

forced to trust these opaque proprietary, well, black boxes. Yeah. Our mission

0:42

today is to show

0:43

you how total transparency and the secure by default idea really changes the game,

0:48

even if,

0:49

maybe especially if you're kind of new to network security. But first, a huge thank

0:52

you to the

0:53

supporter of the Steep Dive, SafeServer. SafeServer handles software hosting and

0:56

they support you in

0:57

your digital transformation journey. You can find out more, learn how they can help

1:00

with your

1:00

infrastructure at www.safeserver.de. Okay, let's unpack this then. We're talking

1:06

about a WAF,

1:07

a web application firewall. When you think WAF, where exactly does BunkerWeb fit

1:13

into that picture?

1:14

Well, think of it like the ultimate checkpoint, really. Away is a specialized

1:18

security system,

1:19

and you place it strategically in front of your web services. Its whole job is to

1:24

inspect every

1:25

single piece of incoming traffic and, crucially, block malicious requests before

1:30

they can even

1:31

get near your application code. This is, I mean, absolutely fundamental if you want

1:35

to ensure the

1:35

confidentiality, integrity, and availability of your data, you know, the CIA triad.

1:40

And a key

1:41

point you mentioned is that BunkerWeb functions specifically as a reverse proxy.

1:45

Can you maybe

1:46

quickly explain the operational benefit there? Why have all traffic flow through BunkerWeb

1:50

first

1:50

instead of just letting it hit the application directly? Right. The big win is

1:54

centralization

1:56

and, honestly, simplicity. Because all that traffic hits the proxy first, BunkerWeb

2:01

becomes your

2:01

single secure entry point. And this allows it to seamlessly handle really crucial

2:07

tasks, like

2:08

managing all the incoming HTTP and HTTPS traffic, enforcing security policies

2:12

uniformly across

2:13

everything behind it, and even automating things that are normally a huge pain,

2:17

like getting and

2:17

renewing HTTPS or to think it's automatically using what's encrypted. You basically

2:21

manage security

2:22

from one spot. That simplicity sounds absolutely critical. Okay, so what specific

2:26

dangers are we

2:26

really talking about here? If I put the shield up, what's it actually fighting off

2:30

day to day?

2:30

It's designed to neutralize the most common, the most prevalent web threats you see

2:36

out there. So

2:36

naturally, that includes all the stuff detailed in the infamous OWASP top 10,

2:41

things like SQL

2:42

injection attempts, cross-site scripting, the usual suspects. But it goes beyond

2:47

just application

2:48

level flaws. It's actively blocking malicious bots, and bots are a huge percentage

2:52

of unwelcome

2:53

traffic these days. And it also helps mitigate large-scale distributed denial of

2:57

service attacks,

2:58

DDoS attacks, the ones designed just to overwhelm your servers and take you offline.

3:03

Yeah, that definitely makes web security seem much more approachable. But like you

3:07

said earlier,

3:07

complexity isn't just about the threats themselves, it's also about trust. If a

3:10

security

3:11

tool is handling literally all your incoming traffic, acting as that gatekeeper,

3:15

how do you

3:15

know it's not the weak link? How do you know it's not introducing vulnerabilities

3:19

or, I don't know,

3:20

silently leaking data? And that question, I think, leads us right into Bunkerweb's

3:23

core philosophy.

3:24

Exactly. And what's really fascinating here is their absolute commitment to open

3:28

security.

3:29

They distribute under the AGPL v3 free license, and they very openly contrast this

3:36

approach

3:37

with what they call security through obscurity, which, let's be honest, is how most

3:41

wave vendors

3:42

operate. They sell you an opaque black box. You just have to trust their marketing,

3:46

trust their

3:46

promise that it's secure inside. Bunkerweb demands the opposite. Okay, but doesn't

3:50

that

3:51

seem a bit counterintuitive? You know, opening up your security mechanisms for

3:54

anyone to look at,

3:55

doesn't that just give attackers a roadmap, increase the chance they'll find

3:59

vulnerabilities?

4:00

That's a fair question, and it's one that comes up a lot with open source.

4:03

But the reality, or at least the philosophy here, is that the benefits of

4:07

transparency

4:08

dramatically outweigh that perceived risk. The whole approach is built around

4:12

collective strength.

4:13

Think about the core pillars. Transparency means the source code is right there.

4:17

Anyone can audit it anytime. This directly enables auditability. Users, security

4:23

researchers,

4:24

independent third parties, they can all verify the security claims. It's not just

4:27

taking someone's

4:28

word for it. Right. That verification step is huge for building confidence. If

4:33

trust isn't

4:33

just a promise, but something you can actually check, that's powerful. Absolutely.

4:38

And this leads

4:38

directly to sovereignty. You, the user, maintain control and ownership over your

4:44

data and your

4:44

security setup. You're not locked into relying solely on a vendor's black box. And

4:50

finally,

4:51

everyone benefits from the active community. You get improvements, bug fixes, new

4:55

ideas,

4:56

all coming from global collaboration. It makes the tool stronger over time.

5:00

They have that quote that really sums it up. Do not choose the shadows anymore,

5:04

discover the light.

5:05

It's quite evocative. And that mindset leads directly to their core promise, secure

5:09

by default.

5:10

But hang on a second, that sounds great. Secure by default. But doesn't setting

5:14

strong default

5:14

policies carry a big risk of just breaking things? Like if I deploy this in front

5:19

of some older,

5:20

maybe slightly quirky legacy application, how do I know those defaults won't just

5:23

block legitimate

5:24

users right out of the gate? Yeah, that's the classic security

5:27

trade-off, isn't it? Every deployment faces that balance. The point of secure by

5:31

default here

5:32

isn't to be unbreakable from the start, but to ensure you start from a known,

5:37

protected state,

5:38

rather than starting with zero protection and having to build everything up.

5:42

The system enforces a baseline security policy immediately. Things like applying

5:47

basic HTTP

5:48

security headers, maybe some TLS hardening, it gets you to a decent starting point.

5:53

From there, yes, you absolutely use the logs and the UI to tune those policies. You

5:57

might need to

5:58

loosen a rule for a specific application or maybe tighten one, but it shifts the

6:02

burden. You're not

6:02

building protection from scratch. You're adjusting existing protection. It's a

6:06

different mindset.

6:07

Okay. That makes more sense. So let's look at the actual tools, the features that

6:10

provide that

6:11

protection. Beyond the philosophy, what specific capabilities does BunkerWeb offer

6:16

right out of the

6:17

box? Well, we've already touched on the automated HTTPS support with Let's Encrypt,

6:22

and the

6:22

foundational security headers. Those are table stakes, really. But fundamentally,

6:26

it includes

6:26

the integrated mod security WAF. And critically, it's paired with the OWASP core

6:31

rule set. That's

6:32

a massive, constantly updated library of rules specifically designed to detect

6:38

common known attack

6:39

patterns. It's sort of the industry standard rule set. Plus, you get mechanisms for

6:43

limiting

6:43

connections and requests per client, which is important to stop, say, one abusive

6:48

user or bot

6:49

from hogging all your server resources. I also saw on the feature list something

6:52

about blocking

6:53

known bad IPs using external blacklists and DNSBL. We sometimes throw these acronyms

6:58

around. DNSBL,

6:59

what exactly does that do for the average person trying to protect their

7:02

application?

7:03

Right. DNSBL stands for Domain Name System Blacklist. Think of it like a shared

7:07

global

7:08

database of known troublemakers online. These are IP addresses that have already

7:12

been caught sending

7:13

spam, distributing malware, launching attacks elsewhere on the internet. By

7:18

integrating DNSBL

7:19

support, BunkWhip essentially checks every visitor's IP address against these

7:23

massive

7:24

lists of known bad actors. If there's a match, it just turns them away immediately

7:29

before they even

7:29

get a chance to try anything malicious on your server. It's very effective

7:32

proactive defense.

7:34

That sounds really practical. But the feature that really caught my eye, especially

7:37

with all

7:38

the talk about sophisticated web scraping and malicious automation, is the anti-bot

7:42

feature.

7:43

How does BunkerWeb actually stop those bots without just annoying or blocking

7:47

legitimate users?

7:48

Oh yeah, the anti-bot stuff is clever. It introduces a challenge layer. So if BunkerWeb

7:54

detects

7:54

suspicious behavior, maybe traffic patterns that look very robotic, or requests

7:58

coming too fast,

8:00

it requires the client, the browser, to solve a task to prove it's likely human.

8:04

This could be

8:05

something relatively simple, like asking the browser to set a cookie or execute a

8:09

little bit

8:09

of JavaScript. Or you can configure it to escalate to more familiar human

8:13

verification systems,

8:15

like a standard CAPTCHA image challenge. Or using third-party services like AceCAPTCHA

8:19

or Google's ReCAPTCHA. If the client fails the challenge, or simply can't execute

8:24

it like many

8:25

simple bots can't run JavaScript, they get blocked. Hmm, I'm fascinated by that.

8:29

Let's say I enable

8:29

AceCAPTCHA. What actually happens under the hood if a bot fails that challenge? Is

8:33

it just blocked

8:34

for that one request, or does its IP address get penalized somehow? Like, how

8:37

quickly does it adapt?

8:39

It generally depends on how you've configured the policy. But typically, failing

8:43

the challenge

8:44

results in an immediate denial of service for that specific request or session.

8:47

And often, yes, it triggers temporary blacklisting to integrated IP reputation

8:53

modules. So that IP

8:54

might be blocked from accessing the site entirely for, say, the next 15 minutes or

8:59

an hour, depending

9:00

on your settings. The system is highly configurable. You get to determine the

9:03

sensitivity, how quickly

9:04

it triggers a challenge, and the duration of any subsequent ban. It lets you fine-tune

9:09

that balance

9:10

between user experience and aggressive bot mitigation. That adaptability really

9:14

speaks to

9:15

the architecture, doesn't it? I know it's built on what they call the six pillars.

9:18

Two of those

9:19

that stand out are agnostic and modular. What do those mean in practice? Right. Agnostic

9:24

basically

9:24

means the solution doesn't really care where you deploy it. It's designed to slide

9:28

easily into

9:28

various environments. You can run it on a standard Linux server, inside Docker

9:32

containers, manage it

9:33

with Kubernetes or Swarm, or even deploy it within cloud platforms like Microsoft

9:37

Azure. It's flexible

9:38

and modular is all about extendability. It's a pretty robust plugin system. This is

9:43

crucial because,

9:44

let's face it, modern threats are diverse and sometimes you need a specialized tool

9:48

for a

9:48

specific job. The core WAIFF can't do everything. Okay. Can you give us a specific

9:52

example? Like,

9:54

how would a plugin extend the security in a way that, say, the base NGINX or mod

9:59

security

10:00

wouldn't handle by default? Sure. A classic example is file uploads. Uploads are a

10:04

huge

10:04

vector for malware getting onto your server. So, you could install the ClamAV

10:08

plugin for BunkerWeb.

10:09

Now, when a user tries to upload a file, BunkerWeb intercepts it before it hits

10:13

your application,

10:14

passes it to the ClamAV scanner, and if ClamAV detects malware signatures,

10:19

BunkerWeb just denies the request immediately. The malicious file never even

10:23

reaches your backend.

10:25

Another simple but really powerful example is integrations for notifications. You

10:30

can set up

10:30

plugins for Discord or Slack webhooks. This means if BunkerWeb blocks a serious

10:35

attack or detects

10:36

some other critical security event, it can instantly send a notification right into

10:40

your

10:40

operations team's chat channel. That dramatically cuts down your response time.

10:44

Okay, all this

10:45

configuration, plugins, rule sets. It sounds like it could get pretty intense

10:48

pretty quickly.

10:49

Which brings us to the user experience. I mean, security settings can be incredibly

10:53

dense, so

10:54

ease of use has got to be paramount, right? Especially for someone who isn't, you

10:58

know,

10:58

living in the command line all day. Absolutely. And the awesome web UI, their words,

11:03

but it is

11:03

pretty good, is arguably the biggest differentiator for ease of use. You really don't

11:09

need to be a

11:09

Linux command line wizard or memorize complex NGINX configuration syntax to manage

11:15

BunkerWeb

11:16

effectively. You can handle most things, managing your settings, installing or

11:20

removing plugins,

11:22

viewing logs, seeing which attacks were blocked all through a standard graphical

11:25

web interface,

11:26

makes it much more accessible. And configuration itself is mostly handled through

11:30

simple settings

11:31

or variables. You're not typically editing raw text files. Instead, you might set a

11:35

variable in

11:35

the UI, like use the end about CAPTCHA or enable the NSPL true. It abstracts away a

11:40

lot of the

11:40

complexity. That level of abstraction sounds vital, especially for beginners trying

11:44

to get started.

11:45

But okay, if BunkerWeb is built on NGINX, which is known for being super reliable

11:49

and fast,

11:50

why does it need this separate brain component, the scheduler? What specific

11:53

management tasks

11:54

does that part handle that NGINX doesn't? Ah, good question. That's where the

11:59

orchestration

12:00

and the dynamic management happen. NGINX is fantastic at serving requests very,

12:04

very quickly,

12:05

but it primarily works off a static configuration file. You load the config, NGINX

12:10

runs with it.

12:11

The scheduler acts as the central control plane. It manages the database where all

12:15

your dynamic

12:16

settings, your plugin configurations, your custom rules are stored. It handles

12:20

background jobs,

12:21

like periodically checking for and renewing Let's Encrypt certificates, updating

12:24

blacklist feeds,

12:26

applying temporary IP bans based on rule violations. And crucially, whenever you

12:30

make a

12:30

change through the web UI, like enabling a plugin or adjusting a security setting,

12:34

the scheduler takes

12:35

that change, updates its internal state, and then generates the new optimized NGINX

12:39

configuration

12:40

file and tells NGINX to reload it gracefully. It essentially automates that whole

12:44

secure management

12:45

layer that plain NGINX lacks on its own, provides the intelligence on top. Okay,

12:50

yeah, that explains

12:50

the sort of automagic functionality much better. Makes sense. Finally, let's talk

12:55

about scale for a

12:56

second. What if I'm not just protecting one website? What if I'm managing a more

13:02

complex

13:03

environment, maybe with dozens of separate web applications or services? How does BunkerWeb

13:07

handle that efficiently? That's exactly what multi-site mode is designed for. By

13:11

default,

13:12

a standard BunkerWeb instance protects one upstream application. But once you

13:17

enable multi-site

13:18

mode, a single BunkerWeb instance can act as the reverse proxy in Double F for

13:22

multiple different

13:23

backend applications, multiple virtual hosts, essentially. And each of the

13:27

protected applications

13:28

can have its own customized set of security rules, its own specific plugin

13:32

configurations on settings.

13:33

This offers tremendous efficiency. You don't need to spin up a separate BunkerWeb

13:37

instance

13:37

for every single app. It really helps reduce the infrastructure footprint required

13:41

to protect

13:42

a larger, more sprawling environment. And as we kind of noted earlier, while this

13:46

open source

13:47

version is free and sounds really robust, definitely enough for hobbyists, testing,

13:52

maybe even some mid-sized operations. There are also professional options available,

13:56

right? Like

13:57

Shield, Fortress, Sentinel, for organizations that need more, perhaps, enterprise

14:01

support

14:02

or managed cloud offerings. Exactly. The core protection engine, the open source

14:06

heart, remains

14:07

the same across the board. That's key. The professional tiers typically add things

14:11

like

14:12

dedicated technical support contracts, service level agreements, SLAs, perhaps

14:16

advanced reporting

14:17

features, or fully managed service models where they handle the deployment and

14:21

operation for you.

14:22

But the fundamental open source core provides that robust, auditable protection

14:27

right from the start

14:27

for anyone to use. Okay, so let's try to synthesize all this. BunkerWeb seems to

14:32

deliver really robust

14:33

and importantly transparent web security. It does this by combining that wave

14:38

capability with a

14:39

reverse proxy structure. It aims to simplify these complex security challenges

14:44

using a

14:44

user-friendly UI and, crucially, that secure by default mantra, all powered by open

14:50

source

14:50

collaboration. So if you out there are scaling your web services or maybe going

14:54

through a broader

14:55

digital transformation, this open source approach seems to offer a lot of

14:58

flexibility and perhaps

15:00

most importantly verifiable trust. And that really brings us to a final thought,

15:04

something for you,

15:05

the listener, to consider based on all this. Given the choice between open security,

15:11

where the code

15:11

is visible, auditable by anyone, you can see exactly how it works, and the

15:14

alternative, security

15:16

to obscurity, where your critical defense mechanism is essentially a black box that

15:20

you just have to

15:20

take on faith, which approach truly offers you genuine long-term confidence when it

15:25

comes to

15:26

protecting your most valuable digital assets and data. That is a vital question for

15:30

anyone managing

15:31

any kind of internet presence today, a really important consideration. And with

15:35

that, we'll

15:36

wrap up this deep dive into BunkerWeb. Thank you again to our supporter for making

15:39

this possible.

15:40

SafeServer, they're there to help you with hosting and your digital transformation.

15:44

You can find out more at www.safeserver.de. Thanks for joining us and we'll catch

15:50

next time for the next deep dive.

15:50

next time for the next deep dive.