Quali sono le considerazioni sulla progettazione e sulla sicurezza per un sito che si collega ai dbs degli utenti?

0

Sto pensando a un sito web in cui un utente si iscrive, ha il proprio proprio database in esecuzione da qualche parte, quindi fornisce le credenziali al sito Web in modo che il sito Web possa accedere a quel database. Ad esempio, se fossi l'utente, potrei essere in esecuzione MySQL su un piano di hosting condiviso da qualche parte - Voglio unirmi a questo sito Web e autorizzare questo sito Web a interrogare il mio database.

Sto cercando consigli sui problemi di sicurezza che dovrei prendere in considerazione (come lo sviluppatore del sito web, ma anche i problemi che l'utente finale dovrebbe prendere in considerazione).

Penso che la sicurezza del sito Web con https sia obbligatoria, ma come dovrebbero essere archiviate le credenziali del db? In chiaro, nel db del sito web? Come dovrebbe il sito Web stabilire una connessione con il db dell'utente? ODBC sarebbe sufficiente per la maggior parte dei DBMS? Se il sito Web fosse codificato, ad esempio, in PHP, le funzioni di connessione al database nativo di PHP sarebbero più sicure o migliori per qualsiasi altro motivo? L'utente ha la necessità di autorizzare (all'interno del proprio DB) la connessione come proveniente dallo specifico indirizzo IP del sito web? ecc.

Mi rendo conto che questa non è una semplice domanda di programmazione con una risposta in bianco e nero, ma spero di ricevere un elenco di considerazioni da indagare, o forse collegamenti ad articoli che discutono di questi problemi.

Grazie in anticipo.

    
posta youcantryreachingme 14.09.2018 - 01:45
fonte

1 risposta

1

Sembra molto rischioso. Stai richiedendo agli utenti di esporre i loro database al web in modo che il tuo sito possa accedervi?

Il rischio qui è sul proprietario del database e non tanto su di te. Tutto ciò di cui hai bisogno è la protezione delle credenziali e il supporto dei loro requisiti di connessione.

Hanno bisogno di

  • Assicurati che solo il tuo IP possa connettersi al loro ambiente (l'esposizione del loro database al web è orribile)
  • Crea un account con privilegi limitati che puoi utilizzare
  • Crea stored procedure per l'account per limitare ciò che può fare
  • Monitoraggio di comportamenti strani che si connettono all'account
  • Garantire che le connessioni al database consentano solo sessioni crittografate
  • Avere un piano in atto per una violazione dei propri dati
risposta data 14.09.2018 - 02:07
fonte

Leggi altre domande sui tag