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.

Cuéntanos un poco como está

Imagen de deathUser

Cuéntanos un poco como está la topología de tu red, creo que deberías natear o enmascarar en el linux si la máquina con DOS está detrás de el para permitir el FTP, pero danos más datos ...

bye
;)

Hola amiguito, Gracias por

Hola amiguito,

Gracias por responder,

Mi topología de red es estrella, todos salimos por linux al internet estoy probando ingresar a mi ftp desde una maquina de windows xp: pero no me permite.

No sé como configurar para natear o enmascarar puesto que eso me lo dieron haciendo, pero si me ayudan puedo hacerlo...

Necesita más información ???

Saludos

Daniela.

Ok, aqui le adjunto el script

Ok, aqui le adjunto el script que tengo en mi /etc/init.d/firewall

#!/bin/sh
# iptables, by Technion
# $Id: iptables,v 1.33 2002/11/20 23:22:16 technion Exp $
# chkconfig: 2345 12 80
# description: Script for setting IPTABLES rules
# processname: iptables

# Si se ejecuta en Redhat, poner en YES, sino, en NO
REDHAT="YES"

# Informacion de Red, necesita ser ajustada por usted.
INTERNALIF="eth1"
INTERNALNET="192.168.0.0/24"
INTERNALBCAST="192.168.0.255"
EXTERNALIF="eth0"

# Caminos - No tocar si no se conoce.
DMESG="/bin/dmesg"
IPTABLES="`which iptables`"
MODPROBE="/sbin/modprobe"

# Esta parte permite al usuario de redhat llamar al script con
# los parametros: start/stop/restart
if [ X"$REDHAT" = X"YES" ]; then
. /etc/rc.d/init.d/functions
case "$1" in
stop)
action "Shutting down firewall:" echo
$IPTABLES -F
$IPTABLES -P FORWARD DROP
exit 0
;;
status)
echo "The status command is not supported for iptables"
exit 0
;;
restart|reload)
$0 stop
exec $0 start
;;
start)
action "Starting Firewall:" echo
;;
*)
echo "Usage: firewall (start|stop|restart)"
exit 1
esac
fi

################################################################
#Insertando los modulos. Debe hacerse automaticamente si se requiere
dmesg -n 1 #No saca la bandera de copyright
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#
## Vaciar las reglas que puedan existir
#
# Paquetes provenientes del exterior
$IPTABLES -F INPUT
# Paquetes de la red interna hacia el exterior
$IPTABLES -F OUTPUT
# Forwarding/enmascaramiento
$IPTABLES -F FORWARD
#Tabla de NAT
$IPTABLES -t nat -F

#
#Deshabilitando ataques spoofing
#Comente esta linea si se usa IPSEC
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

#No responder a pings de broadcast
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#No responder a los pings - Activar si se requiere
#echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

#Habilitando el forwarding
echo 1 >/proc/sys/net/ipv4/ip_forward

#Normalmente usted no tiene control de la ruta que un paquete sigue.
#IP Source Routing (SRR) es una forma de especificarle a un paquete la ruta
#exacta que un paqeute debe seguir. Habilitarlo es una mala idea, en forma
#general. Se desactiva así:
echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route

#Anular los TimeStamps. Se puede averiguar el uptime de un sistema
echo 0 > /proc/sys/net/ipv4/tcp_timestamps

#Habilitar SYN Cookies, previene algunos DoS
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

#Dehabilitar redirects. Habilitar si no se actua como router
echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects

#Habilitar proteccion contra mensaje invalido
#Algunos routers envian mensajes invalidos que son guardados en
#log logs por el kernel. Este punto le indica al kernel no guardar
#estos datos y se protege contra un posible ataque de negacion
#debido a tener el filesystem lleno
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

#Permitir direcciones dinamicas, Bueno para clientes dialup y xDSL cuyas IPs
#pueden variar. No es necesario para clientes dedicados
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr

#Guardar a los marcianos. Paquetes que llegan en una interfaz no esperada
#Algunas tarjetas de red se niegan a trabajar. Comentar si es el caso
echo 0 >/proc/sys/net/ipv4/conf/all/log_martians

#Definir rango de puertos locales a ser usados por nuestras aplicaciones
echo "32768 61000" >/proc/sys/net/ipv4/ip_local_port_range

#Reducir posibilidad de DoS al reducir los timeouts
#Tiempo en el que linux tratará de finalizar una conexion
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
#Tiempo para finalizar una conexión no activa
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
#Maximo de conexiones SYN
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog

