[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: