Limitar acceso por SSH únicamente a ciertas IP con IPTables
Como precaución es mejor limitar el acceso por SSH únicamente a ciertas direcciones IP, para lo cual podemos utilizar un firewall, como IPTables.
IPTables
Iptables es un módulo del núcleo de Linux que se encarga de filtrar los paquetes de red, es decir, es la parte que se encarga de determinar qué paquetes de datos queremos que lleguen hasta el servidor y cuáles no. Al igual que ocurre con otros sistemas de cortafuegos, iptables funciona a través de reglas. Es decir, el usuario mediante sencillas instrucciones indica al firewall el tipo de paquetes que debe permitir entrar, los puertos por donde se pueden recibir esos paquetes, el protocolo utilizado para el envío de datos y cualquier otra información relacionada con el intercambio de datos entre redes. Cuando en el sistema se recibe o se envía un paquete, se recorren en orden las distintas reglas hasta dar con una que cumpla las condiciones. Una vez localizada, esa regla se activa realizando sobre el paquete la acción indicada. Gracias a su robustez, iptables se ha convertido hoy por hoy en una de las herramientas más utilizadas para el filtrado de tráfico en sistemas Linux.
Instalar IPTables
Usualmente, IPTables viene instalado predeterminadamente, pero si no lo está, pues entonces:
sudo apt-get update sudo apt-get install iptables
Luego, es necesario agregar una regla que hará que sea posible la conexión entre el mismo equipo, por ejemplo, para utilizar mysql:
sudo iptables -A INPUT -i lo -j ACCEPT
Ahora agregaremos las direcciones IP de los equipos que utilizaremos para conectarnos al servidor:
sudo iptables -A INPUT -p tcp --dport 22 -s 10.1.2.3 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -s 10.1.2.4 -j ACCEPT
Es recomendable que las direcciones IP de los equipos desde donde nos conectamos sean estáticas, para evitar que en el futuro sea otra.
Se debe habilitar la conexión de respuesta a conexiones establecidas:
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Si es un servidor web, es necesario agregar las reglas para que permita el tráfico web:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Por último se debe aplicar la regla que todo el tráfico restante sea desechado:
sudo iptables -A INPUT -j DROP
Podemos ver las reglas que están aplicándose:
sudo iptables -L -v
Es necesario guardar los cambios, pues todo lo que hemos hecho hasta ahora está únicamente en memoria
sudo iptables-save
Borrar toda la configuración
Si deseamos volver a empezar, ó eliminar todas las reglas, debemos:
sudo iptables -F sudo iptables-save