Retroceder   Foros del Web > Temas generales de computación > Sistemas Operativos > BSD y Linux

Respuesta
 
Herramientas Desplegado
Antiguo 13-may-2008, 12:25   #1 (permalink)
AloneInTheAss ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 3
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
AloneInTheAss está desconectado   Responder Citando
Antiguo 13-may-2008, 15:50   #2 (permalink)
Colaborador
AleSanchez tiene algunos puntos positivos de karma
 
Avatar de AleSanchez
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 2.452
Enviar un mensaje por ICQ a AleSanchez Enviar un mensaje por MSN a AleSanchez Enviar un mensaje por Yahoo  a AleSanchez Enviar un mensaje por Skype™ a AleSanchez
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.
__________________
Zona Tux | Foro DIY
AleSanchez está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 18:49.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93