Protezione dei segreti delle applicazioni Web dopo l'esecuzione del codice

1

Vorrei chiarire le pratiche di protezione per la gestione dei segreti del database con l'applicazione Web connessa al database, utilizzando i contenitori Docker. L'obiettivo è determinare come proteggere i segreti anche se un utente malintenzionato raggiunge una shell nel contesto dell'applicazione.

Le mie ipotesi sono:

  • il server di applicazioni Web viene eseguito nel contesto di un utente webapp , avere il minimo livello di privilegio richiesto per pubblicare i contenuti.
  • l'utente webapp deve accedere ai segreti del database per autenticare e stabilire una connessione al database. Questi potrebbero essere contenuti all'interno di variabili d'ambiente o montati nel filesystem del contenitore.
  • se l'applicazione Web è compromessa (ad esempio bug di esecuzione di codice in modalità remota che genera una shell), i segreti del database sono accessibili nel contesto dell'utente webapp .

Poiché alcuni utenti devono essere in grado di leggere il segreto, esiste un modello in cui l'utente webapp può pubblicare pagine ma non ha accesso ai segreti dell'applicazione Web? Ad esempio, un utente webapp_secrets separato con accesso in lettura ai segreti, responsabile solo delle richieste che richiedono la connessione al database / query.

Che cos'è un paradigma sicuro per impedire la divulgazione dei segreti del database se l'applicazione Web è compromessa?

    
posta user1330734 29.10.2018 - 00:28
fonte

0 risposte

Leggi altre domande sui tag