On 2023-12-27, Enrico Giudici <
enrico....@gmail.com> wrote:
> Mio cognato ( sempre lui ) ha preso accordi con uno studio associato per
> utilizzare il mio programma, che è quello che mio cognato utilizza da anni.
In che senso possono usarlo? Gli fornisce un accesso o una copia del
programma? Nel secondo caso, penso che ti convenga sentire un avvocato,
perché mi sembra che ci sia un abuso di diritti
> lasciamo perdere il discorso licenza e quant'altro ma veniamo al dunque; la
> persona che ha l'accesso al programma e di conseguenza al db ( tramite il
> programma ) potrebbe in teoria, ma anche nella pratica accedere al db
> tramite un client qualsiasi ( FlameRobin, IBExpert, etc ) senza passare dal
> mio programma.
Anche qua, dipende da come hanno accesso al programma. Considera comunque che
una "mitigazione" è usare Firebird in modalità client/server, che permette di
avere un margine di controllo sull'accesso al database
> Secondo voi come potrei proteggere l'accesso al db, attualmente l'accesso è
> sempre con SYSDBA ( user ) e masterkey ( password ), informazioni standard
> che questa persona può recuperare via internet.
Ecco, sicuramente un primo punto è cambiare la password di SYSDBA, e
successivamente creare un utente dedicato all'accesso
> Tutte le tabelle, store procedure sono state create ai tempi con l'utenza di
> cui sopra.
Non è un problema, Firebird, come molti database, permette una gestione
multiutente, con grant e revoke appositi.
> Ho pensato di creare un nuovo user via SQL ma :
> 1) come faccio a portare tabelle, store procedure, trigger ed altro sotto
> questo nuovo user ?
Non devi portarle, ma devi dare i giusti grant. Fai riferimento a questo, è
per Firebird 3 ma dovrebbe andare bene anche per 1.5:
https://www.firebirdsql.org/file/documentation/chunk/en/refdocs/fblangref30/fblangref30-security.html
> 2) Accedendo con SYSDBA l'utente potrebbe vedere tutto anche se gli oggetti
> sono associati al nuovo user ?
Sì, perché SYSDBA è l'utente DBA del database, e come tale ha accesso a
tutto. Tieni comunque conto che per come la vedo, il problema è un altro:
questo studio consociato deve accedere a tutti i dati? Se no, il problema
diventa di privacy, e non è banale da risolvere, soprattutto perché tu, da
come ho capito, hai scritto un'applicazione pensata per essere usata da un
singolo utente
Enrico
P.S. un'alternativa per risolvere il problema alla radice è che svuoti le
tabelle e gli dai l'applicazione con un database vuoto con solo le strutture
P.P.S. ti conviene aggiornare Firebird, l'ultima versione è la 4 che porta
parecchie novità (una su tutte, l'aggiunta di funzioni dedicate alla
criptazione dei dati)