Breaking

Post Top Ad

Your Ad Spot

martes, 4 de agosto de 2020

Cómo configurar la autenticación de dos factores en una Raspberry Pi

Un Raspberry Pi sentado en un teclado portátil.
Kiklas / Shutterstock
El Raspberry Pi está en todas partes ahora, por lo que ha llamado la atención de los actores de amenazas y los cibercriminales. Le mostraremos cómo proteger su Pi con autenticación de dos factores.

The Amazing Raspberry Pi

La Raspberry Pi  es una computadora de placa única. Se lanzó en el Reino Unido en 2012 con la intención de hacer que los niños jueguen, creen y aprendan códigos. El factor de forma original era una placa del tamaño de una tarjeta de crédito, alimentada por un cargador de teléfono.
Proporciona salida HDMI, puertos USB, conectividad de red y ejecuta Linux. Las adiciones posteriores a la línea incluyeron versiones aún más pequeñas diseñadas para incorporarse en productos o ejecutarse como sistemas sin cabeza. Los precios van desde $ 5 para el minimalista Pi Zero , hasta $ 75 para el Pi 4 B / 8 GB .
Su éxito ha sido increíble; Más de 30 millones de estas pequeñas computadoras se han vendido en todo el mundo. Los aficionados han hecho cosas asombrosas e inspiradoras con ellos, incluida la flotación hasta el borde del espacio y de regreso en un globo .
Por desgracia, una vez que una plataforma informática se extiende lo suficiente, inevitablemente atrae la atención de los cibercriminales. Es terrible pensar en cuántas Pi están usando la cuenta de usuario y contraseña predeterminadas. Si su Pi es de acceso público y accesible desde Internet por Secure Shell (SSH), debe ser seguro.
Incluso si no tiene ningún dato o software valioso en su Pi, debe protegerlo porque su Pi no es el objetivo real, es solo una forma de ingresar a su red. Una vez que un actor de amenaza tiene un punto de apoyo en una red, pasará a los otros dispositivos en los que está realmente interesado.

Autenticación de dos factores

La autenticación, u obtener acceso a un sistema, requiere uno o más factores. Los factores se clasifican de la siguiente manera:
  • Algo que sabes:  como una contraseña o una frase.
  • Algo que tienes:  como un teléfono celular, un token físico o un dongle.
  • Algo que eres:  una lectura biométrica, como una huella digital o un escaneo retiniano.
La autenticación multifactor (MFA) requiere una contraseña y uno o más elementos de las otras categorías. Para nuestro ejemplo, vamos a usar una contraseña y un teléfono celular. El teléfono celular ejecutará una aplicación de autenticación de Google, y el Pi ejecutará un módulo de autenticación de Google.
Una aplicación de teléfono celular está vinculada a su Pi escaneando un código QR. Esto pasa cierta información inicial a su teléfono celular desde el Pi, asegurando que sus algoritmos de generación de números produzcan los mismos códigos simultáneamente. Los códigos se denominan  contraseñas de un solo uso basadas en el tiempo (TOTP).
Cuando recibe una solicitud de conexión, su Pi genera un código. Utiliza la aplicación de autenticación en su teléfono para ver el código actual, y luego su Pi le pedirá su contraseña y código de autenticación. Tanto su contraseña como el TOTP deben ser correctos antes de poder conectarse.

Configurando el Pi

