Bunkerweb

Occorre sempre portare molta attenzione alla sicurezza dei servizi esposti online cercando sempre nuove soluzioni per difendere i propri sistemi che non siano ovviamente gestiti da altri e così volevo provare Bunkerweb, è un prodotto francese mantenuto da una società di consulenza specializzata in cybersecurity la Bunkerity.

Bunkerweb è fondamentalmente basato su nginx, noto web server su cui “girano” moltissimi milioni di domini online, a voi il sondaggio di Netcraft di qualche anno fa.

Bunkerweb ingloba tra le caratteristiche di sicurezza supporto Let’s Encrypt in automatico, hardening TLS, integrazione di ModSecurity con regole OWASP e tantissime altre.

Fig.1

Volevo provarlo come piccolo test su una VPS che ho di prova già preconfigurata con nginx; per far questo sposteremo la porta di ascolto di nginx sulla 9080, configuriamo Bunkerweb per fare da reverse proxy sullo stesso host.

La macchina ospitante è una Debian 10 installazione standard con nginx perfettamente funzionante con il solo sito @default configurato, dove andremo aspostarne la porta di ascolto:

nano /etc/nginx/sites-enabled/default

editiamo la porta 80 e portiamola a 9080:

1
2
        listen 9080 default_server;
        listen [::]:9080 default_server;

. . installiamo i docker . .

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
apt remove docker docker-engine docker.io containerd runc
apt update
	
apt install \
ca-certificates \
curl \
gnupg \
lsb-release
	
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt update
apt-cache policy docker-ce

apt install docker-ce
systemctl status docker

. . . e quindi Bunkerweb che lo faremo partire in modalità reverse proxy ( l’ip è quello dell’host ):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run \
         -p 80:8080 \
		 -e USE_REVERSE_PROXY=yes \
		 -e REVERSE_PROXY_URL=/ \
		 -e REVERSE_PROXY_HOST=http://192.3.4.5:9080 \
		 -e USE_REAL_IP=yes \
		 -e "DNS_RESOLVERS=8.8.8.8 8.8.4.4" \
      	 -e USE_DNSBL=no \
		 -e USE_API=no \
         bunkerity/bunkerweb

Ora se puntiamo all’ip pubblico dell’host ovvero http://192.3.4.5 dovremmo vedere la root del nstro nginx, provando ad eseguire diversi refresh con il browser “simulando” un client aggressivo dovremmo ottenere piu’ o meno una cosa del genere :

Fig.1

In pratica abbiamo messo “in cascata” Bunkerweb davanti alla installazione standard di nginx, qualche prova aggiuntiva di pentesting ( molte ) sarebbero d’obbligo ma il tempo è tiranno . . .

E’ tutto, Bye . .:-)