Newsgroup: it.comp.sicurezza.crittografia
Titolo: [domanda] - [curiosità] - la sicurezza nei conti correnti on-line

Salve a tutti,
mi è venuta una curiosità, studiando la struttura logica della rete sul mio
luogo di lavoro per rendere il più sicuri possibili i dati sensibili
presenti su alcuni database.
La mia situazione è la seguente:
devo mettere un server web apache/tomcat su internet e questo server deve
avere la possibilità di collegarsi ad un db. I dati presenti nel db sono
dati sensibili e devono essere il più possibile al sicuro.
Ho pensato di mettere il server web in DMZ, ma il dubbio è sorto per il db
server.
Lo metto in dmz o nella lan?
E, partendo da questo quesito mi chiedevo...
le banche che consentono la gestione del conto corrente on-line, come
disporranno i loro servizi?
I loro db dove stanno? in dmz? in lan?
Insomma, quali sono le misure necessarie di sicurezza che vengono prese per
prevenire i problemi?
Grazie a tutti
un saluto
--
MaoX

 prese per prevenire i problemi?
Devi evitare che la compromissione del server web possa portare
automaticamente o facilmente alla compromissione dell'rdbms. Quindi 
dal server web si dovrebbe poter accedere all'rdbms solo attraverso 
la porta del database e solo con account con i privilegi strettamente 
indispensabili alla esecuzione delle query necessarie o, meglio, di 
stored procedure. L'rdbms dovrebbe consentire l'accesso dal webserver 
solo per quegli utenti e non per gli admin. Nessuna altra comunicazione 
tra le macchine dovrebbe essere permessa e sarebbe meglio se le due 
stessero, come dicevo, in subnet separate collegate da un firewall, per 
evitare lo sniffing del traffico tra la lan e l'host che esegue il rdbms 
o possibili tentativi di denial of service.
Sono giusto alcuni consigli che mi vengono in mente di getto e non
sono certo da considerarsi esaustivi. Come si dice... just my 2 cents.
Fabio

 Lo metto in dmz o nella lan?
In linea di massima dovresti mettere il web server in
DMZ, poi se possibile usare un server separato che
sia sempre in DMZ per il database, tale DB però non
conterrà tutti i dati, ma solo quelli necessari al web; il
resto dei dati sarà in un DB interno alla LAN che ogni
tanto si connetterà a quello della DMZ (sempre LAN
verso DMZ, *mai* DMZ verso LAN occhio !) per tutti
gli aggiornamenti del caso ... ovvio che detto così
sembra semplice, in ogni caso la "base" è questa
poi ... beh ... giocaci sopra :-)
Ciao
* ObiWan
DNS "fail-safe" for Windows 2000 and 9X clients.
http://ntcanuck.com
408 XP/2000 tweaks and tips
http://ntcanuck.com/tq/Tip_Quarry.htm

 l'host che esegue il rdbms o possibili tentativi di denial of service.
A livello applicazione puoi aiutare non poco la cosa.
Personalmente ho seguito alcune procedure (che riporto cosi' mi dite che
ne pensate :)) per evitare problemi di sicurezza.
L'applicazione in questione usa PHP e postgres ma concettualmente questo
andrebbe bene per altre piattaforme.
Prima di tutto il db, e' possibile eseguire l'autenticazione sul server
usando anche SSL. Eventualmente restringendo l'accesso al solo server
web.
Dal lato applicativo (PHP) nel codice non c'e' nessuna login o password
o qualunque cosa possa portare a scorpirne una funzionante. In pratica
gli utenti che usano il servizio sono anche utenti del db e quindi una
volta che si autenticano nell'app nel corso della sessione uso le loro
generalita' per accedere al db.
Questo porta ad un po' di vantaggi, come gestire un log interno,
permessi, identificazione dell'utente che crea/modifica ecc.
Il webserver poi girerebbe con SSL e solo autenticazione via certificati
personali (tra l'altro voglio vedere se c'e' un modo per utilizzare il
certificato del client anche per altre cose...tipo far firmare ogni
entry del log)
Il problema che rimane e' il client che comunque deve memorizzare alcune
info. Nel mio caso un cookie, ma pensavo a sua volta di crittarne il
contenuto dal lato server (il canale e' comunque SSL quindi...).
uhm altro per ora non mi viene in mente.
Ciro.