FTP BLOQUEADO

Forums: 

Hola a todos nuevamente,

Por solicitarles su ayuda,

Les comento que estoy implementando un sistema web en donde cargo mis archivos que me genera otro sistema hecho en fox con extension .csv , esos archivos generados por mi sistema hecho en fox tienen que ser cargados a mi ftp por medio de DOS pero tengo instalado linux y no me permite salir por el puerto 21, cómo puedo solucionar ese inconveniente,

En espera de su ayuda ,

Les agradezco

Daniela.

Hola amigo , Le cuento que

Hola amigo ,

Le cuento que pude solucionar el problema gracias a su ayuda, me salvó de una grande....

Por pedirle un favor, me puede explicar que significa esa linea... perdon es que de linux no tengo mucho conocimiento recién estoy en pañales sobre linux.

Gracias nuevamente,

Saludos,

Daniela

Al cargar el módulo de

Imagen de acl

Al cargar el módulo de ip_nat_ftp se le da al filtro de paquetes la capacidad de identificar conexiones remotas relacionadas a clientes que hacen ftp a un sitio remoto. Si no lo tienes, el servidor no puede relacionar la conexión que viene del cliente con la conexión que viene del servidor porque ftp es un poco especial (como las olimpiadas especiales).

FTP es un protocolo raro cuando lo hace en su variante por defecto. Los comandos y respuestas viajan entre cliente y servidor por el puerto 21 del servidor (el típico de ftp, nada raro ahí), pero los datos (listados de directorios, carga y descarga de los datos de archivos, etc) viajan a través del puerto 20 del servidor. También existe la variante FTP pasivo, que muchos clientes soportan, pero otros no.

Lo loco está en que en dichas transferencias de datos es el servidor remoto el que inicia la conexión al cliente(!!). Ahora imagínate haciendo esto bajo NAT: el servidor intentará abrir una conexión al servidor de nat que esconde al cliente. Si el servidor de nat no sabe que el cliente está haciendo FTP normal, no sabe que el intento de conexión al puerto aleatorio que está viendo está relacionada con la conexión a 21 del cliente que tiene en su tabla de conexiones, e impedirá que la conexión de datos se efectúe. El módulo ip_nat_ftp permite al servidor identificar estos pares de conexiones y aceptar las conexiones entrantes de servidores ftp remotos.

conectarse a FTP a través de firewall

Imagen de richard007

Hola Dany lei tu problema, me paso lo mismo hace poco el problema radica en que al hacer una conexión a ftp lo hacemos a traves de los puertos 20 y 21, pero al momento de la transmicion ftp abre un puerto aleatorio para transmitir, por ello tienes que habilitar el connection tracking para encontrar los puertos de escucha de ftp-----veo que usas un script de firewall como pilitica de defecto DROP,, te dejo un script con las reglas ,, y la adaptas y avisas.....otra cosa si tienes un proxy en tu red debes asegurarte que el archivo de configuracion del proxy te permita acceder a ftp de manera pasiva...

#!/bin/sh
## SCRIPT FIREWALL PARA UNA LAN CON PROXY TRANSPARENTE ##

######VARIABLES
PRIVATE=192.168.2.0/24
LOOP=127.0.0.1

## Borrado de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#### Reglas para encontrar puertos dinamicos de escucha FTP ####
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#### Estan fueron las reglas para habilitar Connection Tracking ####

## 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

## Nota: eth0 es el interfaz que nos da salida a internet (conectado al router) y eth0:1 a la LAN

## Empezamos a filtrar
# El localhost se deja (por ejemplo conexiones locales a mysql)
iptables -A INPUT -i lo -j ACCEPT
# Con esta regla hacemos que todas las peticiones de la LAN vayan por el PROXY
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.2.50:3128
# Hacemos enmascaramiento de la red local (NATEO)
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

#Activamos el BIT DE FORWARDING
#Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward

####################################

############ AQUI EMPEZAMOS REGLAS FIREWALL A LAN Y EXTERIOR #########
############ REGLAS DE FIREWALL A LAN Y EXTERIOR #####################

############## Reglas SEGURIDAD y VPN ##############################
iptables -A INPUT -i eth0 -s $LOOP -j DROP
iptables -A OUTPUT -o eth0 -d $LOOP -j DROP
iptables -A FORWARD -i eth0 -s $LOOP -j DROP
iptables -A FORWARD -o eth0 -d $LOOP -j DROP
iptables -A INPUT -i eth0 -d $LOOP -j DROP
iptables -A OUTPUT -o eth0 -s $LOOP -j DROP
iptables -A FORWARD -i eth0 -d $LOOP -j DROP
iptables -A FORWARD -o eth0 -s $LOOP -j DROP

