Sembra incredibile che non ci sia ancora nessuna best practice accettata dal settore per questo problema (o forse solo uno di cui non sono a conoscenza):
Qual è il modo più sicuro per uno script batch, un programma che deve connettersi a una risorsa (database E.g.) tramite un'interazione non guidata dall'utente per l'autenticazione? Le risposte agnostiche della tecnologia sono le migliori, ma se c'è un grande differente basato sul sistema operativo (Windows, Unix, Mainframe ecc.), Database o linguaggio di programma che è anche utile sapere.
Sarebbe positivo se si potesse indicare il motivo per cui la soluzione (o le opzioni in ordine di preferenza) è sicura (ad es. protegge contro utenti interni malintenzionati, aggressori esterni, malware in questi modi). Anche perché ha un basso impatto operativo (cambio, manutenzione ecc.)
es. la mia lista:
IMO migliore preferenza (più sicura) al minimo:
- Autenticazione basata su certificato in cui il certificato è archiviato in un HSM
- Autenticazione basata su certificato in cui il certificato è memorizzato in un modulo crittografico software
- Autenticazione basata su certificato in cui il certificato è l'archivio certificati del sistema operativo - in genere richiede root per ottenere l'accesso in modo che il gioco sia attivo se ciò avviene
- Autenticazione esternalizzata basata su un LDAP
- Password in cui la password viene crittografata e archiviata in un server diverso o in un deposito di password. Solo l'account di servizio è autorizzato a connettersi, decrittografare e recuperare la password tramite trasporto sicuro (in pratica come funziona TDE con Oracle Wallet)
- Password basata su dove la password è crittografata e archiviata sul server. L'account di servizio può decodificare solo.
- Password basata su dove la password è memorizzata sul server ma protetta da perms del sistema operativo ed è esclusa dal backup (backup manuale nel vault della password).
Il certificato è di gran lunga il migliore e il metodo defacto per qualsiasi cosa come Amazon EC2, Github ecc.
Chiudi e reindirizza se ti è già stata data una risposta. Non sono riuscito a trovarlo quando ho cercato.