##Activando reglas basicas

#Eliminar todo paquete sin sentido, incluye:
#-Paquetes muy pequeños para tener un encabezamiento completo ICMP/UDP/TCP
#- Paquetes TCP y UDP con cero (invalidos) puertos de origen y destino
#-Combinaciones ilegales de banderas TCP
#-Opciones TCP e IP con cero (invalido) o sobredimensionada
# o opciones despues de la opcion END-OF-OPTIONS
#-Fragmentos con longitud ilegal (ej., Ping of Death).
#Tomado de: http://www.linux-mag.com/2000-01/bestdefense_02.html

#Matar paquetes con combinaciones de banderas invalidas
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state INVALID -j DROP

# solo activar si se tiene el paquete de ipp2p (instalar de:
# http://homen.vsb.cz/~hrb33/el4/hrb/stable/i386/RPMS/repodata/
# ipp2p y el kmod* adecuado para el kernel)
#$IPTABLES -A FORWARD -m ipp2p --ipp2p -j DROP
#$IPTABLES -t mangle -A FORWARD -m ipp2p --ipp2p -j DROP
#$IPTABLES -t nat -A PREROUTING -p tcp -i $INTERNALIF -m ipp2p --ipp2p -j DROP
#$IPTABLES -t nat -A POSTROUTING -p tcp -o $EXTERNALIF -m ipp2p --ipp2p -j DROP

# Permitir todas las conexiones en la interfaz local
#
$IPTABLES -A INPUT -i lo -j ACCEPT

#Eliminar conexiones a la interfaz local desde el mundo exterior
$IPTABLES -A INPUT -d 127.0.0.0/8 -j REJECT

#Permitir trafico ilimitado de la red interna que usan direcciones validas
$IPTABLES -A INPUT -i $INTERNALIF -s $INTERNALNET -j ACCEPT
#
#IPv6 tunneling
#$IPTABLES -A INPUT -p ipv6 -j ACCEPT

#Permitir trafico del dispositivo IPSEC a la red interna
$IPTABLES -A FORWARD -i tun0 -o $INTERNALIF -j ACCEPT

#Permitir negociacion de claves
#$IPTABLES -A INPUT -p udp --dport 500 -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 4500 -j ACCEPT

#Protocolo 50 y 51, necesario para el correcto trabajo de ipsec
#$IPTABLES -A INPUT -p esp -j ACCEPT
#$IPTABLES -A INPUT -p ah -j ACCEPT

#Kill anything from outside claiming to be from internal network
$IPTABLES -A INPUT -i $EXTERNALIF -s $INTERNALNET -j REJECT

##ICMP
#No enviar pings yendo hacia dentro
#$IPTABLES -A FORWARD -p icmp --icmp-type echo-request -o $INTERNALIF -j REJECT
#Protección contra ping flood
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
#$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j DROP
#Denegar icmp a direcciones broadcast
#$IPTABLES -A INPUT -p icmp -d $INTERNALBCAST -j DROP

#Permitir el resto de los ICMP
$IPTABLES -A INPUT -p icmp -j ACCEPT

#No reenviar trafico SMB
$IPTABLES -A FORWARD -o $EXTERNALIF -p tcp --dport 137 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p tcp --dport 138 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p tcp --dport 139 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p udp --dport 137 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p udp --dport 138 -j REJECT
$IPTABLES -A FORWARD -o $EXTERNALIF -p udp --dport 139 -j REJECT
$IPTABLES -A INPUT -i $EXTERNALIF -p udp --dport 137 -j REJECT
#
#Permitir el resto del trafico salir
$IPTABLES -A FORWARD -o $EXTERNALIF -i $INTERNALIF -j ACCEPT

#Permitir las respuestas entrar
$IPTABLES -A OUTPUT -m state --state NEW -o $EXTERNALIF -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state NEW -o $EXTERNALIF -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#Permitir a esta maquina ser un servidor DHCP para su red interna
#$IPTABLES -A INPUT -i $INTERNALIF -p tcp --sport 68 --dport 67 -j ACCEPT
#$IPTABLES -A INPUT -i $INTERNALIF -p udp --sport 68 --dport 67 -j ACCEPT

#Activar en caso de implementar openvpn, interfaces tun/tap
#y puerto 1194 para openvpn
#$IPTABLES -A INPUT -i tun+ -j ACCEPT
#$IPTABLES -A FORWARD -i tun+ -j ACCEPT
#$IPTABLES -A INPUT -i tap+ -j ACCEPT
#$IPTABLES -A FORWARD -i tap+ -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 1194 -j ACCEPT

