Come Attivare Due fattori per SSH

0
217
Shutterstock/TATSIANAMA

Se si vuole veramente per bloccare il tuo cloud server, è possibile attivare l’autenticazione a due fattori per SSH nello stesso modo in cui si dovrebbe aggiungere al vostro account Gmail, impedendo a chiunque di avere accesso se hanno rubato la chiave SSH privata.

È Davvero Necessario?

Rispetto ad avere due factor su un e-mail o web-based account, a due fattori su SSH non è così utile. Per qualcosa di posta elettronica, il punto di rottura è di solito di reimpostazione password schemi, facilmente crackable password, o violazioni dei dati. Davvero, tutto quello che bad password o di cattiva gestione delle password.

Per SSH, questo non è molto di un problema. SSH utilizza molto buona la crittografia per le chiavi pubblica e privata si utilizza per fare i collegamenti. Se il server SSH è bloccato e non permette l’accesso con password, nessuno è sempre a meno che non abbiano il dispositivo fisico che la chiave si trova, e non è molto probabile che chiunque bruteforce vostra chiave SSH in qualsiasi momento di questo secolo. Così, in un certo senso, è quasi come se si dispone già di due fattori, perché la vostra chiave rimarrà sul vostro computer portatile.

Ma, in alcune frange dei casi, due fattori può essere una buona scelta. Se qualche pazzo hacker decide di rubare il vostro computer portatile con l’intento di nabbing le chiavi SSH con esso (e non solo la vendita su Craigslist quando non riesco a craccare la password del dispositivo), con fattore di mettere un passo avanti.

Più del mondo reale problema, però, è con SSH agente di inoltro; Con l’agente di inoltro acceso, la chiave richieste per accedere ad altri server, inoltrando al dispositivo. Questo consente di accedere via SSH ad un server pubblico, e da quel pubblico di server SSH di nuovo in un altro server privato sulla stessa rete, e permette di accedere in maniera simile a come una VPN funziona.

Il problema, però, è che se il server pubblico è compromessa, se si dispone di un agente di inoltro abilitato, un utente malintenzionato è in grado di agire come te mentre sei connesso al server pubblico. Questa è una potenziale escalation di privilegi, a seconda di come hai impostato la rete. Due fattori SSH potrebbe risolvere questo problema.

Di nuovo, questo è un caso limite soluzione, e probabilmente causare più problemi di quanto non impedisce, ma se siete seri su come bloccare il tutto, vi mostreremo come.

Come Attivare Due fattori per SSH

Per gestire due fattori richieste, faremo uso di Google PAM (Pluggable Authentication Module), che funziona con Authy e Google Authenticator. Installare dal tuo gestore di pacchetti della distro:

sudo apt-get install libpam-google authenticator

Quindi, eseguire il comando di inizializzazione:

google authenticator

Rispondere sì alla prima domanda, di avere i token di autenticazione essere basato sul tempo. Questo è più sicuro. Il terminale sarà, quindi, essere inondata da una gigantesca QR code, ed è probabile che sia per lo zoom un po’.

Aprire la vostra applicazione authenticator, e la scansione del codice (non schermata). L’app deve sync, e iniziare la stampa a sei cifre codice che cambia ogni 30 secondi.

Inoltre ti consigliamo di prendere nota di tutti gli output aggiuntivi, tra cui la chiave segreta di emergenza e di graffiare i codici. Questi sono utilizzati per ottenere di nuovo l’accesso al vostro server se si è bloccato per qualsiasi motivo, anche se si dovrebbe essere avvertito che eventuali problemi relativi a errore di configurazione può ancora lasciare bloccato in modo permanente. Accenderemo due fattori facoltativamente per i test prima di renderlo obbligatorio.

