Newsgroup: it.comp.sicurezza.windows
Titolo: A proposito di sicurezza

Avrei una domanda da porre:
Poniamo che abbia un server web raggiungibile da internet con un indirizzo
IP
pubblico e statico, al quale e' collegato un altro computer con
indirizzo IP privato e statico, che comunica con il server web attraverso
una
seconda scheda di rete montata sullo stesso.
Su questo computer gira SQL Server, e le pagine web caricano i dati
leggendoli da SQL attraverso i DSN.
Secondo voi il computer SQL e' al sicuro, oppure e' suscettibile
di attacchi dall'esterno, se non vengono caricate le opportune patches ?
E se non e' sicuro, per quale motivo ?
Grazie
Danny

E se non e' sicuro, per quale motivo ?
Buona la prima, e il motivo l'hai detto tu: se e' possibile accedere al
computer pubblico con sufficienti diritti (leggi: exploit), come minimo
puoi accedere anche ai dati SQL con i diritti del DSN.
Poi, se l'exploit e' ripetibile e non era diretto specificamente contro
l'applicativo webserver (che, sull'SQL server, non c'e'), c'e' caso che
si possa entrare in "tunnel" pure sull'SQL server con gli stessi poteri
del primo exploit.
Quindi bisogna mantenere l'host esposto (a) con meno ingressi possibile
(es. solo HTTP e/o HTTPS), (b) aggiornatissimo. Purtroppo e' l'unica.
Cioe', l'unica no: esistono (e costano un miccio) dei proxy hardware in
grado di limitare *fortisssimamente* quello che transita su HTTP, oltre
che riscriverlo a forza bruta (niente header strani, ecc.). Pero' cosi'
c'e' il rischio che determinate applicazioni non funzionino piu' (credo
che per es. gia' i cookies siano severamente limitati).
Leonardo
-- 
ftp://warez.slashdot.com:12345
 - Warez for nerds. Stuff that matters.

E' quello che ho pensato anch'io !
Ma allora dimmi una cosa:
quelle aziende che hanno un SQL server con dei
database una parte dei quali devono esser messi
a disposizione di utenti di internet mentre l'altra
parte e' "riservata" agli utenti della rete interna che
si trova nell'azienda, come fanno ?
Provo a fare un esempio:
io, utente internet, posso andarmi a modificare chesso',
Indirizzo, telefono, cap.
Gli impiegati dell'azienda possono magari anche modificare
il mio nome e cognome, cosa che invece io, da internet, posso
visualizzare ma non modificare.
Quindi, questo benedetto SQL server dev'essere raggiunto sia
dagli utenti della intranet che da quelli di internet.
E per rendere il sistema sicuro, che si fa ?
Danny

si trova nell'azienda, come fanno ?
Due possibilita': quella piu' tranquilla e' avere DUE diversi server
database, uno dei quali in DMZ in pasto ai lupi e aggiornato a forza
di tanto in tanto (forse).
L'altro sistema e' avere due processi (se possibile) o due database,
e far girare il processo esterno come utente privo di diritti (entro
i limiti funzionali).
Eventualmente, si puo' limitare il *tipo* di dati che entrano da Web
sotto forma di query HTTP.
In pratica, il server Web esterno manda queries a quello interno (in
PHP si fa con "$result = file($URL)")... ma quello interno NON E' un
server Web, e' uno sgranocchiatore di QUERY_STRING basato su regexp,
per cui (esempio cretino)
^GET /dmz/[a-z0-9]{1,8}.php?[a-z]{1,16}=[a-z 0-9]{1,32} HTTP/1.[01]$
fa passare la query di aggiornamento del telefono mentre Nimda resta
fuori all'addiaccio, et cetera.
Cosi', dalla DMZ si vede aperta solo una porta 80 - e quel che passa
e' 'sanitizzato' da, ad es., Perl. O da un programmino cosi' piccolo
che e' possibile dimostrarne la correttezza/inviolabilita' formale.


Ancora grazie.
A proposito, ho trovato questo :
http://digilander.libero.it/lzpsite/sicurezza/netstat.txt
Niente male, almeno inizio ad imparare !
Danny