Utente ospite pubblico per PostgreSQL?

1

Gestisco un progetto software open source che si basa su dati che sono felice di condividere con il pubblico. Il software è ospitato su github.com, ma il set di dati è troppo grande per essere ospitato lì. È più semplice mantenere il set di dati sotto forma di un database relazionale, attualmente memorizzato su un server PostgreSQL nel mio laboratorio universitario. Suppongo che sarebbe considerato una cattiva pratica creare un account utente "guest" di sola lettura sul mio server PostgreSQL e pubblicare le credenziali insieme al software. È vero? Se è così, perché? E puoi suggerire un modo sicuro per condividere un database relazionale con il pubblico?

La mia alternativa è probabilmente quella di configurare un server HTTP che fornisce risultati standardizzati da particolari endpoint RESTful o accetta query ad hoc per il database (presumo che anche quest'ultima sia una cattiva idea). Ma mi piacerebbe avere una buona idea del perché dovrei farlo prima di intraprendere questa strada.

    
posta Matthias Fripp 29.10.2017 - 00:59
fonte

1 risposta

4

Hai già menzionato alcuni dei problemi:

  • l'errata configurazione è facile,
  • i bug di escalation dei privilegi potrebbero metterti a rischio
  • offrire un accesso raw, più o meno incontrollato ai dati può portare a situazioni DOS.

Ma ci sono alcuni problemi aggiuntivi con la tua idea:

Ciò significa che la tua università sarà tenuta ad offrire il servizio finché il prodotto sarà utilizzato da chiunque. La continuità è un problema; se uno dei tuoi utenti decide di clonare l'intero database su quella connessione, potrebbe non rispondere agli altri. Inoltre, potrebbero esserci persone che desiderano che il software venga eseguito senza una connessione Internet.

Mentre una http-API è la strada da percorrere per permettere alle persone di usare il tuo database in modo relativamente sicuro in generale, in questo caso particolare, il modo migliore - dal mio punto di vista - sarebbe usare una buona compressione su un dump del database e ospitare quel file da scaricare sul tuo server universitario se è troppo grande per github.

In questo modo, non devi introdurre inutilmente un singolo punto di errore perché l'applicazione funzioni e mettiti meno rischi, per non parlare di risparmiare un noioso lavoro di introduzione della vulnerabilità.

    
risposta data 29.10.2017 - 08:56
fonte

Leggi altre domande sui tag