miércoles, 30 de julio de 2014

IPTABLES (comandos y ejemplos)

Como les había prometido en el post anterior sobre montarle algunos ejemplos para que pudieran realizarlos en sus computadoras, para que no llevarme una semana decidí probar unos cuantos comando en mi trabajo y hacer una especie de resumen de lo que les puede servir, ya sea para una computadora personal o configurar el firewall de una gran red. revisando el firewall de mi trabajo y con la ayuda de algunos documentos que logre encontrar y probar, desarrolle este post. 

para comenzar con un ejemplo básico para proteger tu equipo personal (un consejo, si no manejas muy bien esta herramienta, antes de estos he escrito 2 post muy interesante para aprender algunos comando que vamos a utilizar aquí, no voy a entrar en explicaciones porque seria redundar en los artículos anteriores,  recuerde que esta herramienta es sensible a mayúsculas y minúsculas): 

El primer paso es crear un script esto lo pueden conseguir en el primer post sobre IPTABLES nos dirijamos a esta archivos y lo editamos como nos aparece a continuación: 

#reglas básicas 
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT 
iptables -P FORWARD ACCEPT 
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT 

#ahora si empezamos a filtra los paquetes 
#permitimos conexiones de localhost
iptables -A INPUT -i lo -j ACCEPT 

# a nuestra ip le dejamos todo 
iptables -A INPUT -s 192.15.15.156 -j ACCEPT

#a un amigo le dejamos que consulte base de bados en mysql
iptables -A INPUT -s 192.168.2.5 -p tcp --dport 3306 -j ACCEPT 

#un acceso a FTP 
iptables -A INPUT -s 192.168.4.5 -p tcp --dport 2021 -j ACCEPT 

#servidor web abierto 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

#y el resto lo cerramos 
iptables -A INPUT -p tcp --dport 3306 -j DROP
iptables -A INPUT -p tcp --dport 2021 -j DROP
iptables -A INPUT -p tcp --dport 22 -j DROP 
iptables -A INPUT -p tcp --dport 10000 DROP 

 Vamos con un ejemplo un poco mas complejo, y seria un la configuración de un firewall de una red que necesita salida a Internet, y para lo cual utilizaremos el NAT.

Comienza el script 
#aplicamos reglas básicas
iptables -P INPUT ACCEPT
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

##empezamos a filtrar
##nota: eth0 esta la interfaz conectada al router y la eth1 a la LAN
#dejamos las conexiones locales
iptables -A INPUT -i lo -j ACCEPT

#al firewall tenemos acceso desde la LAN
iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

#ahora hacemos enmascaramiento de la red local
#y activamos el BIT DE FORWARDING (importante)
iptables -t nat -A POSROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

#con esta linea podemos hacer forward de paquetes en el firewall
#(es decir que otras maquinas puedan salir a travez del firewall)
echo > 1 /proc/sys/net/ipv4/ip_forward

##y ahora cerramos los accesos indeseados del exterior
#nota: 0.0.0.0/0 significa cualquier red
#cerramos el rango de puerto bien conocido
iptables -A INPUT -s 0.0.0.0/0 -p tcp dport 1:1024 -j DROP
iptables -A INPUT -s 0.0.0.0/0 -p udp dport 1:1024 -j DROP

#cerramos un puerto de gestion: webmin
iptables -A INPUT -s 0.0.0.0/0 -p tcp -dport 10000 -j DROP

fin del script

Nota importante sobre el script anterior, en la linea en la que aparece echo > 1 /proc/sys/net/ipv4/ip_forward lo podemos hacer de la siguiente manera:
nos dirijamos al archivo /etc/sysctl.conf y en la linea en la que aparece
net.ipv4.ip_forward=0    lo vamos a remplazar por un 1
net.ipv4.ip_forward=1





0 comentarios :

Publicar un comentario