Si generalmente usa SSH en su Pi, es probable que sea un sistema sin cabeza, por lo que lo configuraremos a través de una conexión SSH.
Es más seguro hacer dos conexiones SSH: una para realizar la configuración y las pruebas, y otra para actuar como una red de seguridad. De esta manera, si se bloquea de su Pi, todavía tendrá activa la segunda conexión SSH activa. Cambiar la configuración de SSH no afectará una conexión en progreso, por lo que puede usar la segunda para revertir cualquier cambio y remediar la situación.
Si sucede lo peor y está completamente bloqueado a través de SSH, aún podrá conectar su Pi a un monitor, teclado y mouse, y luego iniciar sesión en una sesión normal. Es decir, aún puede iniciar sesión, siempre que su Pi pueda controlar un monitor. Sin embargo, si no puede, realmente necesita mantener abierta la conexión SSH de la red de seguridad hasta que haya verificado que la autenticación de dos factores está funcionando.
La sanción final, por supuesto, es volver a instalar el sistema operativo en la tarjeta micro SD de Pi, pero tratemos de evitarlo.
Primero, necesitamos hacer nuestras dos conexiones al Pi. Ambos comandos toman la siguiente forma:
ssh pi@watchdog.local
ssh pi@watchdog.local en una ventana de terminal.
El nombre de este Pi es "perro guardián", pero en su lugar escribirá el nombre suyo. Si ha cambiado el nombre de usuario predeterminado, úselo también; el nuestro es "pi".
Recuerde, por seguridad, escriba este comando dos veces en diferentes ventanas de terminal para tener dos conexiones a su Pi. Luego, minimice uno de ellos, para que quede fuera del camino y no se cierre accidentalmente.
Después de conectarte, verás el mensaje de saludo. El mensaje mostrará el nombre de usuario (en este caso, "pi") y el nombre de Pi (en este caso, "watchdog").
Una conexión SSH a una Raspberry Pi en una ventana de terminal.
Necesita editar el archivo "sshd_config". Lo haremos en el editor de nano texto:
sudo nano / etc / ssh / sshd_config
sudo nano / etc / ssh / sshd_config en una ventana de terminal.
Desplácese por el archivo hasta que vea la siguiente línea:
ChallengeResponseAuthentication no
Reemplace el "no" con "sí".
El archivo sshd_config se abrió en el nano editor con la línea ChallengeResponseAuthentication resaltada, en una ventana de terminal.
Presione Ctrl + O para guardar sus cambios en nano y luego presione Ctrl + X para cerrar el archivo. Use el siguiente comando para reiniciar el demonio SSH:
sudo systemctl restart ssh
sudo systemctl restart ssh en una ventana de terminal.
Debe instalar el autenticador de Google, que es una biblioteca del Módulo de autenticación conectable (PAM). La aplicación (SSH) llamará a la interfaz PAM de Linux, y la interfaz encuentra el módulo PAM apropiado para atender el tipo de autenticación que se solicita.
Escriba lo siguiente:
sudo apt-get install libpam-google-authenticator
sudo apt-get install libpam-google-authenticator en una ventana de terminal.

Instalar la aplicación

La aplicación Google Authenticator está disponible para iPhone  y  Android , así que solo instale la versión adecuada para su teléfono celular. También puede usar Authy y otras aplicaciones que admitan este tipo de código de autenticación.
Icono de la aplicación Google Authenticator en un teléfono celular Android.

Configurar la autenticación de dos factores

En la cuenta que usará cuando se conecte a Pi a través de SSH, ejecute el siguiente comando (no incluya el  sudo prefijo):
autenticador de google
Se le preguntará si desea que los tokens de autenticación se basen en el tiempo; presiona Y, y luego presiona Enter.
Se genera un código de Respuesta rápida (QR), pero está codificado porque es más ancho que la ventana de terminal de 80 columnas. Arrastre la ventana más para ver el código.
También verá algunos códigos de seguridad debajo del código QR. Estos se escriben en un archivo llamado ".google_authenticator", pero es posible que desee hacer una copia de ellos ahora. Si alguna vez pierde la capacidad de obtener un TOTP (si pierde su teléfono celular, por ejemplo), puede usar estos códigos para autenticarse.
Debe responder cuatro preguntas, la primera de las cuales es:
¿Desea que actualice su archivo "/home/pi/.google_authenticator"? (s / n)
Presione Y y luego presione Entrar.
¿Desea que actualice su archivo "/home/pi/.google_authenticator"?  (y / n) en una ventana de terminal.
La siguiente pregunta le pregunta si desea evitar múltiples usos del mismo código dentro de una ventana de 30 segundos.
Presione Y y luego presione Entrar.
¿Desea no permitir múltiples usos del mismo token de autenticación?  (y / n) en una ventana de terminal.
La tercera pregunta le pregunta si desea ampliar la ventana de aceptación de los tokens TOTP.
Presione N en respuesta a esto y luego presione Entrar.
¿Quieres hacerlo?  (y / n) en una ventana de terminal.
La última pregunta es: "¿Desea habilitar la limitación de velocidad?"
Escriba Y y luego presione Entrar.
¿Desea habilitar la limitación de velocidad?  (y / n) en una ventana de terminal.
Regresó al símbolo del sistema. Si es necesario, arrastre la ventana de terminal más ancha y / o desplácese hacia arriba en la ventana de terminal para que pueda ver el código QR completo.
En su teléfono celular, abra la aplicación de autenticación y luego presione el signo más (+) en la esquina inferior derecha de la pantalla. Seleccione "Escanear un código QR" y luego escanee el código QR en la ventana del terminal.
Aparecerá una nueva entrada en la aplicación de autenticación con el nombre del host del Pi, y debajo de ella aparecerá un código TOTP de seis dígitos. Se muestra como dos grupos de tres dígitos para facilitar la lectura, pero debe escribirlo como un número de seis dígitos.
Un círculo animado al lado del código indica cuánto tiempo más será válido el código: un círculo completo significa 30 segundos, un semicírculo significa 15 segundos, y así sucesivamente.

