Ottimo modo per archiviare molte password di terze parti

3

Ho consultato questa domanda , ma vorrei piacerebbe sentire altri input.

Sto costruendo un'app di scraping che fungerà da aggregatore di un gran numero di aziende che utilizzano alcuni sistemi di tracciamento / gestione del personale / inventario molto popolari (in quel settore). Per accedere a questi e raschiare le informazioni, abbiamo bisogno dei loro nomi utente e password in modo che possano accedere molto.

Quello che ho ipotizzato dalla mia ricerca è che il percorso ottimale sarebbe quello di impostare un nodo separato su AWS il cui unico scopo è quello di ospitare le password e renderlo accessibile solo internamente e solo al nodo che farà il lavoro.

Fornirò un'API: chiedi un rasco e riceverai i risultati più tardi (i risultati non sono effettivamente sensibili).

Ora, c'è un modo per aggiungere una password a tutto questo, o è più o meno abbastanza? Questa non sarà un'applicazione nota in lungo e in largo, ma temo che perdere le informazioni di autenticazione sarebbe una catastrofe per queste attività.

    
posta dsp_099 08.01.2016 - 13:22
fonte

3 risposte

0

What I've surmised from my research is that the optimal route would be to set up a separate node on AWS whose sole purpose is to house the passwords.

Supponendo che tu non voglia o abbia bisogno di SQL o di altri data management per gestire le credenziali di autenticazione, non credo tu abbia bisogno di un nodo AWS completo (e di problemi di gestione e sicurezza) per gestire i dati in sicurezza.

Prenderò in considerazione il file delle proprietà di base, ospitato su un bucket S3 crittografato protetto, con un criterio di accesso molto limitato, disponibile solo per le istanze dell'app, che è stato configurato con il ruolo IAM appropriato.

Utilizzo di questo criterio:

{   "Version": "2012-10-17",   "Statement": [
    {
      "Action": [
        "s3:GetObject"
      ],
      "Sid": "Stmt0123456789",

      "Resource": [
        "arn:aws:s3:::<your S3 bucket name>/credentials.properties"
      ],
      "Effect": "Allow"
    }   ] }

Solo le istanze con quel criterio possono leggere quei dati. È semplice, a basso costo e con crittografia lato server S3, abbastanza sicuro.

Per ulteriori informazioni sulle opzioni di crittografia lato server S3, vedere Protezione dei dati utilizzando la crittografia lato server con Chiavi di crittografia fornite dal cliente

    
risposta data 09.01.2016 - 04:27
fonte
1

Esistono soluzioni sicure per questo.

È possibile memorizzare le password in un gestore di password come Hashicorp Vault o Thycotic Secret Server e usa le loro API per recuperarle e usarle come necessario per lo scraping.

Anche il rollare è un'opzione. Adattamento dell'esempio da questo blog sull'utilizzo di Amazon KMS con DynamoDB è un'opzione semplice per farlo se si utilizza AWS e si hanno programmatori Java sul personale.

    
risposta data 09.01.2016 - 03:22
fonte
0

In base alla discussione e alle tue esigenze, e che i siti che raccoglierai informazioni non forniscono e non sono in grado di fornire un'API token adeguata per accedere ai dati di cui hai bisogno dagli utenti, l'opzione migliore è quella di rafforzare realmente la sicurezza di quel server e avere un buon piano di contiguità. Dovresti anche far sapere ai tuoi utenti che stanno per memorizzare le loro password.

Si potrebbe decidere quanto si può spendere per proteggere questi dati, utilizzare alcuni crypto hardwware (HSM, chip TPM o anche una smartcard / token se non sarà troppo utilizzato) per crittografare e decrittografare questi dati sul server. Quello che ottieni è che un semplice dump dei dati non perderà i dati, che l'utente malintenzionato deve scaricare i dati ed essere in grado di controllare il server per utilizzare HSM / TPM / token / smartcard).

L'uso di una chiave memorizzata nel software (su disco) è meglio di niente, ma rende solo le cose un po 'più difficili a un utente malintenzionato, lo cercherà quando vedrà che ci sono dati crittografati.

Genera una chiave derivata con PBKDF2 da alcuni dati nel tuo codice, alcuni dati sul disco e qualsiasi altro posto che puoi memorizzare sul server renderà anche questo un po 'più difficile per l'aggressore e ti daranno solo del tempo per agisci e avvisa i tuoi utenti se succede qualcosa.

    
risposta data 08.01.2016 - 14:58
fonte

Leggi altre domande sui tag