#De aqui en adelante, trabajamos con intentos de conexion.
#El -m limit es una protecciones contra DoS
#Primero permitimos una cierta cantidad de conexiones/Segundo
#DROP - Descartamos al resto, de tal forma que no nos neguemos nosotros mismos
#el servicio
##Servicios basicos. Descomentar para permitirlos
#Estos son puertos que estamos abriendo al exterior!!
#Si los vamos a usar en la red interna, no es necesario abrirlos aqui
#Solo para abrirlos a la red externa, a la internet
# ftp-data
$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT
# ftp
$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
# ssh
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
#telnet
#$IPTABLES -A INPUT -p tcp --dport 23 -j ACCEPT
# smtp Una conexion por segundo
$IPTABLES -A INPUT -p tcp --dport 25 --syn -m limit --limit 2/s \
--limit-burst 10 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 25 --syn -j DROP
$IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT

#nessus
#$IPTABLES -A INPUT -p tcp --dport 1241 -j ACCEPT

# DNS
#$IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT
# http
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
# POP-3
$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT
#imap
$IPTABLES -A INPUT -p tcp --dport 143 -j ACCEPT
# identd
#$IPTABLES -A INPUT -p tcp --dport 113 -j ACCEPT
# https
#$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT
#VNC Server
#$IPTABLES -A INPUT -p tcp --dport 5801 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 5901 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --dport 6001 -j ACCEPT
#Webmin
#$IPTABLES -A INPUT -p tcp --dport 10000 -j ACCEPT

#
##DNAT
#Modificar las direcciones y descomentar para hacer forwarding (DNAT)
#MYADDR="192.168.100.12" # IP Externa

#Enviar peticiones web a una maquina interna (192.168.0.10 ?)
#$IPTABLES -A PREROUTING -t nat -i $EXTERNALIF -p tcp -d $MYADDR --dport 80 \
# -j DNAT --to 192.168.0.10:80
#$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d 192.168.0.10 --dport 80 -j ACCEPT

#Smtp a un servidor interno
#$IPTABLES -A PREROUTING -t nat -i $EXTERNALIF -p tcp -d $MYADDR --dport 25 \
# -j DNAT --to 192.168.0.10:25
#$IPTABLES -A FORWARD -i $EXTERNALIF -p tcp -d 192.168.0.10 --dport 25 -j ACCEPT

#Redirecciono el Terminal Server
iptables -A PREROUTING -t nat -p tcp -d 190.10.255.73 --dport 3389 -j DNAT --to 192.168.0.220:3389
iptables -A FORWARD -p tcp -d 192.168.0.220 --dport 3389 -j ACCEPT
iptables -A PREROUTING -t nat -p udp -d 190.10.255.73 --dport 3389 -j DNAT --to 192.168.0.220:3389
iptables -A FORWARD -p udp -d 192.168.0.220 --dport 3389 -j ACCEPT

##Puertos que deben ser denegados y guardados
$IPTABLES -A INPUT -p tcp --dport 1433 -m limit -j LOG \
--log-prefix "Firewalled packet: MSSQL "

$IPTABLES -A INPUT -p tcp --dport 1433 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6670 -m limit -j LOG \
--log-prefix "Firewalled packet: Deepthrt "
$IPTABLES -A INPUT -p tcp --dport 6670 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6711 -m limit -j LOG \
--log-prefix "Firewalled packet: Sub7 "
$IPTABLES -A INPUT -p tcp --dport 6711 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6712 -m limit -j LOG \
--log-prefix "Firewalled packet: Sub7 "
$IPTABLES -A INPUT -p tcp --dport 6712 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6713 -m limit -j LOG \
--log-prefix "Firewalled packet: Sub7 "
$IPTABLES -A INPUT -p tcp --dport 6713 -j DROP

