Ahora veremos como configurar iptables para determinar el servicio de un host determinado o el rango de los mismos (hosts).
Sin mayor preambulo, vamos directo al grano, se desea restringir un puerto o servicio a una dirección IP específica o un rango de IPs, para ello nosotros vamos a permitir el acceso via SSH a dos IPs y vamos a denegar el resto, tal como se muestra a continuacion.
Comandos:
iptables -I INPUT -p tcp -m tcp -s 111.222.333.4 –dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp -s 555.666.777.8/29 –dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp -s 0.0.0.0/0 –dport 22 -j DROP
Ahora, si se desea que esta configuración se aplique cada vez que se reinicie la maquina, es necesario usar el comando iptables-save.
En sistemas basados en Red Hat el archivo de configuracion se localiza en: /etc/sysconfig/iptables. Para agregar las lineas siguientes, unicamente hay que editarlo con su editor favorito.
-A INPUT -p tcp -m tcp -s 111.222.333.4 –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 555.666.777.8/29 –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 0.0.0.0/0 –dport 22 -j DROP
Recordar que la mayoría de los firewalls, utilizan Stateful Packet Inspection, ie. que las reglas se van a leer las reglas en orden de arriba a abajo. Y es por ello que poner todas las redes permitidas primero y después negar todo (0.0.0.0/0).
Suerte!!!
dvarela(at)linuxsc.net