Cos'è la DMZ
Con il termine DMZ, zona demilitarizzata, in informatica, si intende la sottorete, posta tra la rete locale, LAN, e altre reti considerati non attendibili, quali Internet, WAN, ma non solo. Qualsiasi servizio, sia esso destinato a utenti Internet o destinato ad utenti di reti terze, dovrebbe transitare dalla rete DMZ.
Non è insolito, però, che la gestione della DMZ, segua le regole dell’anarchia, ognuno posiziona server, in questa rete, secondo i criteri più disparati; sovente, in dmz, mi è capitato di trovare il server WEB con il sito istituzionale, il server WEB del CRM dell’ufficio del personale, il server SQL, il server Proxy, il server FTP, il server Active Directory, il file server, il centralino, il server per la gestione dell’antifurto, e una volta anche un AS400.
Fermi tutti!!!, Facciamo chiarezza
Nella realtà, la zona demilitarizzata è quella striscia di terra posta tra due confini di stato; gli stati che confinano sono due e i confini sono due, entrambi, militarizzati, separati da un lembo di terra considerata non appartenente ad alcuno dei due stati, quindi demilitarizzata, gli unici punti di contatto tra i due confini è rappresentato dai checkpoint di frontiera; sono certo che, anche a voi, osservandola da questo punto di vista la DMZ non vi apparirà più una zona sicura.
La capitale
Avvicinandoci al contesto informatico, ma comunque seguendo la paràfrasi dei confini e degli stati, per un momento NON consideriamo i DATI della vostra azienda come IL Capitale, ma come LA Capitale; stando a quanto appena esposto, andreste a costruire LA Capitale del vostro stato nella DMZ?
Provo a rispondere per voi, NO, non lo fareste, anzi la costruireste dietro alla linea di confine militarizzata, ben protetta dai militari.
L'uso corretto della DMZ
Abbandonando le parafrasi e riportando l’argomento in ambito informatico, la DMZ è quella rete che deve essere posta tra due firewall (i confini antrambi militarizzati) nella quale NON devono essere contenuti dati (La capitale) in cui i server devono sono avere il compito di verificare (i checkpoint di frontiera); deve essere considerata solo una rete di transito.
Nella DMZ, devono essere ospitati solo server vuoti ed eventualmente sacrificabili; in caso di attacco, se dovessero essere violati, l’impatto sarebbe contenuto. I dati, di contro, devono insistere su altre reti, sempre protette firewall, che nel caso delle architetture a doppio bastione è sempre quello interno.
La regola principe
Tra l’utente e i dati devono esistere, almeno, due livelli di firewall.
L’interposizione di più livelli di controllo la si può realizzare, contringendo il flusso ad attraversare il firewall più volte.
L'esempio comune
Ipotizzando di creare, sul firewall, tre reti distinte, nella prima si posizione il database server, nella seconda l’application server, nella terza (la DMZ) il web server; in questo modo, l’utente, attraverserà il firewall per fare la richiesta al web server, il quale, attraversando in firewall, farà la richiesta al application server, il quale, attraversando il firewall, farà la richiesta al database server.
utente <=|=> web server <=|=> application server <=|=> database server
In questo modo sarete in grado di controllare tutto il flusso; potete controllare quale utente può accedere al web server, potete controllare l’accesso all’application server, autorizzando solo a quel web server e potete controllare l’accesso al database server autorizzando solo quell’application server.
Qualora, application server e web server non siano separabili, si fanno “scivolare in basso”, al secondo livello, e si aggiunge un reverse proxy al posto del web server.
utente <=|=> reverse proxy <=|=> web application server <=|=> database server
Considerazioni finali
Come, sicuramente, avrete notato, in entrambe le soluzioni, nella DMZ, insiste solo il web server o il reverse proxy, unico punto di contatto con gli utenti, siano essi provenienti dalla reti interne, oppure da internet; le altre reti, in particolare quella sulla quale insiste il database server, è ben lontana dall’essere raggiungibile.