
La sicurezza delle applicazioni web è oggi una priorità assoluta per chi gestisce server e servizi online.
Attacchi come SQL injection, brute force o exploit automatizzati possono compromettere in pochi minuti siti e infrastrutture non adeguatamente protette.
In questo scenario, BunkerWeb si presenta come una soluzione moderna, open source e facilmente integrabile, in grado di offrire un Web Application Firewall (WAF) avanzato basato su NGINX e ModSecurity, ma con un approccio semplificato e automatizzato.
In questa guida vedremo come installare e configurare BunkerWeb su Ubuntu Server 24.04, partendo da un’installazione pulita del sistema operativo.
Passo dopo passo, configureremo il servizio tramite lo script ufficiale install-bunkerweb.sh, verificheremo l’avvio dei componenti principali e accederemo all’interfaccia web di amministrazione per la configurazione iniziale.
PREREQUISITI
- Almeno 2 vCPU e 8 GB di RAM per ambienti di test o con pochi servizi.
- Per ambienti di produzione (molte applicazioni da proteggere, traffico elevato), raccomandati 4 vCPU e 16 GB di RAM o più.
- Spazio su disco sufficiente per log, backup e regole di WAF (dipende dal carico e numero di servizi).
- Distro Linux supportata: Ubuntu 24.04 “Noble” è ufficialmente supportata.
- Accesso root o utente con privilegi sudo.
- Connessione Internet attiva (per scaricare pacchetti, aggiornare, magari ottenere certificati TLS via Let’s Encrypt).
- Deve essere installato o installabile il server web NGINX (BunkerWeb si basa su NGINX sotto il cofano).
AGGIORNAMENTO DI UBUNTU
Aggiornare Ubuntu con il comando:
|
0 |
sudo apt update && sudo apt upgrade -y
|
DOWNLOAD DELLO SCRIPT BUNKERWEB.SH
Lo script è pubblicato nei rilasci ufficiali di BunkerWeb.
Nella documentazione viene scaricato con wget dalla release corrente, insieme al file di checksum .sha256.
NOTA BENE: al momento della stesura del seguente articolo l’ultima versione stabile è la 1.6.5
Posizionarsi nella cartella /tmp con il comando:
|
0 |
cd /tmp
|
Quindi scaricare lo script e lo sha con i seguenti comandi:
|
0
1
|
wget https://github.com/bunkerity/bunkerweb/releases/download/v1.6.5/install-bunkerweb.sh
wget https://github.com/bunkerity/bunkerweb/releases/download/v1.6.5/install-bunkerweb.sh.sha256
|
VERIFICARE L’INTEGRITA’ DELLO SCRIPT
Questo serve per assicurarsi che nessuno abbia manomesso lo script prima di eseguirlo. La guida ufficiale raccomanda espressamente di farlo.
Eseguire il comando:
|
0 |
sha256sum -c install-bunkerweb.sh.sha256
|
Dovremmo visualizzare il seguente outptut:
|
0 |
install-bunkerweb.sh: OK
|
ATTENZIONE: Se NON è OK fermarsi subito e non eseguirlo.
RENDERE ESEGUIBILE LO SCRIPT
Rendere eseguibile lo script con il comando:
|
0 |
chmod +x install-bunkerweb.sh
|
ESEGUIRE LO SCRIPT COME ROOT
Eseguire l’installer come root con il comando:
|
0 |
sudo ./install-bunkerweb.sh
|
Dovremmo visualizzare il seguente output:
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
=========================================
BunkerWeb Easy Install Script
=========================================
[INFO] Detected OS: ubuntu 24.04
[STEP] Configuration Options
========================================
Installation Type
========================================
Choose the type of installation based on your needs:
1) Full Stack (default): All-in-one installation (BunkerWeb, Scheduler, UI).
2) Manager: Installs Scheduler and UI to manage remote BunkerWeb workers.
3) Worker: Installs only the BunkerWeb instance, to be managed remotely.
4) Scheduler Only: Installs only the Scheduler component.
5) Web UI Only: Installs only the Web UI component.
Select installation type (1-5) [1]:
|
Preme INVIO per l’installazione Full stack
Dovremmo vedere il seguente output:
|
0
1
2
3
4
5
6
7
8
9
|
========================================
BunkerWeb Setup Wizard
========================================
The BunkerWeb setup wizard provides a web-based interface to:
• Complete initial configuration easily
• Set up your first protected service
• Configure SSL/TLS certificates
• Access the management interface
Would you like to enable the setup wizard? (Y/n):
|
Premere Y quindi INVIO
Dovremmo visualizzare il seguente output:
|
0
1
2
3
4
5
6
|
========================================
CrowdSec Intrusion Prevention
========================================
CrowdSec is a community-powered, open-source intrusion prevention engine that analyzes logs in real time to detect, block and share intelligence on malicious IPs.
It seamlessly integrates with BunkerWeb for automated threat remediation.
Would you like to automatically install and configure CrowdSec? (Y/n):
|
Premere Y quindi INVIO
Dovremmo visualizzare il seguente output:
|
0
1
2
3
4
5
6
7
|
========================================
BunkerWeb API Service
========================================
The BunkerWeb API provides a programmatic interface (FastAPI) to manage instances,
perform actions (reload/stop), and integrate with external systems.
It is optional and disabled by default on Linux installations.
Enable the API service? (y/N):
|
Premere Y quindi INVIO
Dovremmo visualizzare il seguente output:
|
0
1
2
3
4
5
6
|
========================================
️ CrowdSec Application Security (AppSec)
========================================
CrowdSec Application Security Component (AppSec) adds advanced application security, turning CrowdSec into a full WAF.
It's optional, installs alongside CrowdSec, and integrates seamlessly with the engine.
Would you like to install and configure the CrowdSec AppSec Component? (Y/n):
|
Premere Y quindi INVIO
Dovremmo visualizzare il sommario:
|
0
1
2
3
4
5
6
7
8
9
10
11
12
|
[INFO] Configuration summary:
BunkerWeb version: 1.6.5
Installation type: Full Stack
Setup wizard: Enabled
Operating system: ubuntu 24.04
NGINX version: 1.28.0-1~noble
CrowdSec: Will be installed (with AppSec Component)
[INFO] Installation Type: Full Stack
[INFO] Installing BunkerWeb 1.6.5
[INFO] Setup wizard: Enabled
Continue with installation? (Y/n):
|
Se è tutto OK Premere Y quindi INVIO
Se è andaton tutto a buon fine dovremmo visualizzare il seguente output:
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Configuration:
- Main config: /etc/bunkerweb/variables.env
- UI config: /etc/bunkerweb/ui.env
- Scheduler config: /etc/bunkerweb/scheduler.env
- API config: /etc/bunkerweb/api.env
- Logs: /var/log/bunkerweb/
Next steps:
1. Access the setup wizard at: https://your-server-ip/setup
2. Follow the configuration wizard to complete setup
Setup wizard information:
• The wizard will guide you through the initial configuration
• You can configure your first protected service
• SSL/TLS certificates can be set up automatically
• Access the management interface after completion
Resources:
• Documentation: https://docs.bunkerweb.io
• Community support: https://discord.bunkerity.com
• Commercial support: https://panel.bunkerweb.io/store/support
=========================================
|
CONTROLLO DELLO STATO DEI SERVIZI
Dopo che lo script finisce eseguire i comandi di seguito per capire se i servizi sono attivi:
|
0
1
2
|
sudo systemctl status bunkerweb
sudo systemctl status bunkerweb-ui
sudo systemctl status nginx
|
Dovrebbero risultare active (running).
NOTA BENE: Se bunkerweb-ui è failed, guardare i log con il comando:
|
0 |
journalctl -u bunkerweb-ui -n 50 --no-pager
|
Questo servizio espone la Web UI interna (porta 7000/tcp in molte configurazioni) che poi viene esposta in modo sicuro da BunkerWeb stesso sulle porte pubbliche.
In alcune installazioni passate il problema principale era che la UI non partiva e quindi /setup dava errore 502: controllare i log è la prima diagnosi.
CONFIGURAZIONE DI BUNKERWEB DA INTERFACCIA WEB
Come suggerito al termine dell’installazione richiamare da un qualsiasi browser il seguente link:
https://FQDN-SERVER-O-IP/setup
Se è tutto corretto dovremmo visualizzare la schermata mostrata nell’immagine sovrastante
Inserire tutte le info relative all’utente amministratore quindi cliccare Next
In questa schermata configurare tutte le info relative al server name e al tipo di certirficato da utilizzare. Quindi cliccare Next
Vuoi provare BunkerWeb PRO per un mese? Utilizza il codice “freetrial” quando effettui l’ordine sul pannello BunkerWeb o cliccando qui per applicare direttamente il codice promozionale (disponibile al momento del pagamento).
Se si intende continuare con la versione Community cliccare Next
Se è tutto corretto il riepilogo cliccare Setup
Attendere il termine del Setup della Web UI
Se è andato tutto a buon fine dovremmo visualizzare la schermata di Login di Bunkerweb
Inserire le credenziali create in fase di setup quindi cliccare Login
Se è tutto OK dovremmo visualizzare il pannello di controllo di BunkerWeb come mostrato nell’immagine sovrastante
CONSIDERAZIONI FINALI
Dopo aver completato l’installazione e la configurazione base di BunkerWeb su Ubuntu Server 24.04, è evidente che questa soluzione si distingue per semplicità d’uso e solidità architetturale.
BunkerWeb riesce a combinare la potenza di NGINX e ModSecurity con un layer di automazione e gestione centralizzata che ne semplifica drasticamente l’utilizzo, anche per chi non è un esperto di sicurezza applicativa.
Ecco un riepilogo dei principali vantaggi e limiti emersi dall’esperienza d’uso:
✅ PRO – PUNTI DI FORZA
Facilità di installazione e configurazione: L’installer ufficiale (install-bunkerweb.sh) automatizza tutti i passaggi, rendendo la messa in opera del WAF estremamente rapida.
Interfaccia Web intuitiva: La dashboard consente di gestire domini, regole e servizi con pochi clic, riducendo la necessità di modificare manualmente file di configurazione complessi.
Protezione avanzata “out of the box”: Integra ModSecurity e le regole OWASP CRS già pronte, fornendo un livello di sicurezza elevato fin dal primo avvio.
Supporto multi-sito e multi-istanza: Permette di proteggere più applicazioni contemporaneamente, anche distribuite, con un’unica interfaccia di gestione.
Integrazione nativa con Docker e ambienti cloud: Ideale per infrastrutture moderne basate su container, grazie al supporto ufficiale per Docker, Swarm e Kubernetes.
Community attiva e sviluppo costante: Progetto open source in crescita, con aggiornamenti frequenti e documentazione sempre più completa.
⚠️ CONTRO – LIMITI DA CONSIDERARE
Consumo di risorse: L’integrazione di più servizi (NGINX, UI, ModSecurity, backend Python) può risultare pesante su VPS di piccole dimensioni.
Porte e servizi multipli: La presenza di vari processi (UI, proxy, backend) può generare conflitti di porte se non si parte da un sistema pulito.
Setup remoto limitato per sicurezza: L’interfaccia di setup è accessibile solo da localhost per motivi di protezione, il che può confondere al primo utilizzo se non si conosce il meccanismo del tunnel SSH.
Documentazione tecnica ancora in evoluzione: Anche se migliorata, la documentazione non copre ancora tutti i casi d’uso complessi o personalizzazioni avanzate.
Complessità crescente nelle configurazioni avanzate: Quando si vogliono creare regole custom o scenari multi-reverse proxy, la curva di apprendimento di NGINX e ModSecurity torna a farsi sentire.
IN SINTESI
BunkerWeb è una soluzione moderna, versatile e sicura per implementare rapidamente un Web Application Firewall su ambienti Linux.
È particolarmente adatto a chi desidera un layer di protezione serio ma non vuole perdersi tra file di configurazione e tuning manuale.
Con qualche accorgimento sulle risorse e una corretta pianificazione delle porte e delle policy di accesso, può diventare un alleato prezioso nella difesa delle tue applicazioni web.

0 commenti