Vincularlo todo junto

Tenemos un archivo más para editar. Tenemos que decirle a SSH qué módulo de autenticación PAM usar:
sudo nano /etc/pam.d/sshd
sudo nano /etc/pam.d/sshd en una ventana de terminal.
Escriba las siguientes líneas cerca de la parte superior del archivo:
# 2FA

se requiere autenticación pam_google_authenticator.so
se requiere autenticación pam_google_authenticator.so agregado al archivo sshd en un editor, en una ventana de terminal.
También puede elegir cuándo desea que se le solicite el TOTP:
  • Después de ingresar su contraseña: Escriba las líneas anteriores debajo de "@include common-auth", como se muestra en la imagen de arriba.
  • Antes de que se le solicite su contraseña: escriba las líneas anteriores sobre "@include common-auth".
Tenga en cuenta los guiones bajos (_) utilizados en "pam_google_authenticator.so", en lugar de los guiones (-) que utilizamos anteriormente con el apt-getcomando para instalar el módulo.
Presione Ctrl + O para escribir los cambios en el archivo y luego presione Ctrl + X para cerrar el editor. Necesitamos reiniciar SSH una última vez, y luego terminamos:
sudo systemctl restart ssh
sudo systemctl restart ssh en una ventana de terminal.
Cierre esta conexión SSH, pero deje la otra conexión SSH de red de seguridad en funcionamiento hasta que hayamos verificado el siguiente paso.
Asegúrese de que la aplicación de autenticación esté abierta y lista en su teléfono celular, y luego abra una nueva conexión SSH al Pi:
ssh pi@watchdog.local
ssh pi@watchdog.local en una ventana de terminal.
Se le debe solicitar su contraseña y luego el código. Escriba el código de su teléfono celular sin espacios entre los números. Al igual que su contraseña, no aparece en la pantalla.
Si todo va de acuerdo al plan, se le debe permitir conectarse a Pi; de lo contrario, use su conexión SSH de red de seguridad para revisar los pasos anteriores.

Más seguro que lo siento

¿Notó la "r" en "más seguro" arriba?
De hecho, ahora está más seguro que antes cuando se conecta a una Raspberry Pi, pero nada es 100 por ciento seguro. Hay formas de eludir la autenticación de dos factores. Estos se basan en ingeniería social, ataques de hombre en el medio  y hombre en el punto final, intercambio de SIM y otras técnicas avanzadas que, obviamente, no vamos a describir aquí.
Entonces, ¿por qué molestarse con todo esto si no es perfecto? Bueno, por la misma razón que cierra la puerta cuando se va, a pesar de que hay personas que pueden abrir las cerraduras, la mayoría no.

No hay comentarios.:

Publicar un comentario

Post Top Ad

Your Ad Spot

Páginas