Newsgroup: it.comp.software.database
Titolo: Connessione ad un db remoto?

Qualcuno sa se ci possono essere dei problemi di sicurezza consentendo ad un
web server di accettare connessioni al database da remoto(da una
applicazione sul client via http)? Normalmente è un servizio incluso nelle
offerte di hosting con supporto database o è difficile da trovare? Se
possono esserci problemi di sicurezza, si possono comunque risolvere?

 si possono comunque risolvere?
No.
Davide

 No.
Come posso fare allora per accedere al database? Solo tramite web browser? O
è possibile accedervi in altro modo(ad es. programmino Java, altro...)?
Ciao!

 Ciao!
Ti ci puoi collegare come vuoi... dimmi esattamente quello che ti serve
e ti dico come fare... (intendo che strada intraprendere... :)
/G

 Nessuno con un dito di cervello te lo offrira' mai.
ma per favore... non diciamo stron%ate...
database pubblicati sulla internet ce ne sono a milioni, e anche
ben sicuri...
/G

offerte di hosting con supporto database o è difficile da trovare?
Se come sopra, spesso questo servizio non ti viene dato, ma le connessioni
al db sono limitate al solo localhost, quindi il web server, le relative
pagine web, ed il database devono essere sullo stesso server. Non tutti
però lo limitano in questo modo, molti ti permettono (a mio avviso
giustamente) di connetterti al db anche da remoto.
I problemi di sicurezza eventuali sono:
1) Il modo in cui ti connetti al db (criptato o meno)
2) La sicurezza del modulo di autenticazione del db stesso
Ciao.
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
--------------------

Nessuno con un dito di cervello te lo offrira' mai.
E perchč mai?


 e ti dico come fare... (intendo che strada intraprendere... :)
Io mi collegavo tranquillamente al mio database online usando Java e jdbc
via url, ora perň pare che il mio hosting non accetti piů tale
connessione(SQL ERROR: java.sql.SQLException: Server configuration denies
access to data source). Come risolvere senza usare un browser??

Che al 90% dopo cinque minuti il database e' andato...
Come mai dici questo?


Che al 90% dopo cinque minuti il database e' andato...
Come mai dici questo?


Nessuno con un dito di cervello te lo offrira' mai.
Non è vero: il mio provider fornisce (con modica cifra) l'accesso a MySQL per
qualsiasi utilizzo. 
Noi abbiamo sviluppato una procedura che gira su una decina di client sparsi nel
territorio che utilizzano e aggiornano una serie di tabelle residenti nel server
del provider.
Saluti, Marino

 qualsiasi utilizzo.
Ci dici il nome del provider e magari la cifra? E' una buona connessione?

 via url, ora però pare che il mio hosting non accetti più tale
a) se è il tuo database e il tuo ISP ti fa hosting chiamalo e digli se 
hanno bloccato qualche porta...
b) se è un database di un ISP dove tu ti potevi collegare e tu non hai 
voce in capitolo selle restrizioni dio sicurezza e/o politiche di rete
non credo ci puoi fare molto... a meno che non hai la possibiltà di 
mettere su delle pagine server side... a quel punto può essere 
interessante farsi un bel broker SOAP... :)
/G

 interessante farsi un bel broker SOAP... :)
Pagine server side si, ma Php non Servlet... Secondo te ci posso fare
qualcosa? Sarebbe bello passarsi un oggetto Php in Java...

 qualcosa? Sarebbe bello passarsi un oggetto Php in Java...
passarsi un oggetto č una parolaccia... signifca tutto e nulla
dai un occhiata a nusoap... :)
da ora credo iniza OT...
/G


:Provate a guardare gli ingredienti del famoso Labello che si usa per
:le labbra screpolate: Butirrospermum Parkii (sperma di maiale).

Se qualcuno te lo offre, te scappa.
Sono sinceramente curioso di vedere questa affermazione suffragata da
maggiori dettagli.
Messa cosě significa che ai database ci si puň accedere solo da reti
locali. Un'applicazione client/server via Internet quindi non la faresti
mai. Giusto? O č il web server che ti preoccupa?


