Download - FIREWALL IPTABLES LINUX
FIREWALL
IPTABLES
JULIAN CASTAÑEDA
GESTION DE REDES DE DATOS
455596
INSTRUCTORA
ISABEL CRISTINA YEPES
SENA
CENTRO DE SERVICIOS Y GESTIÓN EMPRESARIAL
MEDELLIN
2014
INTRODUCCION
La seguridad en las redes de datos se ha vuelto una polémica buscando la manera de lograr una red 100% segura, lo que es imposible, pero existen varios métodos para aumentar la seguridad casi hasta un 99%, uno de los más comunes es la intervención de un servidor firewall que solo nos permitirá las conexiones quedeseemos dejándonos filtrar por protocolos, ip etc.
TOPOLOGIA
REGLAS:
DE LAN A INTERNET:ICMPHTTPHTTPSDNSFTP
DE LAN A DMZ:ICMPHTTPHTTPSDNSFTP
DE DMZ A LAN:NADA
DE DMZ A INTERNET:FTPHTTPHTTPSDNSICMP
DE INTERNET A DMZ:HTTPHTTPSDNSFTP
FIREWALL CON IPTABLES
Borramos todas las reglas incluyendo tablas de NAT.
#!/bin/sh#Limpiandoiptables -Fiptables -Xiptables -Z iptables -t nat –F
Asignamos las políticas por defecto.
#Politicas por defecto
iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROPiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPT
Ruteo y NATEO.
############################# NAT ##############################
iptables -t nat -A POSTROUTING -o eth1 -s 172.16.2.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 172.16.2.0/24 -d 172.16.3.0/24 -o eth0
iptables -t nat -A POSTROUTING -o eth1 -s 172.16.3.0/24 -j MASQUERADE
#Estas permiten que ingresen al servidor con la IP publica.
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 172.16.2.10:80
iptables -t nat -A PREROUTING -i eth1 -p udp --dport 53 -j DNAT --to 172.16.2.10:53
######################### ACLs ########################
#*******************LAN A DMZ******************#
#DNS
iptables -A FORWARD -i eth2 -s 172.16.3.0/24 -d 172.16.2.0/24 -p udp --dport 53 -jACCEPT
iptables -A FORWARD -o eth2 -s 172.16.2.0/24 -d 172.16.3.0/24 -p udp --sport 53 -j ACCEPT
#HTTP, HTTPS & FTP (Locales)
iptables -A FORWARD -i eth2 -s 172.16.3.0/24 -d 172.16.2.0/24 -p tcp -m multiport --dports 20,21,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.16.2.0/24 -d 172.16.3.0/24 -p tcp -m multiport --sports 20,21,80,443 -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth2 -s 172.16.3.0/24 -d 172.16.2.0/24 -m state --state ESTABLISHED,RELATED -p tcp --dport 1023:65000 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.16.2.0/24 -d 172.16.3.0/24 -m state --state ESTABLISHED,RELATED -p tcp --sport 1023:65000 -j ACCEPT
#ICMP (DE LAN & DMZ A INTERNET)
iptables -A FORWARD -i eth2 -s 172.16.3.0/24 -d 172.16.2.0/21 -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth2 -s 172.16.2.0/24 -d 172.16.3.0/24 -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.16.2.0/24 -p icmp --icmp-type 8 -j ACCEPT
iptables -A FORWARD -i eth2 -s 172.16.3.0/24 -p icmp --icmp-type 8 -j ACCEPT
iptables -A FORWARD -i eth1 -d 172.16.3.0/24 -p icmp --icmp-type 0 -j ACCEPT
iptables -A FORWARD -i eth1 -d 172.16.2.0/24 -p icmp --icmp-type 0 -j ACCEPT #****************LAN A INTERNET *************#
#DNSiptables -A FORWARD -o eth1 -s 172.16.3.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -d 172.16.3.0/24 -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -o eth1 -s 172.16.2.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -i eth1 -d 172.16.2.0/24 -p udp --sport 53 -j ACCEPT
#HTTP & HTTPS & FTPiptables -A FORWARD -i eth2 -s 172.16.3.0/24 -p tcp -m multiport --dports 21,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o eth2 -d 172.16.3.0/24 -p tcp -m multiport --sports 21,80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o eth1 -s 172.16.2.0/24 -p tcp -m multiport --dports 80,443,21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -d 172.16.2.0/24 -p tcp -m multiport --sports 80,443,21 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -s 172.16.3.0/24 -m state --state ESTABLISHED,RELATED -p tcp --sport 1023:65000 -j ACCEPT
iptables -A FORWARD -i eth1 -d 172.16.3.0/24 -m state --state ESTABLISHED,RELATED -p tcp --dport 1023:65000 -j ACCEPT
####################### DE INTERNET A DMZ ###################
#HTTP & HTTPS & FTPiptables -A FORWARD -i eth1 -d 172.16.2.0/24 -p tcp -m multiport --dports 21,80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -o eth1 -s 172.16.2.0/24 -p tcp -m multiport --sports 21,80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
#DNSiptables -A FORWARD -i eth1 -d 172.16.2.0/24 -p udp --dport 53 -j ACCEPTiptables -A FORWARD -o eth1 -s 172.16.2.0/24 -p udp --sport 53 -j ACCEPT
service iptables save
NOTA: Para trabajar el FTP tanto activo como pasivo, él se conecta a un puerto aleatorio, por eso en la regla del FTP agregamos un rango de puertos destinados para la conexión.
*El comando service iptables save, lo que hace es guardar las reglas realizadas cada que ejecutamos el script.