iptables -A FORWARD -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -o eth0 -d 192.168.0.0/16 -j DROP
iptables -A FORWARD -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -o eth0 -d 172.16.0.0/12 -j DROP
iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A FORWARD -o eth0 -d 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP
iptables -A OUTPUT -o eth0 -d 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
iptables -A OUTPUT -o eth0 -d 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
iptables -A OUTPUT -o eth0 -d 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth0 -s 72.233.0.0/16 -j DROP
iptables -A OUTPUT -o eth0 -d 72.233.0.0/16 -j DROP

iptables -A FORWARD -p tcp --sport 137:139 -o eth0 -j DROP
iptables -A FORWARD -p tcp --dport 137:139 -i eth0 -j DROP
iptables -A FORWARD -p udp --sport 137:139 -o eth0 -j DROP
iptables -A FORWARD -p udp --dport 137:139 -i eth0 -j DROP
iptables -A OUTPUT -p tcp --sport 137:139 -o eth0 -j DROP
iptables -A INPUT -p tcp --dport 137:139 -i eth0 -j DROP
iptables -A OUTPUT -p udp --sport 137:139 -o eth0 -j DROP
iptables -A INPUT -p udp --dport 137:139 -i eth0 -j DROP

#####################################################################################
# A nuestra IP le dejamos acceder a sitios web de internet:
iptables -A OUTPUT -s 192.168.3.41 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d 192.168.3.41 -p tcp --sport 80 -j ACCEPT

iptables -A OUTPUT -s 192.168.3.41 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -d 192.168.3.41 -p udp --sport 53 -j ACCEPT

# A nuestra IP le dejamos acceder a sitios https de internet:
iptables -A OUTPUT -s 192.168.3.41 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -d 192.168.3.41 -p tcp --sport 443 -j ACCEPT

# A nuestra IP le dejamos acceder a sitios ftp:
iptables -A OUTPUT -s 192.168.3.41 -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -d 192.168.3.41 -p tcp --sport 20:21 -j ACCEPT

iptables -A OUTPUT -s 192.168.3.41 -p tcp --dport 50321 -j ACCEPT
iptables -A INPUT -d 192.168.3.41 -p tcp --sport 50321 -j ACCEPT

##################################

#Denegamos que hagan ping a mi pc
#iptables -A OUTPUT -p icmp -j DROP
#iptables -A INPUT -p icmp -j DROP

#########3 Como no accederemos a otros sitios más, denegamos el acceso a otros puertos:
iptables -A OUTPUT -s 192.168.2.41 -p tcp --dport 1:65535 -j DROP
iptables -A INPUT -d 192.168.2.41 -p tcp --sport 1:65535 -j DROP
iptables -A OUTPUT -s 192.168.2.41 -p udp --dport 1:65535 -j DROP
iptables -A INPUT -d 192.168.2.41 -p udp --sport 1:65535 -j DROP
########### Aquí acaba lo referente de FIREWALL - EXTERIOR ##########

###############################

######## AHORA DE LA LAN AL EXTERIOR #############################
###################### REGLAS LAN - EXTERIOR ######################

##### A la LAN le dejamos acceder a sitios web de internet:

iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -p tcp --sport 80 -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -p tcp --sport 443 -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -p udp --sport 53 -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 20:21 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -p tcp --sport 20:21 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 50321 -j ACCEPT
iptables -A FORWARD -d 192.168.2.0/24 -p tcp --sport 50321 -j ACCEPT
###############################

##################################
# Como no accederemos a otros sitios más, denegamos el acceso a otros puertos:
iptables -A FORWARD -s 192.168.2.0/24 -p tcp --dport 1:65535 -j DROP
iptables -A FORWARD -d 192.168.2.0/24 -p tcp --sport 1:65535 -j DROP
iptables -A FORWARD -s 192.168.2.0/24 -p udp --dport 1:65535 -j DROP
iptables -A FORWARD -d 192.168.2.0/24 -p udp --sport 1:65535 -j DROP

---------richard007---------------

---------richard007-----------
Red Hat Certified Technician
Linux Registered User # 493753
RedLinux SRL www.redlinux.com.pe
www.colisol.org

Páginas