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
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").
Necesita editar el archivo "sshd_config". Lo haremos en el editor de nano texto:
sudo nano / etc / ssh / sshd_config
Desplácese por el archivo hasta que vea la siguiente línea:
ChallengeResponseAuthentication no
Reemplace el "no" con "sí".
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
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
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.
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.
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.
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.
La última pregunta es: "¿Desea habilitar la limitación de velocidad?"
Escriba Y y luego presione Entrar.
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
Escriba las siguientes líneas cerca de la parte superior del archivo:
# 2FA se requiere autenticación pam_google_authenticator.so
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-get
comando 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
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
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.
0 Comentarios