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