Per le prossime domande, rispondi alle seguenti domande:

  • Risposta sì per aggiornare la tua configurazione, altrimenti non funzionerà.
  • Risposta sì per impedire molteplici usi di ogni token. Essi dovrebbero scadere dopo che sono state utilizzate.
  • Rispondere no per estendere il codice valido finestra, come non c’è davvero nessun punto di esso.
  • Risposta sì per consentire la limitazione della velocità, che permetterà di bloccare gli aggressori, dopo tre tentativi. Ultimi tre codici saranno validi per un minuto e mezzo, quindi non è necessario preoccuparsi di perdere per essere troppo lento.

Tutta la configurazione è salvata ~/.google authenticator. È possibile copiare questo file su un server aggiuntivo per applicare la stessa configurazione; non eseguire nuovamente lo strumento di inizializzazione di nuovo, o devi collegare i due diversi dispositivi.

Configurare SSH per Lavorare con Google PAM

Aprire il file di configurazione di PAM in /etc/pam.d/sshd nel vostro editor di testo preferito e aggiungere la seguente riga in fondo:

auth required pam_google_authenticator.così nullok

Il nullok direttiva significa che questo è temporaneo, quindi due fattori sarà facoltativa fino al cambiamento di questo. Lasciare in questo modo per il test. Inoltre, è opportuno individuare la riga che contiene @include common-auth, e questo commento con un”#:

# Standard di un*x, autenticazione.
#@include common-auth

Questo consente di disattivare l’autenticazione basata su password, che non vuoi.

A quel punto, aprire SSH impostazioni in /etc/ssh/sshd_config. Trovare il ChallengeResponseAuthentication opzione, e si accende:

# Cambiamento di sì per abilitare la sfida-risposta password (attenzione ai problemi con
# alcuni moduli PAM e thread)
ChallengeResponseAuthentication sì

Questo consente 2FA, tuttavia, chiavi SSH ignorare 2FA per impostazione predefinita, in modo da dovrete risolvere aggiungendo la seguente riga alla fine del file sshd_config:

AuthenticationMethods publickey,tastiera interattiva

Questo richiede una chiave pubblica e tastiera-interattiva”, che è il messaggio che vi chiede la vostra due fattore di codice.

SSH è ora configurato, in modo che è possibile riavviare sshd, per attivare le nuove impostazioni:

sudo systemctl restart sshd.servizio

Questo non chiudere il collegamento aperto, così si dovrebbe fare qualsiasi prova del collegamento in morsettiera separata scheda. Aprire una nuova scheda e provare a connettersi al server. Si dovrebbe vedere un messaggio che chiede un codice di verifica. Entrare in uno dal tuo telefono cellulare, e se tutto è collegato correttamente, dovrebbe funzionare. Se non, si dovrebbe comunque essere in grado di accedere all’account e lasciando vuoto il campo.

Se tutto funziona correttamente, e hai controllato che non ci siano problemi di accesso, è possibile rimuovere il “nullok” direttiva in /etc/pam.d/sshd per rendere 2FA obbligatorio.

Se si perde l’accesso, è possibile accedere utilizzando i codici di emergenza dato quando hai configurato PAM, e la chiave segreta dovrebbe consentire di ricollegare un TOTP app dovrebbe mai essere scollegato per qualsiasi motivo.

Aggiungere l’Accesso per gli Account di Servizio

Se si dispone di un account di servizio che deve accedere al server (ad esempio, rsync), è necessario disattivare la 2FA per l’account. Questo è abbastanza facile da fare; in primo luogo, ci vuole fare un nuovo gruppo per aggiungere gli account di servizio per:

sudo groupadd servizio

Quindi aggiungere l’utente al gruppo:

sudo useradd <username>
sudo usermod-a -G <username>

A quel punto, aprire la configurazione di PAM in /etc/pam.d/sshd, e aggiungere la seguente riga:

auth [il successo di=fatto default=ignora] pam_succeed_if.in questo modo l’utente ingroup servizio

Nota che questo non consentire l’accesso al vostro server, senza la 2FA, ma se l’utente non root non può essere un affare enorme.