Com utilitzar l'autenticació de dos factors amb Ubuntu


Amb el pas del temps, l'autenticació tradicional de nom d'usuari i contrasenya ha demostrat ser inadequada per proporcionar una seguretat sòlida a les aplicacions i als sistemes. Els noms d'usuari i les contrasenyes es poden trencar fàcilment amb una gran quantitat d'eines de pirateria, deixant el vostre sistema vulnerable a les infraccions. Per aquest motiu, qualsevol empresa o entitat que es prengui seriosament la seguretat ha d'implementar l'autenticació de 2 factors.

Coneguda col·loquialment com a MFA (autenticació multifactor), l'autenticació de dos factors proporciona una capa addicional de seguretat que requereix que els usuaris proporcionin determinats detalls, com ara codis o OTP (contrasenya única) abans o després d'autenticar-se amb el nom d'usuari i la contrasenya habituals.

Actualment, diverses empreses com Google, Facebook, Twitter i AWS, per esmentar-ne algunes, ofereixen als usuaris l'opció de configurar MFA per protegir encara més els seus comptes.

En aquesta guia, demostrem com podeu utilitzar l'autenticació de dos factors amb Ubuntu.

Pas 1: instal·leu el paquet PAM de Google

En primer lloc, instal·leu el paquet Google PAM. PAM, abreviatura de Pluggable Authentication Module, és un mecanisme que proporciona una capa addicional d'autenticació a la plataforma Linux.

El paquet està allotjat al dipòsit d'Ubuntu, així que procediu i utilitzeu l'ordre apt per instal·lar-lo de la següent manera:

$ sudo apt install libpam-google-authenticator

Quan se us demani, premeu Y i premeu ENTER per continuar amb la instal·lació.

Pas 2: instal·leu l'aplicació Google Authenticator al vostre telèfon intel·ligent

A més, heu d'instal·lar l'aplicació Google Authenticator a la vostra tauleta o telèfon intel·ligent. L'aplicació us presentarà un codi OTP de 6 dígits que es renova automàticament cada 30 segons.

Pas 3: configureu Google PAM a Ubuntu

Amb l'aplicació Google Authenticator al seu lloc, procedirem i configurarem el paquet Google PAM a Ubuntu modificant el fitxer /etc/pam.d/common-auth tal com es mostra.

$ sudo vim /etc/pam.d/common-auth

Afegiu la línia següent al fitxer tal com s'indica.

auth required pam_google_authenticator.so

Desa el fitxer i surt.

Ara, executeu l'ordre següent per inicialitzar PAM.

$ google-authenticator

Això evocarà un parell de preguntes a la pantalla del vostre terminal. En primer lloc, se us demanarà si voleu que els testimonis d'autenticació estiguin basats en el temps.

Els testimonis d'autenticació basats en el temps caduquen després d'un temps determinat. De manera predeterminada, això passa al cap de 30 segons, a partir dels quals es genera un nou conjunt de fitxes. Aquests testimonis es consideren més segurs que els que no es basen en el temps i, per tant, escriviu y per a sí i premeu ENTER.

A continuació, es mostrarà un codi QR al terminal tal com es mostra a continuació i just a sota, es mostrarà una mica d'informació. La informació que es mostra inclou:

  • Clau secreta
  • Codi de verificació
  • Codis scratch d'emergència

Heu de desar aquesta informació a una volta per a una referència futura. Els codis d'emergència d'emergència són extremadament útils en cas de perdre el dispositiu d'autenticació. Si passa alguna cosa al vostre dispositiu d'autenticació, feu servir els codis.

Inicieu l'aplicació Google Authenticator al vostre dispositiu intel·ligent i seleccioneu Escaneja el codi QR per escanejar el codi QR que es presenta.

NOTA: Heu de maximitzar la finestra del terminal per escanejar tot el codi QR. Un cop escanejat el codi QR, es mostrarà a l'aplicació una OTP de sis dígits que canvia cada 30 segons.

A continuació, seleccioneu y per actualitzar el fitxer de Google Authenticator a la vostra carpeta d'inici.

