Proteger los dispositivos IoT con SSH puede sonar un poco técnico, pero sinceramente, es algo imprescindible si no quieres que tus dispositivos inteligentes sean hackeados de la noche a la mañana. Así que sí, esta guía trata de asegurarte de que tus dispositivos no estén completamente expuestos a cualquiera, porque, claro, los dispositivos IoT son objetivos más fáciles que Fort Knox. Configurar SSH (Secure Shell) crea un túnel bastante seguro para controlar esos dispositivos de forma remota. El proceso implica instalar SSH correctamente, generar claves, ajustar la configuración y mantener todo actualizado. Una vez hecho esto, administrar tus dispositivos IoT será más seguro y no tendrás que preocuparte cada vez que necesites acceder a ellos de forma remota. Espero que los pasos se entiendan; funcionan, pero a veces hay fallos, así que la paciencia es clave.
Cómo proteger sus dispositivos IoT con SSH
Asegúrese de que SSH esté instalado y en funcionamiento en su dispositivo IoT.
Esto es básicamente lo primero: si SSH no está instalado, nada más importa. Para comprobar si SSH ya está presente, conéctese a su dispositivo mediante SSH (quizás a través de una conexión serial o una terminal existente) y escriba ssh -V. Si el comando responde con un número de versión, todo está bien. Si no, deberá instalarlo. Para dispositivos basados en Linux, esto generalmente significa ejecutar apt-get install openssh-serverDebian/Ubuntu o yum install openssh-serverCentOS/Fedora. A veces, también es necesario buscar un paquete específico u opciones de firmware. En algunas placas IoT muy básicas, SSH podría no ser posible sin flashear una imagen personalizada. En ese caso, consulte la documentación del dispositivo o los foros de la comunidad. En algunas configuraciones, SSH a veces no está habilitado por defecto, por lo que es posible que deba activarlo manualmente en los archivos de configuración del dispositivo, que generalmente se encuentran en /etc/ssh/sshd_config.
Genera las claves SSH en tu ordenador y transfiérelas al dispositivo.
Aquí es donde comienza el intercambio de claves. No querrás que las contraseñas circulen por ahí, así que generar pares de claves SSH es más seguro. En tu PC o Mac, ejecuta ssh-keygen -t ed25519 -C "[email protected]"— no olvides establecer una frase de contraseña si eres paranoico. Crea una clave privada y una clave pública, normalmente almacenadas en ~/.ssh/id_ed25519y ~/.ssh/id_ed25519.pub. Luego, copia la clave pública a tu dispositivo IoT. Puedes hacerlo con ssh-copy-id user@device-ip— que agrega automáticamente tu clave pública a ~/.ssh/authorized_keys. Si eso no funciona (algunos dispositivos pueden carecer de esa utilidad), simplemente copia manualmente el contenido de id_ed25519.puben ~/.ssh/authorized_keys en el dispositivo. Es un fastidio, pero vale la pena porque de esta manera, puedes conectarte sin contraseñas y todo es más seguro.
Configure los ajustes de seguridad SSH para mayor seguridad.
Esta parte es bastante crítica: la configuración predeterminada de SSH es deficiente y los hackers la conocen a la perfección. Abre tu archivo /etc/ssh/sshd_config y cambia algunas cosas:
- Cambia el puerto de escucha del 22 a uno aleatorio, por ejemplo, el 2222, para evitar objetivos fáciles. Simplemente modifica el Puerto 22 al Puerto 2222.
- Deshabilita el inicio de sesión de root para evitar que alguien trastee como root: establece PermitRootLogin no.
- Permitir únicamente la autenticación basada en claves: busque PasswordAuthentication no y actívela, de modo que solo las personas con claves puedan iniciar sesión.
- Considere la posibilidad de configurar AllowUsers o AllowGroups para restringir aún más el acceso.
Guarda el archivo y luego reinicia el servicio SSH con sudo systemctl restart sshd. Puede que no parezca gran cosa, pero estos ajustes eliminan muchos vectores de ataque comunes. Ten en cuenta que, en algunos dispositivos, es posible que tengas que ejecutar pkill sshdo reiniciar manualmente. Sucede con más frecuencia de lo que crees con firmware rooteado o personalizado.
Conéctese de forma segura a su dispositivo IoT mediante SSH.
Una vez que hayas hecho todo lo anterior, es hora de probarlo. Desde tu terminal o símbolo del sistema, escribe ssh user@device-ip -p 2222(o el puerto que hayas configurado).Si todo está configurado correctamente, debería iniciar sesión sin pedir una contraseña, debido a la configuración basada en clave. En algunos sistemas, es posible que necesites especificar la clave SSH: ssh -i ~/.ssh/id_ed25519 user@device-ip -p 2222. Prepárate para algunos problemas de conexión si tu red bloquea puertos personalizados o si olvidaste abrir el puerto en tu enrutador/cortafuegos.En algunas máquinas, la primera conexión podría mostrarte una advertencia sobre la autenticidad; simplemente verifícala y acepta. Por lo general, las conexiones posteriores son fluidas, pero a veces necesitas eliminar o restablecer known_hosts si algo sale mal.
Mantén tu configuración SSH actualizada y en buen estado.
Piensa en esto como en los cambios de aceite: si ignoras las actualizaciones, las vulnerabilidades se acumulan. Ejecuta regularmente comandos como sudo apt update && sudo apt upgradeo, yum updatesegún tu sistema operativo. Además, revisa las actualizaciones de firmware o del sistema operativo de tu dispositivo; a veces, los parches de seguridad corrigen fallos que ni siquiera conocías. Recuerda que una mejor seguridad es un proceso continuo: no la configures y te olvides.
Consejos para mantener seguros los dispositivos IoT con SSH
- Utilice claves SSH largas y complejas, y una contraseña segura. Si olvida las contraseñas, las claves son más seguras.
- Limite el acceso SSH a direcciones IP específicas, si es posible, especialmente si tiene una dirección IP doméstica fija o una VPN.
- Supervise los intentos de inicio de sesión con herramientas como SSHGuard o los registros nativos del sistema.
- Desactive los servicios que no utilice y bloquee los puertos innecesarios en su dispositivo y enrutador.
- Mantén siempre actualizados los parches de seguridad. Porque, claro está, los dispositivos IoT no guardarán secretos para siempre si se dejan vulnerables.
Preguntas frecuentes
¿Qué sentido tiene cambiar el puerto predeterminado de SSH?
Es como ponerle un candado a la puerta principal: no es infalible, pero detiene los ataques de fuerza bruta automatizados y casuales. Los hackers suelen atacar el puerto 22, así que cambiar su ubicación puede bloquear algunos de los ataques más sencillos.
¿Qué ocurre si pierdo mi clave SSH?
Buena pregunta. Probablemente significa que necesitarás acceso físico o alguna forma de reiniciar el dispositivo si la clave se ha perdido. Muchas veces, tendrás que conectarte manualmente mediante puerto serie o USB y restablecer las claves SSH o la configuración. Es mejor tener cuidado con las copias de seguridad y mantener tus claves privadas a salvo.
¿Es compatible SSH con todos los dispositivos IoT?
No del todo. La mayoría de los sistemas basados en Linux sí lo permiten, pero algunos firmwares personalizados o hardware propietario podrían no. Siempre revisa las especificaciones de tu dispositivo o los foros de la comunidad antes de dar por sentado que SSH es posible.
Resumen
- Asegúrese de que SSH esté instalado y activo.
- Generar y transferir claves SSH correctamente.
- Ajustar la configuración: cambiar los puertos, deshabilitar el inicio de sesión como root, forzar la autenticación por clave.
- Prueba la conexión con tus llaves.
- Mantén todo actualizado: software, firmware, configuraciones.
Resumen
Todo este tema de SSH puede parecer un poco tedioso al principio, pero una vez configurado, es como un escudo invisible para tus dispositivos. Claro, requiere algunos pasos adicionales, pero es mucho mejor que dejar todo desprotegido. Además, una vez que te acostumbras, administrar tus dispositivos IoT de forma remota se siente mucho más seguro. En una configuración funcionó a la perfección; en otra, solo hicieron falta un pequeño ajuste. Espero que esto le sirva a alguien para evitarse un dolor de cabeza más adelante; a mí me ha salvado en varias ocasiones.