On 12/06/2011 11:12 AM, Marco Ermini wrote:

> Un'altra soluzione da applicare "on top" alla seconda ipotesi è quella
> di usare un reverse proxy con, magari, un web application firewall,
> come primo livello accessibile dall'esterno, e da questo raggiungere
> la tua applicazione interna. In questo modo eviti anche di esporre
> direttamente l'applicazione e puoi tenere nella zona semi-trusted/DMZ
> solo il reverse proxy.

In linea di massima concordo, ma prima di tutto:
- l'applicazione in sé che criticità ha? perché a seconda della
risposta, puoi considerare anche di metterla solo in dmz, senza la
"copia" interna; se quello che ti interessa è proteggere le altre
applicazioni... gli utenti interni accederebbero all'applicazione
esposta, è un problema?
- se puoi sdoppiare la base di dati, vuole dire che non ti serve tenere
sincronizzato il db interno con quello esterno? In questo caso la
replica potrebbe essere una soluzione adatta, ma è chiaro che non dice
nulla sulla protezione dell'applicazione esposta a Internet, di nuovo
dipende quanto è critica.
Un'ulteriore possibilità, come già detto, è sdoppiare l'applicazione, ma
tenere all'interno il db. Sul canale fra app esterna e db puoi mettere
qualcosa che filtri le query al db, che probabilmente sono più semplici
e gestibili degli accessi all'applicazione, e poi potresti usare utenze
e privilegi diversi per le query che vengono dalla app. esterna rispetto
a quella interna, che magari ti può servire. Un ulteriore vantaggio è
che anomalie rilevate a questo livello è più difficile che siano falsi
positivi. Chiaramente, di nuovo, questo non dice molto sulla protezione
dell'applicazione, ma solo sulla protezione del suo db e del server interno.
L'uso di un semplice reverse proxy secondo me serve a poco a livello
applicativo, a meno che non faccia qualche controllo sulle query che
arrivano all'applicazione (il Web Application firewall di cui parla
Marco, appunto). Altrimenti, se l'applicazione ha delle vulnerabilità,
il proxy fa passare gli attacchi senza colpo ferire.
Infine, se ti avanzano i soldi ;), puoi mettere sia il WAF che il filtro
sulle query al db (quello lo dovresti comunque poter mettere a livello
di dbms). Sarebbe probabilmente la soluzione più corretta in termini di
difesa in profondità.

ciao

- Claudio

-- 

Claudio Telmon
clau...@telmon.org
http://www.telmon.org

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List

Rispondere a