Hardening – configurar la autenticación de dos pasos

Anteriormente vimos como realizar una configuración  básica para securizar nuestros servidores GNU/Linux (Hardening básico en GNU/Linux),  y Hardening – Securizando contraseñas con PAM en GNU/Linux este caso vamos a implementar el factor de autenticación en dos pasos

 

¿Que es 2FA?

2FA son las siglas de 2 factor authentication (que en español se conoce como verificación de dos pasos), que forma parte de algo más grande, llamado MFA o multi-factor authentication (verificación de múltiples pasos). MFA se refiere a una forma de autentificar la identidad de un usuario usando múltiples factores independientes (o pasos), mismos que son validados para verificar la identidad de una persona. Para que en el caso de 2FA son dos factores (dos pasos) los que se deben presentar.

En primer lugar tenemos que  instalar Google Authenticator:

Debian y derivados:

apt-get install libpam-google-authenticator

Redhat y derivados:

yum install google-authenticator

Configuración de Google Authenticator:

Nos indica si queremos habilitar la autentifación en dos pasos y le indicamos que si.

rokitoh@server01:~# google-authenticator

Do you want authentication tokens to be time-based (y/n)

A  continuación nos muestra un código QRcode que mediante la aplicación Google Authenticator podemos leer

Guarda los codigos de respaldo, te servirá para recuperar el acceso si pierdes el móvil :

Your new secret key is: PV3LC4NBIQMFETYY
Your verification code is 515221
Your emergency scratch codes are:
69275409
63803502
76609089
74938014
83076044

Dejamos por defecto las opciones de configuración de Google Authenticator

Do you want me to update your «/root/.google_authenticator» file (y/n) y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y

If the computer that you are logging into isn’t hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Una vez configurado Google Authenticator  tenemos que realizar la configuración en el PAM y sshd

Hacemos un backup antes de tocar cualquier fichero de configuración:

cp /etc/pam.d/sshd /etc/pam.d/sshd.bck

Añadimos al final del fichero la siguiente linea:

auth required pam_google_authenticator.so

Del mismo modo hacemos una copia de seguridad de la configuración del servicio ssh

cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.bck

Accedemos al archivo sshd_config y buscamos ChallengeResponseAuthentication, este linea tiene que estar configurada como:

ChallengeResponseAuthentication yes

 

Riniciamos el servicio de ssh

    sudo service ssh restart

Ya tenemos todo preparado para acceder, nos conectamos al servidor y tiene que pedirnos la contraseña y después el código de verificación el cual tenemos que ver desde nuestro teléfono móvil mediante la aplicación  Google Authenticator

rokitoh@lusy:~$ ssh rokitoh@192.168.1.18
Password:
Verification code:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

:wq!

Una respuesta a “Hardening – configurar la autenticación de dos pasos”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *