¿Cómo configurar el acceso de dos factores en Fedora Workstaion 29 por SSH?

in #spanish5 years ago

Diariamente utilizamos algún método para poder acceder a dispositivos tecnológicos, smartphones, computadoras, cajeros automáticos e incluso cerraduras electrónicas. Todos estos sistemas de entrada tienen un sistema de autenticación específico.

Un sistema de autenticación es un proceso que permite a una persona (probador) demostrar un su identidad ante una entidad (verificador). Esta se puede realizar de diferentes formas, entregando una información para comprobar la identidad, usuario y password, un código de acceso único, colocando un patrón.

Una segunda forma es mediante la presentación de un objeto identificable, aquí podemos encontrar las tarjetas magnéticas y llaves electrónicas.

Por último existe un método de identificación por características únicas, escritura y sistemas biométricos.

En cualquiera de estos, existen diferente niveles de seguridad, aun dentro del mismo tipo, por ejemplo un sistema en que solo introducimos un código tiene un nivel diferente de seguridad de uno donde colocamos un usuario y clave. Identificación mediante escritura no tiene el mismo nivel de seguridad que los sistema biométricos. E igualmente los sistemas de tarjetas son variados y una entregan información más compleja entre diversos modelos.

Un proceso de verificación puede ser realizado en el mismo sitio donde está el ente que confirma la identidad o puede encontrarse en un lugar remoto. El cifrado de la información que se utiliza para realizar este tipo de acceso es un proceso común en estos métodos, sin embargo en los sistema donde el proceso se realiza con los entes ubicados en ubicaciones diferentes el cifrado toma aún más importancia. En el momento que la información utilizada para comprobar la identidad del probador debe viajar por algún medio, entra ya un tercer factor, ese medio por donde viaja debe ser protegido para que la información que permite este proceso, esté a salvo de ser interceptadas y posteriormente la información que se intercambia.

En este post vamos a tocar un caso en específico de este acceso de dos entes que están separados geográficamente mediante SSH, en sistemas Fedora 29 Workstation.

Secure Shell o SSH

Se conoce por SSH a un protocolo de comunicación para acceso remoto, de igual manera al programa utilizado para su implementación. Permite la conexión de dos dispositivos, el intercambio de archivos y redirección de sistemas de ventanas para el control de tráfico de un sistema.

La primera versión de SSH es propuesta en 1997 y en 1999 se comienza a escribir la versión más extendida OpenSSH. SSH es en la actualidad de uso común en sistemas Linux por ejemplo la conexión remota a servidores mediante SSH es algo común, pero como todo sistema no es 100% inviolable no infalible, por lo cual en la actualidad los sistemas de autenticación donde el probador y el autenticador establecen una relación de confianza mediante la verificación de usuario y password son complementados con un segundo proceso, con lo cual existen los sistemas de dos factores, donde sumado a la comprobación de la clave existe un segundo paso, donde un generador debe consignar un código (clave) suministrado por una de app generalmente (que trabaja bajo un algoritmo que suministra un password diferente cada intervalo de tiempo, para cada operación de autenticación único para ese proceso) instalado en algún dispositivo del probador usando la clave pública generada por el probador..

Servicio SSH con verificación de dos factores

El procedimiento de la configuración de la autenticación de dos factores ha sido extraído de un artículo de Fedora Magazine, sin embargo sólo explican el proceso sin mostrar cómo se instala el servidor SSH, en este post aprovecho de colocar estos sencillos pasos, para aquellos que no lo tengan y deseen probarlo. Todo este proceso usando Fedora Workstation 29.

Usando la consola ejecutamos las siguientes instrucciones

sudo dnf -y install openssh-server openssh-clients mediante esta instrucción se instala el servicio de Openssh y el cliente.

service sshd start esta instrucción inicia el servicio de ssh.

service sshd restart de esta forma se reinicia un servicio ya iniciado.

chkconfig --level 235 sshd on se utiliza en caso de querer que el servicio ssh se inicie siempre que el equipo se inicia.

Si se desea modificar la configuración por defecto el archivo de configuración del servicio se ubica en /etc/ssh/sshd_config.

Seguidamente los pasos indicados en el artículo.

sudo dnf install -y google-authenticator

google-authenticator

Se presentan las siguientes preguntas:


Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/user/.google_authenticator" file (y/n)? y

Respuestas de las preguntas posteriores para la configuración del archivo:


¿Desea rechazar múltiples usos del mismo token de autenticación? Esto lo restringe a un inicio de sesión cada 30 años, pero aumenta sus posibilidades de notar o incluso prevenir ataques de intermediario (y / n) y
De forma predeterminada, los tokens son válidos durante 30 segundos. Para compensar el posible sesgo de tiempo entre el cliente y el servidor, permitimos un token adicional antes y después de la hora actual. Si experimenta problemas con la sincronización de tiempo deficiente, puede aumentar la ventana de su tamaño predeterminado de + -1min (tamaño de ventana de 3) a aproximadamente + -4min (tamaño de ventana de 17 tokens aceptables).
¿Quieres hacerlo? (s / n) n
Si la computadora en la que está iniciando sesión no está protegida contra los intentos de inicio de sesión de fuerza bruta, puede habilitar la limitación de velocidad para el módulo de autenticación. De forma predeterminada, esto limita a los atacantes a no más de 3 intentos de inicio de sesión cada 30 s.
¿Desea habilitar la limitación de velocidad (y / n) y

Es importante guardar la clave entregada por el sistema para programar la app o la captura del código QR. El cual debe resguardarse e lugar seguro.

Configuración del SSH

sudo nano /etc/pam.d/sshd en el artículo el archivo que configuran es el ssh, sin embargo el que se encuentra en la instalación es sshd, puede ser una diferencia de actualización de versión o un error tipográfico.

Comentar la siguiente línea #auth substack password-auth

Agregar la siguiente línea autenticación suficiente pam_google_authenticator.so

sudo vi / etc / ssh / sshd_config editar este archivo de la siguiente forma.

ChallengeResponseAuthentication yes para activar el servicio de autenticación de dos pasos.

PasswordAuthentication no para desactivar el método por defecto.

AuthenticationMethods publickey, contraseña publickey, teclado interactivo agregar al final del archivo, guardar el archivo y salir.

sudo systemctl restart sshd para reiniciar el servicio.

En el artículo de Fedora Magazine utiliza FreeOTP como aplicación para generar el token de tiempo, sin embargo para las pruebas yo utilice Authy Una app que ya tengo instalada para otra actividades y funciona de igual forma.

Vídeo de Laboratorio

Sort:  




This post has been voted on by the SteemSTEM curation team and voting trail in collaboration with @curie.

If you appreciate the work we are doing then consider voting both projects for witness by selecting stem.witness and curie!

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Gracias por el apoyo

Posted using Partiko Android

Buen material Ubaldo. Ciertamente es importante para el desarrollo web y la administración de servidores. También puede tratarse de algo menos convencional considerando que es Fedora y no algo basado en Debian. Saludos y felicidades.

Yo personalmente pienso que Fedora como base para proyectos de redes y servidores es mejor que Debian, no porque Debian no sea robusta y capaz, el asunto es que Fedora viene con el apoyo de Red Hat que es la plataforma que siempre he considerado con mejor penetración empresarial, por algo IBM pago 34.000 millones por ellos. EL desarrollo de Red Hat para la nube y sistemas de grandes centros es todo un entorno afinado y Fedora considerada por muchos como su laboratorio es la distribución que mas se acerca ha dicho forma de trabajo. Pero seguramente también es posible instalar el google authenticator dentro de Debian o Ubuntu que por lo general son instalaciones casi identicas.

Excelente e interesante publicación aunque no es mi fuerte si logre entender algunos elementos de tu post, Saludos...

Me alegra le guste, si bien no es común que configuramos algo así en casa, seguramente dentro de poco los bancos y otras instituciones terminarán adoptando procesos similares, así como ya google, algunas casas de cambio y empresarias con información sensible lo están adoptando

Posted using Partiko Android

Coin Marketplace

STEEM 0.24
TRX 0.11
JST 0.032
BTC 61649.11
ETH 3003.31
USDT 1.00
SBD 3.77