A la següent sol·licitud, restringeix l'inici de sessió a un sol registre cada 30 segons per tal d'evitar atacs que puguin sorgir a causa d'atacs de l'home del mig. Per tant, seleccioneu y

A la següent sol·licitud, seleccioneu n per no permetre l'extensió de la durada del temps que aborda la distorsió temporal entre el servidor i el client. Aquesta és l'opció més segura tret que tingueu problemes amb una sincronització horària deficient.

I, finalment, habiliteu la limitació de la tarifa a només 3 intents d'inici de sessió.

En aquest punt, hem acabat d'implementar la funció d'autenticació de 2 factors. De fet, si executeu qualsevol ordre sudo, se us demanarà un codi de verificació que podeu obtenir des de l'aplicació Google Authenticator.

Podeu comprovar-ho encara més reiniciant i un cop arribeu a la pantalla d'inici de sessió, se us demanarà que proporcioneu el vostre codi de verificació.

Després d'haver proporcionat el codi des de l'aplicació Google Authenticator, només cal que proporcioneu la vostra contrasenya per accedir al vostre sistema.

Pas 4: integreu SSH amb Google Authenticator

Si teniu intenció d'utilitzar SSH amb el mòdul PAM de Google, heu d'integrar els dos. Hi ha dues maneres d'aconseguir-ho.

Per habilitar l'autenticació de contrasenya SSH per a un usuari normal, primer, obriu el fitxer de configuració SSH predeterminat.

$ sudo vim /etc/ssh/sshd_config

I establiu els atributs següents a sí, tal com es mostra

Per a l'usuari root, establiu l'atribut PermitRootLogin a yes.

PermitRootLogin yes

Desa el fitxer i surt.

A continuació, modifiqueu la regla PAM per a SSH

$ sudo vim /etc/pam.d/sshd

A continuació, afegiu la línia següent

auth   required   pam_google_authenticator.so

Finalment, reinicieu el servei SSH perquè els canvis entrin en vigor.

$ sudo systemctl restart ssh

A l'exemple següent, estem iniciant sessió al sistema Ubuntu des del client Putty.

Si utilitzeu l'autenticació de clau pública, repetiu els passos anteriors i afegiu la línia que es mostra a la part inferior del fitxer /etc/ssh/sshd_config.

AuthenticationMethods publickey,keyboard-interactive

Una vegada més, editeu la regla PAM per al dimoni SSH.

$ sudo vim /etc/pam.d/sshd

A continuació, afegiu la línia següent.

auth   required   pam_google_authenticator.so

Deseu el fitxer i reinicieu el servei SSH com hem vist anteriorment.

$ sudo systemctl restart ssh

Desactiveu l'autenticació de dos factors a Ubuntu

En cas que perdeu el vostre dispositiu d'autenticació o la vostra clau secreta, no us torneu boig. Podeu desactivar fàcilment la capa d'autenticació 2FA i tornar al vostre mètode d'inici de sessió senzill amb nom d'usuari/contrasenya.

Primer, reinicieu el vostre sistema i premeu e a la primera entrada de GRUB.

Desplaceu-vos i localitzeu la línia que comença amb Linux i acaba amb un esquitxat tranquil $vt_handoff. Afegiu la línia systemd.unit=rescue.target i premeu ctrl+x per entrar al mode de rescat

Un cop obtingueu el shell, proporcioneu la contrasenya d'arrel i premeu ENTER.

A continuació, procediu i suprimiu el fitxer .google-authenticator del vostre directori d'inici de la manera següent. Assegureu-vos de substituir el nom d'usuari pel vostre propi nom d'usuari.

# rm /home/username/.google_authenticator

A continuació, editeu el fitxer /etc/pam.d/common-auth.

# $ vim /etc/pam.d/common-auth

Comenta o elimina la línia següent:

auth required pam_google_authenticator.so

Deseu el fitxer i reinicieu el sistema. A la pantalla d'inici de sessió, només se us demanarà que proporcioneu el vostre nom d'usuari i contrasenya per autenticar-vos.

I això ens porta al final d'aquest article. Estarem encantats de saber com ha anat.