Ajuda URGENT amb Firewall
Hola,
Estic configurant un firewall i no aconsegueixo ke em tiri del tot.
Us explico:
Tinc dues xarxes separades cadascuna de les quals ha de tenir unes
restricción diferents. Així, l'eskema seria el seguent:
INET ---- ROUTER ------ (eth0) FIREWALL (eth1) -------- VLAN1
(eth2)
|
VLAN2
El ke vuldria fer es:
VLAN1 accés a
ROUTER i FIREWALL per ports 22, 23, 80 i 443
VLAN2 sense restriccions
Internet sense restriccions
VLAN2 accés a
Internet només per ports 80 i 443
FIREWALL accés a
ROUTER, VLAN2 i internet sense restriccions
He fet un script d'Iptables amb la configuració adient per obtenir
aquest resultat, però el que em passa es que la xarxa VLAN2 no la
limita, es a dir, pot utilitzar tots els ports.
Us deixo aquí l'escript d'Iptables a veure si vosaltres em podeu
ajudar i hi trobeu l'error.
------------------------------------------------ IPTABLES
------------------------------------------
#!/bin/bash
##Script de IPTABLES
echo
echo "*********** IPTABLES FIREWALL ANTIPODAS-FW ***********"
echo
##Notas relevantes:
## Configuracion del Firewall
##
## INET ---- ROUTER
## 172.16.0.1
## |
## |
## |
## (eth0)
## 172.16.0.54
## | (profes)
## FIREWALL - (eth1)192.168.10.1 ------ VLAN1
## | 192.168.10.x
## (eth2)
## 192.168.20.1
## |
## |
## |
## VLAN2 (alumnos)
## 192.168.20.x
##
# Creacion de variables para simplificar código
VLAN1=192.168.10.0/24
echo LAN1 = $VLAN1
VLAN2=192.168.20.0/24
echo LAN2 = $VLAN2
ROUTER=172.16.0.1/16
echo ROUTER = $ROUTER
FW=172.16.0.54/16
echo FIREWALL = $FW
echo
echo "Borrando reglas anteriores..."
#Flush de reglas
# -F = vaciar reglas de una chain
# -X = borrar cadena vacía
# -Z = contador de paquetes y bytes de chain a 0
iptables -F && echo "1-OK"
iptables -X && echo "2-OK"
iptables -Z && echo "3-OK"
iptables -t nat -F && echo "4-OK"
echo "Borrado terminado."
echo
echo "Creando nuevas reglas..."
# Política por defecto DROP
# -P = cambiar norma de cadena
echo "Definiendo políticas por defecto..."
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
echo "Políticas definidas"
echo
# ------------------------ FILTRADO ------------------------
#
# Indicamos la interface por la que ha de entrar/salir el paquete
# para mayor seguridad (-i ethx)
#
# Para hacer pruebas se aceptarán los pings al FIREWALL y al ROUTER
#
# ------------- General -------------
echo "Iniciando la creación de filtros"
echo
# Primero permitimos todas las conexiones ya establecidas.
# Así no podrá entrar nada en la red sin que antes haya sido
# pedido.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j
ACCEPT
iptables -A OUTPUT -o eth0 -m state --state ESTABLISHED,RELATED -j
ACCEPT
iptables -A FORWARD -i eth0 -d $VLAN1 -m state --state
ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -p TCP --sport 80 -d $VLAN2 -m state
--state ESTABLISHED,RELATED -j ACCEPT
#EPS!! REGLA 4. AQUESTA ES LA KE HAURIA DE CONTROLAR EL TRAFIC DE
VLAN2 PER DEIXAR SOLS CONEXIONS ESTABLERTES A PORT 80. LA RESTA AL NO
ESPECIFICAR RES HAURIA DE DENEGAR Y NO HO FA!!!!
# ACCESO FIREWALL
# Al Firewall acceso por telnet y http desde VLAN1.
# Denegación desde cualquier otra ubicación (Por si acaso)
iptables -A INPUT -i eth1 -s $VLAN1 -p TCP --dport 23 -j ACCEPT
iptables -A INPUT -i eth1 -s $VLAN1 -p UDP --dport 23 -j ACCEPT
iptables -A INPUT -i eth1 -s $VLAN1 -p TCP --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -s $VLAN1 -p UDP --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -s $VLAN1 -p TCP --dport 443 -j ACCEPT
iptables -A INPUT -i eth1 -s $VLAN1 -p UDP --dport 443 -j ACCEPT
# Del FIREWALL a las VLANs permitido todo
iptables -A OUTPUT -o eth1 -d $VLAN1 -j ACCEPT
iptables -A OUTPUT -o eth2 -d $VLAN2 -j ACCEPT
# PETICIONES DNS.
#Aceptamos desde cualquier sitio de las redes
# internas peticiones DNS
echo
echo "Creando filtros de peticiones DNS..."
iptables -A INPUT -i eth1 -s 0.0.0.0/0 -p TCP --dport 53 -j ACCEPT
iptables -A INPUT -i eth1 -s 0.0.0.0/0 -p UDP --dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -s 0.0.0.0/0 -p TCP --dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -s 0.0.0.0/0 -p UDP --dport 53 -j ACCEPT
# CERRANDO ACCESO AL FIREWALL
iptables -A INPUT -i eth0 -j DROP && echo " Regla 15 - OK"
# ACCESO ROUTER
# Acceso por telnet y http al ROUTER desde VLAN1.
# Resto denegados
iptables -A FORWARD -i eth1 -s $VLAN1 -o eth0 -d $ROUTER -p TCP
--dport 23 -j ACCEPT
iptables -A FORWARD -i eth1 -s $VLAN1 -o eth0 -d $ROUTER -p UDP
--dport 23 -j ACCEPT
iptables -A FORWARD -i eth1 -s $VLAN1 -o eth0 -d $ROUTER -p TCP
--dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -s $VLAN1 -o eth0 -d $ROUTER -p UDP
--dport 80 -j ACCEPT
iptables -A FORWARD -i eth1 -s $VLAN1 -o eth0 -d $ROUTER -p TCP
--dport 443 -j ACCEPT
iptables -A FORWARD -i eth1 -s $VLAN1 -o eth0 -d $ROUTER -p UDP
--dport 443 -j ACCEPT
iptables -A FORWARD -s 0.0.0.0/0 -d $ROUTER -j DROP
# --------- VLAN1 -----------
#
# Acceso a todo y por todos los puertos menos al
# FIREWALL y al ROUTER (excepciones a éstos en puertos
# 23, 80 y 443, ver reglas 5-10 y 15-21)
#
# Todo lo que vaya con destino VLAN1 bloqueado
# * Origen VLAN1, destino VLAN2
iptables -A FORWARD -i eth1 -o eth2 -s $VLAN1 -d $VLAN2 -j ACCEPT
# * Origen VLAN1, destino ROUTER y FIREWALL cerrado por reglas anteriores
# * Origen VLAN1, destino resto (internet)
iptables -A FORWARD -i eth1 -s $VLAN1 -d 0.0.0.0/0 -j ACCEPT
# --------- VLAN2 -----------
#
# Acceso restringido.
# Sólo permitido el acceso a internet para la navegación
# web (sólo abiertos puertos 80 y 443)
#
# Todo lo dirigido hacia VLAN2 denegado
echo
echo "Creando filtros para origen VLAN2..."
# * Origen VLAN2, destino VLAN1
iptables -A FORWARD -i eth2 -s $VLAN2 -d $VLAN1 -j DROP
# * Origen VLAN2, destino Firewall y Router denegado en reglas anteriores
# * Origen VLAN2, destino resto (internet)
iptables -A FORWARD -i eth2 -o eth0 -s $VLAN2 -d 0.0.0.0/0 -p TCP
--dport 80 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s $VLAN2 -d 0.0.0.0/0 -p UDP
--dport 80 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s $VLAN2 -d 0.0.0.0/0 -p TCP
--dport 443 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -s $VLAN2 -d 0.0.0.0/0 -p UDP
--dport 443 -j ACCEPT
iptables -A FORWARD -i eth2 -s $VLAN2 -d 0.0.0.0/0 -j DROP
echo
echo "Creación de filtros terminada."
echo
# ------------------------- AJUSTE DE OPCIONES -------------------------
echo "Ajustando de opciones..."
# Enmascaramiento de las redes locales
iptables -t nat -A POSTROUTING -s $VLAN1 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s $VLAN2 -o eth0 -j MASQUERADE
# Activación del bit de FORWARD.
# Ojo!! IMPORTANTE. Sin éste no se permite el forward
# de paquetes en el FIREWALL y las otras máquinas no
# podrán salir a través de él.
echo 1 > /proc/sys/net/ipv4/ip_forward
# Evitar paquetes "Source Routed" (paquetes IP que
# especifican la ruta que debe usar el paquete por la red)
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
# Desactivar paquetes ICPM redirigidos (avisan al receptor
#que tiene que omitir algo en su tabla de rutas)
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
# Denegar respuesta a broadcasts
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# Logear paquetes raros
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
echo
echo "Proceso de creación de iptables finalizado."
echo
echo "Para verificar lo que se está aplicando, utilice : iptables -L -n"
echo
------------------------------------------------ FI
---------------------------------------------
Moltisimes gracies!!!!
Neko-Chan
1.nekochan(ARROBA)gmail.com
Reply to: