GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo proteger SSH mediante autenticación de dos factores en Ubuntu 16.04 LTS

En este tutorial, le mostraremos cómo asegurar SSH usando autenticación de dos factores en Ubuntu 16.04 LTS. Para aquellos de ustedes que no sabían, Asegurar SSH con autenticación de dos factores usando La verificación en dos pasos de Google Authenticator (también conocida como autenticación de dos factores, abreviada como TFA) es un proceso que consta de dos etapas para verificar la identidad de una entidad que intenta acceder a los servicios en una computadora o en una red. Este es un caso especial de autenticación de múltiples factores que podría involucrar solo uno de los tres factores de autenticación (un factor de conocimiento, un factor de posesión y un factor de herencia) para ambos pasos.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo ' a los comandos para obtener privilegios de root. Le mostraré el SSH seguro paso a paso usando la autenticación de dos factores en un servidor Ubuntu 16.04 (Xenial Xerus).

Requisitos previos

  • Un servidor que ejecuta uno de los siguientes sistemas operativos:Ubuntu 16.04 y cualquier otra distribución basada en Debian como Linux Mint.
  • Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
  • Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
  • Un non-root sudo user o acceder al root user . Recomendamos actuar como un non-root sudo user , sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.

SSH seguro mediante autenticación de dos factores en Ubuntu 16.04 LTS

Paso 1. Primero, asegúrese de que todos los paquetes de su sistema estén actualizados ejecutando el siguiente apt-get comandos en la terminal.

sudo apt-get update
sudo apt-get upgrade

Paso 2. Instalación de Google Authenticator.

Para instalar el paquete en Ubuntu, ejecute el siguiente comando:

apt-get install libpam-google-authenticator

El siguiente paso es obtener el código de verificación. Es un comando muy simple para obtener el código de verificación y los códigos de borrador simplemente respondiendo preguntas simples del servidor que le hará. Puedes hacer ese paso ejecutando el siguiente comando:

google-authenticator

Se le pedirá que responda algunas preguntas; responda las dos primeras preguntas con sí (y):

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

Se generará un gran código QR en su terminal. Puede escanear el código con la aplicación de autenticación en su teléfono o tableta Android/iOS/Windows o ingresar el secreto clave generada en la pantalla.

También se generarán códigos scratch de emergencia. Puede usar estos códigos para la autenticación en caso de que pierda su dispositivo móvil:

Your emergency scratch codes are:
80461001
68335920
89765548
12485672
11145603

Guarde la configuración de autenticación para el usuario root respondiendo SÍ a la siguiente pregunta:

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

A continuación, puede configurar el autenticador para generar contraseñas de un solo uso. Durante los últimos 30 segundos, todas las contraseñas generadas se pueden usar una vez. Responda y para crear el archivo que almacena estas configuraciones:

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

Puede usar la siguiente configuración si tiene problemas de sincronización de tiempo entre sus dispositivos, por lo que no usaremos esta opción:

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) n

La siguiente configuración evita los ataques de fuerza bruta. Solo tendrá tres oportunidades cada 30 segundos para ingresar la contraseña correcta:

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

¡Felicitaciones! Ha terminado de generar su clave y de agregarla a su cliente, pero se necesita alguna configuración adicional antes de que estos ajustes entren en vigencia.

El siguiente paso es configurar los ajustes de autenticación en openSSH. Para hacerlo, abra el "/etc/pam.d/sshd ” y agregue la siguiente línea al final del archivo:

### nano /etc/pam.d/sshd
auth required pam_google_authenticator.so

Guarde los cambios, abra el “/etc/ssh/sshd_config ” y habilite la Autenticación Desafío-Respuesta:

### nano /etc/ssh/sshd_config
ChallengeResponseAuthentication yes

Finalmente, guarde el archivo y reinicie el servidor SSH para que los cambios surtan efecto:

systemctl restart ssh

¡Felicitaciones! Has asegurado SSH con éxito. Gracias por usar este tutorial para SSH seguro usando la autenticación de dos factores en el sistema Ubuntu 16.04 LTS (Xenial Xerus). Para obtener ayuda adicional o información útil, te recomendamos para consultar el sitio web oficial de SSH.


Ubuntu
  1. Cómo instalar y asegurar Redis en Ubuntu 18.04 LTS

  2. Cómo instalar y asegurar phpMyAdmin en Ubuntu 18.04 LTS

  3. Cómo configurar un servidor VPN usando Pritunl en Ubuntu 18.04 LTS

  4. Cómo habilitar el servicio SSH en Ubuntu 22.04 LTS

  5. SSH seguro usando autenticación de dos factores en Ubuntu 16.04

Cómo habilitar ssh en Ubuntu 20.04 LTS Linux

Cómo instalar el servidor SSH en Ubuntu 18.04 LTS

Cómo instalar el servidor SSH en Ubuntu 20.04 LTS

Cómo configurar la autenticación de dos factores en Ubuntu 20.04 LTS

Cómo instalar el servidor SSH en Ubuntu 22.04 LTS

¿Cómo configurar la autenticación basada en clave Ssh para Github usando el archivo ~/.ssh/config?