mai.
Dipende da cosa si intende per "client-server". Se significa che chiunque
puo' (in teoria) collegarsi da casa con un MySQL, no, non lo farei; visto
che a quel punto i casi sono due: o fornisco un accesso ad ogni utente, o
chiunque puo' accedere a qualsiasi punto del database, compresi i dati di
altri utenti (parlo di MySQL; pero' in genere potrebbe servire un accesso
cosi' fine - ACL a livello di record - che non so se esistano DBMS capaci
di farlo. Se l'accesso dev'essere piu' grossolano, se ne puo' parlare).
Il fatto e' che con MySQL la password per il database viene trasmessa, in
chiaro, ed e' intercettabile (dall'utente, per esempio). Sicche', sarebbe
inutile anche l'autenticazione da parte di un applet Java (visto fare).
Diciamo che per consentire l'accesso dall'esterno a un DB MySQL serve una
discreta preparazione del terreno da parte dell'hoster, e io, per ora, ne
ho visti pochi cosi': di norma aggirano il problema mettendo su (pero', a
caro prezzo) un daemon separato su un'altra porta, e lavandosene le mani.
Un altro problema poi e' la *connessione* vera e propria. Li' entriamo in
un ginepraio che dipende dal cliente finale: se e' una singola entita' il
lavoro e' proponibile - se sono potenzialmente mille persone diverse, con
le proprie idiosincrasie, le proprie configurazioni (chi ha il router, il
firewall, il NIDS, chi non consente traffico !{25,53,80,110,119,443}, chi
ha il Macintosh...) bisogna pensarci su. Il problema c'e' anche sulla 80,
ma di norma il cliente finale se n'e' gia' accorto e non pretende che gli
vada io a sistemarlo.
Infine c'e' il problema del traffico; se passano tutti da un'applicazione
Web, posso metterci un po' di intelligenza dentro per evitare rogne o per
registrarmele/debuggarle/ecc.; se uno si attacca direttamente al DB, sono
vittima :-), salvo che ci siano salvaguardie al livello di peso di query;
MS SQL Server per dire mi pare le abbia, MySQL mi sa di no.
Per tutte queste ragioni, un hoster che dia accesso diretto al DB secondo
me si cerca guai. Questo puo' essere in due casi (IMHO): perche' alla fin
fine ci ha pensato e ha trovato come limitarli/evitarli... oppure perche'
non ne ha la minima idea e non ci ha pensato affatto. Nel secondo caso io
non so se ho voglia di farmi hostare da lui :-)
In genere, nella mia limitata esperienza, il tempo impiegato a rendere la
connessione diretta al database non necessaria e' stato tempo speso bene.
Mi rendo conto che in altre situazioni puo' non essere cosi': quel "se te
lo propongono, te scappa" voleva essere per un buon 20% una battuta :-)



Ok, posso anche essere d'accordo sulle tue affermazioni ma:
1) L'hoster ti deve dare la possibilità di accedere al database da remoto,
sarai poi tu a decidere se usarla, se accederci solo tu per amministrazione
o se farci accedere anche altri, se limitarla ad IP, o infine se chiuderla.
Il fatto che io ci possa accedere da remoto non pregiudica il database
server, ma il mio database. Io sono dell'idea contraria alla tua, se
l'hoster non mi dà questa possibilità fuggo, perchè è troppo facile
nascondersi dietro la scusa della sicurezza per evitare di fare le cose per
bene. (Fino ad un pò di tempo fa la maggior parte delle società della
galassia Verio davano accesso da remoto su Mysql ed in generale io ho
sempre trovato le porte aperte, magari non era di default, ma bastava
chiedere).
2) Con gran parte dei database puoi avere un controllo abbastanza
granulare, il discorso Mysql è a parte. Comunque, fai accedere solamente a
delle viste e sei a posto. Ad ogni modo, anche qui, è un problema mio che
devo valutare io che sviluppo l'applicazione, non dell'hoster. Impedendomi
l'accesso, mi costringi sempre a fare una web application ed in molti casi
non è certo la scelta migliore per usabilità, GUI e velocità.
3) Molti non ti danno l'accesso, forse perchè non sanno neanche che si può
fare, visto che poi ti trovi regolarmente il phpmyadmin non in ssl. IMHO
avere accesso al db, avere telnet è sinonimo di qualità perchè significa
che dall'altra parte c'è gente che sa come fare. Ci sono sistemi operativi
e database sicuri, pensati per un uso multiutente, basta saperli
configurare. A chiudere tutto e quindi a darti un servizio limitato, sono
capaci tutti.
Conclusione. IMHO a livello di database non c'è nessun problema di
sicurezza. A livello di applicazione spetta decidere al programmatore.
Ciao.
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------