Newsgroup: it.comp.lang.visual-basic
Titolo: Problema di progettazione: SQLservexp + VB(net)

Ho un po di problemi nella progettazione del mio upgrade!
Ho il solito programmillo che gestisce una radio tematica e tutte le
procedure di abbonamento e invio card bolelttini etc etc...
Lo step successivo...oltre che la riscrittura in 
vb.net
 è quella di
usare SQLserverExpress (per ora...poi son convinto che l'ppetito vien
mangiando e passeranno al fratellone!)
Solo che io l'ho usato SEMPRE da dentro una rete locale!
La complicazione è che il server sta in UN ufficio....ma a questo
dovrà accedervi : 1) L'uficio amministrazione dall'altro capo della
città 2) Il commercialista da un altra parte delle città anch'esso!
Quindi si deve abilitare l'accesso remoto
Per farlo da quanto ho letto e capito...a meno di pericolose creazioni
nel pc che funge da server....devo abbandonare l'autenticazione
windows e ALMENO per quella remota usare quella di sql server
OK
Ma la sicurezza?
Dovrei criptare la connessione di "quelli che vengono da
fuori"?...penso di si....
leggendo...leggendo...
mi si offuscano le idee!
posto che con 
vb.net
 sarà solo un problema di stringa di connessione
ma l'infrastruttura come la realizzo?
Ho letto un articolo di Luca Bianchi che parla di criptografare i
dati...anche con un certificato...ma che genera un overhead abbastanza
alto...(alto quanto?....siamo in massimo in 3
contemporanei...normalmente in uno...anche se devo creare 8 / 9
accessi di cui 3 remoti...possiamo dedicare un normale pc come server
per SQLServ)
e poi crittografa i dati...non il collegamento!
potrei usare linux per creare certificati X.509 per ogni utente che
voglio far accedere al server...ma poi che me ne faccio?
ARRRGHHHH
confusione a quest'ora!
heeeeeelllllpppppppp(intontito ed offuscato...me ne vado a "farmi" di
caffeina!)

 
[cut]
secondo me ti conviene dividere il problema in due parti; l'applicazione e 
la struttura della rete.
sviluppa l'applicazione senza porti il problema di criptazione e sicurezza 
della traasmissione.
poi metti una vpn tra la rete in cui si trova il server e i client remoti.
in questo modo l'applicazione non deve prevedere funzionalita' che non le 
competono e la sicurezza dei dati/della trasmissione e' affidata a uno 
strumento che e' pensato apposta per quel compito.
in piu', con una vpn, il server sql non e' direttamente accessibile da 
internet, mentre con l'applicazione che cripta, certifica e scappella, il 
server sql DEVE in qualche modo essere direttamente raggiungibile e cio' 
e' *MALE*.
-- 
Paolo opg
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 ï¿œ quello che mi dite di fare pressappoco?
OpenVPN o, se usi solo windows, il piï¿œ semplice e user friendly Wippien 
(
www.wippien.com
, ï¿œ open source come OpenVPN) che usi nello stesso modo 
di Hamachi (che perï¿œ ï¿œ a pagamento).
Con Wippien non devi far nulla: lo installi su tutte le macchine che 
devono condividere la VPN e le metti in connessione tra loro come se 
fosse un messenger.
Se usi macchine Linux o MacOSX Wippien non ï¿œ una buona soluzione, ma a 
quel punto usi OpenVPN (devi perï¿œ fare il port forwarding della porta 
VPN sul router).
Nicola

 voglio far accedere al server...ma poi che me ne faccio?
Francamente eviterei di esporre SQL Server al mondo, mi sembra una
soluzione che ti espone ad un sacco di potenziali problemi.
Non mi convince moltissimo neanche la soluzione proposta da Paolo (scusa
Paolo non volermene) sopratutto se si deve rifare tutto in .NET, la VPN 
potrei, forse, ancora usarla con una soluzione "sempre connessa".
Io accederei al mio SQL Express tramite un modulo server (ad esempio un 
web service) che si occupa di "essere" il mid-tier tra la tua 
applicazione e il database.
ciao
stefano

 poi metti una vpn tra la rete in cui si trova il server e i client remoti.
