da
angus » 26 mar 2019, 23:14
La soluzione in [26] va benissimo se servi contenuti statici, ma se necessiti di un database server come backend diventa meno sicura. Il web server è quello più esposto e la domanda che ti devi porre è: "cosa succede se viene compromesso?" Non solo l'attaccante ha pieno accesso al database, ma oltretutto può fare facilmente breccia nella rete interna in barba al firewall.
in questo scenario,tra le varie possibilità, hai:
1) tenere in DMZ, insieme al webserver, una copia read-only del database (ad uso e consumo dell'applicazione web). I dati sono altrettanto in pericolo, ma almeno nessuno dall'esterno mette mano facilmente al db interno.
2) un'architettura (base) di questo tipo con 2 firewall a limitare la DMZ:
(INTERNET)
|
Firewall
|
(DMZ) reverse proxy
|
Firewall
|
intranet/web server/db server
Questa soluzione ha molti vantaggi, tra cui la possibilità di applicare dei filtri layer 7, che mitigano molti dei moderni attacchi.
Importanti aziende usano questa architettura e la consigliano per i loro prodotti. Giusto per fare due nomi noti: Oracle e SAP.
Naturalmente per mettere in piedi il tutto in modo serio ed efficiente serve un'infrastruttura di un certo livello, ma per fare degli esperimenti e rendersi conto di come funzionano le cose va benissimo anche molto meno.
per cominciare potresti guardare come funziona un reverse proxy fatto con nginx, magari usando docker.
ciao
in /dev/null no one can hear you scream