Bloquea acceso SSH al servidor solo con dos archivos
¿Cómo bloquear o permitir direcciones IP en Linux usando dos archivos simples? Estos archivos son hosts.allow y hosts.deny, y permiten bloquear o permitir direcciones IP de forma rápida, sin tener que lidiar con reglas de firewall complicadas.
Con esta capacidad, puedes bloquear rápidamente una dirección IP sospechosa para evitar posibles actividades maliciosas; o puedes limitar, por ejemplo, las conexiones SSH solo a direcciones específicas, así no tienes que preocuparte por terceros que ganen acceso a tus servidores o computadoras.
Déjame mostrar cómo se hace, demostrando el acceso SSH a una máquina. Todo lo que necesitas es una instancia en ejecución de Linux y un usuario con privilegios de sudo.
Inicia sesión en tu máquina Linux y abre una ventana de terminal. Primero, vamos a denegar todo el acceso al daemon SSH. Abre el archivo hosts.deny con el comando sudo nano /etc/hosts.deny. Al final de este archivo, agrega:
sshd: ALL
Guarda y cierra el archivo.
Luego, abre el archivo hosts.allow con el comando sudo nano /etc/hosts.allow. Digamos que quieres permitir acceso SSH solo para dos máquinas en tu red, en las direcciones IP 192.168.1.62 y 192.168.1.152. Para esto, agrega la línea:
sshd: 192.168.1.62, 192.168.1.152
Guarda y cierra el archivo.
En este punto, solo estas dos máquinas tienen permiso para acceder a tu computadora o servidor a través de SSH. Recuerda que el archivo hosts.deny se lee antes que hosts.allow, por lo tanto, configurar sshd: ALL en hosts.deny solo se anula si hay una entrada en hosts.allow.
Si configuras hosts.deny con sshd: ALL y no agregas una entrada correspondiente en hosts.allow, nadie tendrá permiso para acceder a la máquina a través de SSH. ¡Y eso es todo! Has añadido otra capa de seguridad a tus máquinas Linux usando hosts.deny y hosts.allow.
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.