Quali sono i pericoli con cui si creano i database MySQL al volo?

5

Sto costruendo un sito dove le persone creano piccole reti private, private. Per facilità di amministrazione e portabilità, vorrei che ogni rete fosse archiviata in un diverso database MySQL.

Comprendo che non esiste un limite artificiale al numero di database che un server MySQL può gestire, e nei miei test di base non c'è un impatto misurabile sulle prestazioni. Quello che vorrei sapere è: se permetto che questi database vengano impostati senza il mio intervento, quali sono le implicazioni per la sicurezza?

I miei pensieri finora:

  • Per l'utilizzo generale, l'app si connetterebbe a MySQL come utente con diritti limitati "SELECT", "INSERT", "UPDATE", "DELETE". A questo utente sarebbero concessi i diritti di lettura / scrittura in ogni database creato.

  • Quando viene creata una nuova rete, l'app si connette a MySQL come utente speciale con il privelege "CREATE", quindi può creare un nuovo database.

  • Vorrei solo creare un nuovo database se sono convinto che la persona sia un utente legittimo (convalida e-mail, captcha ecc.)

  • Se vengono creati database illegittimi, li noterò e li eliminerò, e spero di capire come evitare che vengano creati altri.

Con un setup come questo, ci sono delle implicazioni sulla sicurezza a cui non ho pensato? C'è qualche pericolo, oltre alla possibile creazione di database da parte di utenti illegittimi?

    
posta Jason O'Neil 16.12.2013 - 10:40
fonte

1 risposta

7

Non ci sono problemi di sicurezza inerenti con questa architettura. Qualsiasi rischio deriverà dagli errori di implementazione o dalle vulnerabilità in MySQL.

Sembra che tu stia considerando questo metodo per fornire una separazione tra i dati di diverse reti, tuttavia sembra un po 'eccessivo. So che hai provato per le prestazioni, ma su larga scala questo potrebbe utilizzare più risorse, questo è un forum diverso.

Ricorda, è tutto basato sull'implementazione, potresti avere tutti i dati di rete in una tabella e sarebbe sicuro finchè lo progetterai e lo codifichi bene.

    
risposta data 16.12.2013 - 11:30
fonte

Leggi altre domande sui tag