Quanto è sicuro un utente in MySQL?

4

Diciamo che ho due database sullo stesso server (ad es. AWS RDS), DB1 e DB2 . Ci sono due utenti con alcune restrizioni e ogni utente è assegnato a un altro database. US1 ha accesso a DB1 e US2 ha accesso a DB2 .

Gli utenti e le loro password sono memorizzati separatamente su server diversi. DB1 è utilizzato per memorizzare il testo cifrato e DB2 per memorizzare le chiavi di crittografia.

Posso essere sicuro, al 100%, che senza le password (ignorando bruteforcing e altri attacchi sulla password stessa), che pur avendo accesso a solo uno degli utenti, un utente malintenzionato non sarà in grado di accedere all'altro database?

    
posta Theodore 28.12.2016 - 13:44
fonte

2 risposte

1

Se imposti correttamente le autorizzazioni, sì, puoi essere sicuro.

Per concedere all'utente US1 seleziona, inserisci, cancella le autorizzazioni al database DB1 usa questa query:

GRANT SELECT, INSERT, DELETE ON DB1.* TO 'US1'@'host';

o per tutti i privilegi

GRANT ALL ON DB1.* TO 'US1'@'host';

In questo modo US1 può vedere e interagire con DB1 , mentre non è in grado di interagire con DB2 .

Puoi testare questo autenticando come utente US1 e usando la query: show databases; tramite la riga di comando o phpmyadmin. Vedrai solo DB1 nei risultati.

    
risposta data 28.12.2016 - 14:07
fonte
-1

Se si accede al server DB2 che memorizza le chiavi di crittografia, la bruteforcing diventa più semplice, ma non significa accesso immediato all'altro database. Nell'altro caso, l'accesso al testo cifrato non dovrebbe essere un problema se l'algoritmo di crittografia è abbastanza strong.

    
risposta data 28.12.2016 - 13:58
fonte

Leggi altre domande sui tag