Foros del Web » Administración de Sistemas » Unix / Linux »

Problema con IPTables

Estas en el tema de Problema con IPTables en el foro de Unix / Linux en Foros del Web. Espero que me hecheis una mano, que llevo unas semanas con esto y no lo consigo. Bueno, estoy montando mi propio servidor, con las posibilidades ...
  #1 (permalink)  
Antiguo 13/05/2008, 12:25
 
Fecha de Ingreso: mayo-2008
Mensajes: 39
Antigüedad: 16 años, 6 meses
Puntos: 1
Problema con IPTables

Espero que me hecheis una mano, que llevo unas semanas con esto y no lo consigo.

Bueno, estoy montando mi propio servidor, con las posibilidades de servidor via FTP y servidor HTTP.
Bueno, a la hora de añadir variables y reglas a IPtables v1.3.8 me lo hace correctamente, puedo navegar, tengo todo en politica DROP, excepto lo que me interesa que se accede desde la red externa, como el puerto 80, 20 y 21.
Hasta aqui va todo bien, me rechaza lo que no quiero, puedo navegar por la web y el Apache funciona perfectamente accediendo desde fuero, pero en cuanto al servidor via FTP, a la hora de logearme a nivel de red externa, por ejemplo, con mi DNS, me acepta en el sistema, quiero decir, que me detecta que el usuario es correcto, y el pass tambien e incluso aparece el banner que yo previamente he configurado, pero a la hora de listar el directorio, se queda parado, no lo lista y por lo tanto no puedes acceder, pero sin embargo, esta logeado.

He probado esto aplicandole la politica de todo ACCEPT o desactivando IPTables y funciona el FTP perfetamente. Entonces esta claro que el pequeño error no proviene de mi LAN o a raiz de una mala configuracion del router, es dedibo a IPTables. Sin embargo, si puedo acceder con iptables activado desde mi propia LAN.

Aqui os muesto el log del cliente FTP

200 TYPE es ahora 8-bit binary
PWD

Cargando listado de directorio / desde el servidor (LC_TIME=es_ES.UTF-8)
PASV

227 Entering Passive Mode


Y aqui os pongo el código Script que tengo para aplicar a IPTables

#!/bin/sh
## SCRIPT de IPTABLES - Rijndael Server

echo -n Aplicando Reglas de Firewall Rijndael...

iptables -F INPUT

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT

iptables -A INPUT -m state --state NEW -i eth0 -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -i eth0 -p tcp --dport 21 -j ACCEPT

iptables -A INPUT -s 192.168.2.55 -j ACCEPT
iptables -A OUTPUT -d 192.168.2.55 -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

iptables -A INPUT -m state --state NEW -i eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -m state --state NEW -i eth0 -s 192.168.2.80 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -i eth0 -s 192.168.2.80 -p tcp --dport 5500:5950 -j ACCEPT
iptables -A INPUT -m state --state NEW -i eth0 -s 192.168.2.68 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -i eth0 -s 192.168.2.68 -p tcp --dport 5500:5950 -j ACCEPT
iptables -A INPUT -m state --state NEW -i eth0 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -m state --state NEW -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -m state --state NEW -i eth0 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -m state --state NEW -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT

iptables -P INPUT DROP


iptables -F FORWARD
iptables -P FORWARD DROP


iptables -F OUTPUT
iptables -P OUTPUT ACCEPT



# Deshabilitar la redirección del ping
/bin/echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects
/bin/echo "0" > /proc/sys/net/ipv6/conf/all/accept_redirects

# Anti-flooding o inundación de tramas SYN.
iptables -N syn-flood
iptables -A INPUT -i $IFACE -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
iptables -A syn-flood -j DROP

# Guardar los accesos con paquetes fragmentados, recurso utilizado para tirar
# servidores y otras maldades (bug en Apache por ejemplo)
iptables -A INPUT -i $IFACE -f -j LOG --log-prefix "Fragmento! "
iptables -A INPUT -i $IFACE -f -j DROP

# Anti-spoofing (falseo de ip origen)
iptables -A INPUT -i $IFACE -s $IPADDR -j DROP
iptables -A INPUT -i $IFACE -s $CLASS_A -j DROP
iptables -A INPUT -i $IFACE -s $CLASS_B -j DROP
iptables -A INPUT -i $IFACE -s $CLASS_C -j DROP
iptables -A INPUT -i $IFACE -s $CLASS_D_MULTICAST -j DROP
iptables -A INPUT -i $IFACE -s $CLASS_E_RESERVED_NET -j DROP
iptables -A INPUT -i $IFACE -d $LOOPBACK -j DROP
iptables -A INPUT -i $IFACE -d $BROADCAST -j DROP


# Fin del script


Bueno, espero que me podais hechar una mano. Muchas gracias de antemano!


PD: uso OpenSUSE 10.3
  #2 (permalink)  
Antiguo 13/05/2008, 15:50
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 20 años, 2 meses
Puntos: 47
Re: Problema con IPTables

¿Configuraste el modo pasivo en el servidor FTP?
Una vez que lo hagas tenes que abrir los puertos que asignaste para el PASV en iptables.
Saludos.

PD: Yo ya no me hago mas problemas. Ultimamente ni uso iptables, simplemente me tomo la molestia de configurar correctamente los servicios para que escuchen en las interfaces que deben y listo.
Saludos.
__________________
¡Volviendo a la programación!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:54.