2. 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 que
deseemos dejándonos filtrar por protocolos, ip etc.
4. REGLAS:
DE LAN A INTERNET:
ICMP
HTTP
HTTPS
DNS
FTP
DE LAN A DMZ:
ICMP
HTTP
HTTPS
DNS
FTP
DE DMZ A LAN:
NADA
DE DMZ A INTERNET:
FTP
HTTP
HTTPS
DNS
ICMP
DE INTERNET A DMZ:
HTTP
HTTPS
DNS
FTP
5. FIREWALL CON IPTABLES
Borramos todas las reglas incluyendo tablas de NAT.
#!/bin/sh
#Limpiando
iptables -F
iptables -X
iptables -Z
iptables -t nat –F
Asignamos las políticas por defecto.
#Politicas por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P POSTROUTING ACCEPT
iptables -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 ########################
6. #*******************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 -j
ACCEPT
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 *************#
7. #DNS
iptables -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 & FTP
iptables -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 & FTP
iptables -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 ACCEPT
iptables -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
#DNS
iptables -A FORWARD -i eth1 -d 172.16.2.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -o eth1 -s 172.16.2.0/24 -p udp --sport 53 -j ACCEPT
service iptables save
8. 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.