Inicio Linux & Systems Networks & Infrastructure Cybersecurity Cloud & DevOps SIEM & Monitoring DFIR & Threat Intel Development & Other Todas las categorias Herramientas

Hardening – configurar la autenticación de dos pasos

Hardening – configurar la autenticación de dos pasos

Tabla de contenidos

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:

bash
apt-get install libpam-google-authenticator

Redhat y derivados:

bash
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.

bash
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

Selección 009

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

text
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

text
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:

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

Añadimos al final del fichero la siguiente linea:

text
auth required pam_google_authenticator.so

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

bash
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:

text
ChallengeResponseAuthentication yes

Riniciamos el servicio de ssh

bash
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

bash
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!

Comentarios