Resultados 1 al 3 de 3

duda de como montar firewall iptables para servidor

  1. #1 duda de como montar firewall iptables para servidor 
    Avanzado
    Fecha de ingreso
    Sep 2004
    Ubicación
    Me in the middle
    Mensajes
    375
    Descargas
    3
    Uploads
    0
    tengo un problema, llevo todo el dia peleando con iptables para poder hacer lo siguiente:

    tengo un servidor con un windows 2003 el cual va al firewall linux a la interfaz eth0, este bloquea todo excepto el puerto para el ssh y mediante la interfaz eth1 va a internet para que un ordenador externo entre por ssh al servidor windows 2003

    las ips son: 192.168.2.1 (router)
    192.168.2.2 (eth1 del firewall)
    192.168.1.1 (eht0 del firewall la cual va a la LAN)
    192.168.1.2 (server 2003)

    lo que crei mas facil era poner como politica general DROP y unicamente abrir el puerto 22 para el ssh pero esto se me complico y no me dejo

    entonces hice algo parecido que fue poner que acepte todo, bloquear los puertos que no usa y hacer un FORWARD al 22 pero esto no me funciona

    yo creo que no es mas del iptables sino que dentro del linux hay que hacer algun redireccionamiento o algo asi

    dejo mi script por si sirve de algo

    Código:
    #!/bin/sh
    echo -n Aplicando Reglas de Firewall...
    ## FLUSH de reglas
    iptables -F
    iptables -X
    iptables -Z
    iptables -t nat -F
    ## Establecemos politica por defecto
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -t nat -P PREROUTING ACCEPT                                  
    iptables -t nat -P POSTROUTING ACCEPT
    ## Empezamos a filtrar
    ## Nota: eth1 es el interfaz conectado al router y eth0 a la LAN
    # El localhost se deja
    /sbin/iptables -A INPUT -i lo -j ACCEPT
    # Al firewall tenemos acceso desde la red local
    iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
    iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 22 -j ACCEPT
    iptables -A FORWARD -s 0.0.0.0/0 -d 192.168.1.0/24 -i eth1 -p tcp --sport 22 -j ACCEPT
    
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    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
    
    echo " OK"
    # Fin del script
    Saludos
    "Las repisas que corroen el saber de la zanahoria, estan estimulando e instituyendo a los colombos de la epoca..."
    Citar  
     

  2. #2  
    Moderador Global
    Fecha de ingreso
    Aug 2005
    Mensajes
    6.279
    Descargas
    7
    Uploads
    0
    Hola ancabi.

    Sí, la mejor política es la primera, sin duda.

    El problema es que te deja enviar el primer paquete, pero no deja que entre la respuesta. Para que puedas recibir (haciéndote NAT el firewall) las respuestas necesitas una regla del tipo --state ESTABLISHED,RELATED, opción que has de definir dentro de una opción más general: -m state.

    Otro motivo por el que nunca te funcionará una "lista blanca" de ese modo es que no estás permitiendo el tráfico en loopback.

    Total, con el escenario que describes, e impidiendo el paso a todo excepto a ssh:



    Código:
    fail=0
    
    ## Borrado de reglas anteriores
    iptables -F || fail=1
    iptables -X || fail=1
    iptables -Z || fail=1
    iptables -t nat -F || fail=1
    
    ## Establecemos politica por defecto
    iptables -P INPUT DROP || fail=1
    iptables -P OUTPUT ACCEPT || fail=1
    iptables -P FORWARD ACCEPT || fail=1
    
    ## Se permite al loopback
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    
    # Lo que te comentaba, lo que hemos pedido nosotros sí que puede entrar
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    # Y también ssh
    iptables -A INPUT -p tcp --dport ssh -m state --state NEW,ESTABLISHED -j ACCEPT
    Se puede mejorar mucho más, distinguiendo la procedencia de los paquetes (según de qué interfaz vengan, a qué MAC correspondan, qué IP, etc)

    Salu2

    . . . . . . . . . . . . . . . . . . . .
    [[ NORMAS DEL FORO ]]
    . . . . . . . . . . . . . . . . . . . .
    __________
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Sep 2004
    Ubicación
    Me in the middle
    Mensajes
    375
    Descargas
    3
    Uploads
    0
    el manual que estuve leyendo no explicaba nada de lo de state, asiq no entiendo mucho el codigo aunq si vos decis que es asi te creo

    el tema es que yo necesito que el ssh entre por el router y llegue al 2003 server, ya que la idea es que el firewall este para impedir ataque y demas al servidor, por eso todo lo que puse para que haga el forward a la interfaz eth0

    me pondre a buscar a ver que es lo de state

    saludos y gracias
    "Las repisas que corroen el saber de la zanahoria, estan estimulando e instituyendo a los colombos de la epoca..."
    Citar  
     

Temas similares

  1. montar servidor DNS
    Por spushan en el foro GENERAL
    Respuestas: 13
    Último mensaje: 19-06-2008, 11:37
  2. Voy a montar un servidor, necesito vuestra ayuda.
    Por smaug_ en el foro VULNERABILIDADES
    Respuestas: 15
    Último mensaje: 13-07-2006, 16:05
  3. firewall linux: IPTables en 21 segundos
    Por ancabi en el foro HARDWARE
    Respuestas: 2
    Último mensaje: 28-02-2005, 12:26
  4. Como hago para montar un Servidor FTP?
    Por Guante en el foro HARDWARE
    Respuestas: 4
    Último mensaje: 08-02-2005, 16:35
  5. Duda sobre linux para servidor
    Por juanma.m.d en el foro LINUX - MAC - OTROS
    Respuestas: 1
    Último mensaje: 06-08-2002, 12:54

Marcadores

Marcadores