Mi è stato affidato un po 'di automazione del backend che ha bisogno di raschiare i dati da un sito Web interno utilizzando il nome utente / password di un dipendente per accedere al sito.
Esiste un server database di back-end, ma non ho accesso a detto database (la burocrazia è un ostacolo). In particolare, tutti i dipendenti hanno accesso a questi dati tramite un login utente / password sul sito interno, e anche il mio raschietto deve.
Poiché ho un scrap automatico che deve essere eseguito a intervalli regolari, sfortunatamente ho bisogno di memorizzare un set di credenziali in testo semplice, in modo che possano essere utilizzati per l'autenticazione con il sito, e quindi raschiare le informazioni per la digestione. Il sistema host per questi script è bloccato, dietro la chiave SSH richiesta, ed è probabilmente più strong della sicurezza fisica in questo ufficio comunque (qualcuno con accesso all'ufficio potrebbe ottenere queste informazioni molto più facilmente che attaccare il mio server).
La mia domanda: come posso rendere le password in chiaro memorizzate sul client il più a basso rischio possibile, dato che è impossibile evitare del tutto?
Come addenda per potenziali domande aggiuntive, il sito è un semplice modulo HTTPS, nome utente / password vengono postati e un token di autenticazione (ID sessione) viene utilizzato per ulteriori richieste. Purtroppo l'ID scade, quindi ho bisogno di ripetere l'autenticazione della password ogni 2 ore.
Modifica
Sulla base delle domande che ho ricevuto finora, la mia attuale implementazione teorica è quella di mantenere il nome utente / password memorizzati, crittografati su disco e richiedono la chiave di decrittografia al primo avvio / riavvio e in un periodo di tempo prestabilito. In teoria ciò ridurrebbe il rischio che il dispositivo venisse rubato fisicamente e compromettesse le informazioni di autenticazione.
Un'opzione alternativa che sto considerando è di avere un servizio di intermediazione in esecuzione su un'istanza / contenitore separato o bloccato, la cui immagine sarebbe crittografata su disco. Questo può essere il servizio di autenticazione di middle man e avrebbe un unico scopo, recuperare la chiave ID di sessione dal sito su richiesta e memorizzare le informazioni di username / password temporaneamente decodificate. Questo potrebbe servire a separare ulteriormente le informazioni utente / pass dal servizio potenzialmente più esposto.