Gestione delle credenziali db per le applicazioni Web

1

Esiste un'alternativa ai file delle proprietà per la gestione delle credenziali di connessione del DB (e di altri servizi) per un gruppo di applicazioni Web? Non potresti usare qualcosa di simile a un registro di servizio ?

Ad esempio, l'app Web del client si connetterebbe al server "registro delle credenziali" con una chiave e quindi recupererà le credenziali del DB necessarie. In questo modo, tutte le credenziali potrebbero essere gestite / aggiornate / ecc. in un posto, nel registro delle credenziali. Sarebbe anche un'alternativa alle password non crittografate in un file di testo sul server web.

Le persone lo fanno in pratica? In particolare, esiste un modo più automatizzato per gestire un numero elevato di credenziali in un gran numero di applicazioni / ambienti?

    
posta xdhmoore 18.04.2018 - 23:07
fonte

3 risposte

1

Sì, ci sono diversi strumenti che forniscono l'automazione delle migliori pratiche per la gestione di criterio delle credenziali del database .

Se utilizzi AWS, è disponibile AWS Secrets Manager . Per una soluzione agnostica del provider cloud, è Hashicorp's Vault che gestisce i segreti di tutti i tipi.

Se vuoi distribuire qualcosa localmente nel tuo ambiente, c'è Conjur che è open source. Esistono anche altri strumenti commerciali come okta e altri

    
risposta data 20.06.2018 - 03:58
fonte
0

Dipende da quale minaccia si vuole proteggere. Se non vuoi avere segreti nei file source / config, puoi memorizzare il tuo "master secret" (quello per connettersi al "registro delle credenziali") in una variabile di ambiente.

Se, su un sistema multi-tenantato, si possono vedere variabili d'ambiente a livello di sistema; Consiglierei di avere segreti individuali per inquilino, per accedere al registro delle credenziali. Ovviamente, protetto anche con ACL adeguati.

Una soluzione alternativa è utilizzare l'accesso basato su certificati per recuperare le credenziali. Memorizzate la chiave privata protetta sul vostro computer (accessibile solo per l'utente / processo richiedente) e un riferimento ad esso, come un'identificazione personale o altro, in un file di configurazione.

    
risposta data 20.04.2018 - 19:59
fonte
0

Un metodo alternativo sarebbe utilizzare un server di autenticazione esterno per memorizzare le credenziali con i meccanismi di sicurezza richiesti (es .: Directory Services Server / LDAP). L'autenticazione del database può essere gestita su questo server anziché gestirla al programma, in quanto il nucleo di autenticazione può essere scaricato su questi server di autenticazione.

Spero che tu possa eliminare le tue preoccupazioni in questo modo ...

    
risposta data 20.06.2018 - 02:52
fonte

Leggi altre domande sui tag