$IPTABLES -A INPUT -p tcp --dport 12345 -m limit -j LOG \
--log-prefix "Firewalled packet: Netbus "
$IPTABLES -A INPUT -p tcp --dport 12345 -j DROP
$IPTABLES -A INPUT -p tcp --dport 12346 -m limit -j LOG \
--log-prefix "Firewalled packet: Netbus "
$IPTABLES -A INPUT -p tcp --dport 12346 -j DROP
$IPTABLES -A INPUT -p tcp --dport 20034 -m limit -j LOG \
--log-prefix "Firewalled packet: Netbus "
$IPTABLES -A INPUT -p tcp --dport 20034 -j DROP
$IPTABLES -A INPUT -p tcp --dport 31337 -m limit -j LOG \
--log-prefix "Firewalled packet: BO "
$IPTABLES -A INPUT -p tcp --dport 31337 -j DROP
$IPTABLES -A INPUT -p tcp --dport 6000 -m limit -j LOG \
--log-prefix "Firewalled packet: XWin "
$IPTABLES -A INPUT -p tcp --dport 6000 -j DROP

$IPTABLES -A INPUT -p udp --dport 33434:33523 -j DROP

#No guardar ident porque es muy usado por servidores irc
$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT

#No guardar IGMP, muchas personas reciben enorme cantidad de este
$IPTABLES -A INPUT -p igmp -j REJECT

#No guardar http ni https pues navegar por largos periodos causan muchas
#conexiones caidas y llenan nuestros logs.
$IPTABLES -A INPUT -p tcp --dport 80 -j REJECT
$IPTABLES -A INPUT -p tcp --dport 443 -j REJECT

##Reglas de captura generales
#iptables viene a estas si no han matcheado en ninguna de las previas
#No tiene sentido guardarlas, no es más que ruido
$IPTABLES -A INPUT -p tcp --syn -m limit --limit 5/minute -j LOG \
--log-prefix "Firewalled packet:"
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 5/minute -j LOG \
--log-prefix "Firewalled packet:"

#Reject
$IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -p all -j DROP

$IPTABLES -A FORWARD -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A FORWARD -p all -j DROP
#Accept it anyway if it's only output
$IPTABLES -A OUTPUT -j ACCEPT

#redireccionamiento del puerto 80 al 8080
$IPTABLES -t nat -A PREROUTING -i $INTERNALIF -p tcp --dport 80 -j REDIRECT --to-port 8080

#Logueamos y descartamos paquetes de la red local intentando salir
$IPTABLES -A FORWARD -p tcp --dport 25 -j LOG
$IPTABLES -A FORWARD -p tcp --dport 25 -j DROP
$IPTABLES -A OUTPUT -p tcp --dport 25 -j DROP

#Enmascarar conexiones internar yendo hacia fuera.
#Comentar si no se desea proxy transparente
#Recordar que si se permiten conexiones desde el interior, los clientes
#no usarian el proxy haciendonos perder ancho de banda por no cache
$IPTABLES -A POSTROUTING -t nat -o $EXTERNALIF -j MASQUERADE
$IPTABLES -I FORWARD 1 -p tcp --dport 1863 -j DROP
$IPTABLES -I FORWARD 1 -p udp --dport 1863 -j DROP
exit 0

veo en tu script: $IPTABLES

Imagen de deathUser

veo en tu script:


$IPTABLES -A POSTROUTING -t nat -o $EXTERNALIF -j MASQUERADE

Eso supone enmascarar el tráfico de la red interna, con lo que deberías poder hacer un telnet desde el cliente al puerto 21 del servidor ftp en cuestión.

Que sale cuando tratas de hacer eso ...???

Veo que tienes proxy transparente, por lo que asumo que tendrás bien configurada la estación de trabajo desde la cual estás probando, ya que de no ser así no podrías navegar ...

El ftp es un protocolo especialmente complejo para natear, hay que cargar algunos módulos adicionales, busca en el foro, ya se habló del tema, de pronto va por ahí tu problema.

bye
;)

Hola amigo, Respondiendo a tu

Hola amigo,

Respondiendo a tu pregunta, cuando hago el ftp se me conecta tranquilamente desde el cliente al servidor ftp, me sale "220 PRO FTP SERVER READY ".

No se cómo solucionar el problema ....

En espera de su ayuda.

Hola Juan, Los archivos que

Hola Juan,

Los archivos que me genera el sistema contable en fox quiero subirlos a mi servidor donde esta alojada mi paginaweb, yo lo hago desde casa conectandome al ftp mediante DOS y lo hace perfecto, pero el problema radica en la oficina puesto que ahi tengo el servidor con linux que no me deja salir al momento de conectarme con el ftp lo hace perfectamente pero al cargar el archivo poniendo put ejemplo.csv me sale el error 425. Por lo que asumi que el problema radica en el firewall de linux.

No sé si ahí me expliqué mejor...

En espera de su ayuda.

Daniela.

Páginas