Quoto in pieno.
In azienda abbiamo alcuni server con SQLServer attivo ed accessibile, 
con autenticazione su TCP\IP via VPN crittata, sicura, con firewall e 
cazzilli vari.
Poi da casa (Milano) posso aprire senza problemi connessioni al 
SQLServer in azienda (Monza).
Nicola

 wrote in
news:48747f8c$0$29986$
5fc...@news.tiscali.it
: 

vedro' di sopportare l'affronto...
:-)
si tratta di due approcci diversi.
io preferisco separare la sicurezza della trasmissione dall'applicazione
vera e propria. 
in piu', nel nostro caso penso che il webservice sia poco indicato
perche' l'op sta passando adesso a .net e creare come primo progetto un
webservice accessibile su internet, non mi sembra una buona idea... 
come svantaggio aggiuntivo della soluzione webservice, soprattutto in un
caso come questo con solo due o tre client, c'e' la manutenzione
dell'application server; con il webservice, devi mettere online un
server aggiuntivo oltre al server sql, con conseguente manutenzione e
aggiornamento. 
una vpn con sicurezza accettabile, la metti in piedi con un router da
100 euro e un po' di testa e la manutenzione e' poi praticamente nulla. 


 100 euro e un po' di testa e la manutenzione e' poi praticamente nulla.
Quoto, sarebbe preferibile
PaF

 aggiornamento.
beh, non è obbligatorio avere un server per l'application e uno per il 
db, possono benissimo risiedere sulla medesima macchina. L'importante è 
che il motore del db non venga esposto al mondo.
Converrai però, che un punto a sfavore della VPN è la scalabilità.
ciao
stefano

 ha scritto nel messaggio 
news:e980cc86-7428-4023...@d45g2000hsc.googlegroups.com...
zac
zac
mi son reinstallato OE per le news...google toppa oggi!
Allora...vediamo di capire...perchè di ste robe ...non tutte mi sono chiare!
Io ho la necessità in pratica di 3 Accessi al pc con sqlserver...su questo
pc può anche esserci una istanza del programma di gestione...ma non è
detto...preferirei di no!
Qualche stored si...quelle per crearsi le viste e i vari report le faccio
fare a lui (al server)...gli inserimenti (tanto son pochi) no...le gestisce
ogni client (o non sò...ma questo non è il problema!)...passiamo oltre
Con il webservice l'ho già fatto in un progetto asp.net...uso RSA...cripto
un file xml con i miei comandi...lo invio ad un altro sito web...etc etc
Però non mi piace....in pratica tanto fare come prima(che l'ho già fatto e
quindi veloce) ...usare vb6 +winsock...crearsi un protocollo custom ed usare
quello per interrogare il db del pc(che vede un solo utente locale)...!
Usare una VPN....come si fa?....
nel senso che....un limite è : l'infrastruttura che già c'è non va toccata!
Attualmente hanno un ADSL telecom e un router credo zyxel in un ufficio....e
ADSL e collegamento a provider locale su un altro...e sempre un router da
60/70 euro con firewall in un altro
Se mi metto a "sconfigurarlo" mi crocifiggono in sala mensa!
Ecco perchè la soluzione...faccio vedere la porta di SQLserver al router mi
piaceva....quello è uno spippolamento che mi consentono di richiedere e lo
fanno fare ad altri!
Cercando in rete ho trovato questa roba qua
http://openvpn.net/
è quello che mi dite di fare pressappoco?
E un utente VPN come lo mappo sul server?...uso autenticazione di
SQLserver...o c'è verso quella di windows???
Ragazzi il fatto è uno solo....non posso essere esperto di tutto...men che
meno di quello che non mi hanno mai richiesto!...abbiate pazienza!
:o)

 
se il router/firewall della sede centrale, quella con il server, e'
zyxel, verifica se ha la possibilita' di fare da server vpn; magari
risolvi il problema in tempo zero con l'impostazione di 4 parametri. 
non bisogna essere esperti, ma sapere dove andare a cercae...
;-P
