Come gestire le chiavi SSH in un ambiente non protetto

2

Sto cercando di trovare una soluzione "sicura" per la seguente situazione.

tl; dr come mantenere le cose sicure in un ambiente che non lo è assolutamente?

Lavoro in un'azienda in cui le workstation non sono affatto sicure, cioè c'è un utente simile a una root su ogni sistema.
Fondamentalmente tutti, e chiunque, sarebbero in grado di trovare la password per questo utente, e quindi avrebbero accesso a qualsiasi computer e file o documenti di chiunque ci sia. (Sì, qui c'è un enorme problema di sicurezza per le stazioni Linux, ma non concentriamoci su questo, non posso farci nulla ...)

Conoscendo questo, cerco di non tenere nulla di personale o sensibile sul computer. Tuttavia, mi disturba quando si tratta di chiavi ssh che sono collegate ad alcuni dei miei account personali. Lo stesso vale per tutti i file ssh-config e per qualsiasi cosa.

Ho ancora evitato di collegare ssh-keys da questo computer a qualsiasi account fino ad ora ma c'è ovviamente un modo migliore per gestirlo. Capisco che l'impostazione di una passphrase per una chiave ssh dovrebbe renderla inutilizzabile per chiunque non abbia la passphrase. Quindi, come devo comportarmi con ssh-agent, dovrei smettere di usarlo per rafforzare la sicurezza qui?

  • Sono corretto nelle mie ipotesi?
  • Che cosa posso fare per fare le cose nel modo più sicuro possibile, quale sarebbe la strada da percorrere?

PS: la sicurezza qui non è un requisito assoluto, è più sulla comprensione di come funziona, e su come potrei proteggere me stesso / la mia privacy. Non sono alla ricerca di soluzioni estremamente sofisticate o di eccessive parano-cose.
Immagino che avere un altro computer che non è un gigantesco buco di sicurezza sarebbe un ottimo modo per iniziare, ma questa non è un'opzione.

    
posta d6bels 20.03.2015 - 09:58
fonte

1 risposta

3

Hai ragione su come funziona la passphrase. E, data la tua situazione, ti consiglierei di non usare un agente SSH. Dovresti anche essere consapevole che se qualcuno con accesso root installa un keylogger sul tuo computer, la tua passphrase potrebbe essere compromessa. Per ridurre il rischio, puoi tenere la chiave su es. una chiavetta USB, anziché sul disco rigido locale. Per maggiore sicurezza, procurati una chiavetta USB crittografata come Ironkey - funzionano con Linux, Windows e Mac, e possono essere impostati per bloccarsi dopo un certo periodo di tempo in modo che anche se li lasci nella macchina, non sarà utilizzabile senza la password.

Ma oltre a proteggere la tua chiave, ci sono alcune cose che puoi fare sul sistema di destinazione per rendere la chiave meno utile per un utente malintenzionato.

  • Avere una chiave separata per ogni sistema da cui ti connetti.
  • Limita la chiave sul server di destinazione, in modo che possa essere utilizzata solo da quella macchina. A tale scopo, modifica il file authorized_keys sul server, inserendo from="10.1.2.3" all'inizio della riga contenente questa chiave. (Ulteriori informazioni su come limitare le chiavi SSH in questa domanda ServerFault .)
  • Assicurati di aver effettuato l'accesso al server di destinazione e controlla se qualcuno effettivamente effettua il login. I log dovrebbero essere inviati a un server remoto, in quanto un utente malintenzionato potrebbe modificare i log memorizzati localmente.
  • Disattiva login di root e sudo senza password. Assicurati che le azioni sudo siano registrate.

Oltre a questi punti specifici, direi anche che dovremmo sempre considerare la possibilità che una chiave SSH venga compromessa. Il modo di affrontarlo è di non fare affidamento completamente sulla chiave SSH per proteggere il tuo sistema - devi anche controllare il sistema completo, registrare, verificare i rootkit, notare se / quando i file di sistema vengono modificati, ecc.

    
risposta data 20.03.2015 - 10:49
fonte

Leggi altre domande sui tag