Lavoro per un'azienda sanitaria che enfatizza la sicurezza, a causa della sensibilità dei dati con cui lavoriamo. Di recente, abbiamo effettuato molti controlli (interni ed esterni) del nostro attuale "stack" per garantire che siamo conformi ai vari requisiti del cliente.
Un argomento recente di discussione riguarda le variabili ambientali. Usiamo la gemma dotenv, quindi stiamo memorizzando molte di queste variabili in un file .env (ignorato in git) sul server web. Queste variabili includono le credenziali del nostro database, le credenziali SMTP e varie chiavi API.
Quando alcuni dirigenti hanno appreso che tali credenziali erano memorizzate sul server web in testo semplice, esprimevano preoccupazione. Questa preoccupazione ha scatenato la discussione sulla crittografia di quelle variabili. Vedo i meriti della crittografia e sarebbe certamente utile per proteggere le nostre chiavi API e simili. Tuttavia, dubito del valore che offre per proteggere i dati memorizzati sul nostro server DB (che è in definitiva la preoccupazione maggiore) ... di cosa stiamo parlando qui è un utente malintenzionato che ottiene l'accesso al nostro server web. A meno che manchi qualcosa, quell'utente potrebbe comunque aprire una console di rotaie, che caricherà l'applicazione, gestirà la decrittografia delle credenziali e permetterà loro di interrogare il DB usando i nostri modelli (Patient.all, per esempio). Mi sembra che se il nostro server web viene compromesso, veniamo protetti indipendentemente dal fatto che abbiamo crittografato quelle variabili. Ho ragione su questo?
Supponendo che io sia, come rispondo a questa domanda con qualcosa di più concreto di "beh, è così che funziona Rails" (per quanto riguarda la possibilità di aprire una connessione al DB tramite i binari c)?