O firewall esta bloqueando o FTP

1. O firewall esta bloqueando o FTP

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 21/07/2009 - 09:20h

O firewall esta bloqueando o acesso ao FTP, nao consigo ter acesso, alguem poderia me ajudar? Como liberar o ftp
segue o scrip do firewall

grato

#!/bin/bash
iniciar () {

# Compartilha a conexao ----------------------------------------
IPTABLES=/usr/sbin/iptables
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
echo "Ativando compartilhamento!"

# Limpando Tabelas ----------------------------------------------
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F

# Ativando modulos ----------------------------------------------
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ip_tables
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE

# Protecao contra spoofing --------------------------------------
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter

# Proxy tranparente --------------------------------------------
$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

# Politicas de acesso geral

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

########## loopback #############################################

$IPTABLES -A OUTPUT -p tcp --syn -s 127.0.0.1/255.0.0.0 -j ACCEPT
#----------------------------------------------------------------
# localhost

$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
################################################################

#######################
## Regras de Filtros ##
#######################

# Aceita pacotes que realmente devem entra----------------------
$IPTABLES -A INPUT -i ! eth1 -j ACCEPT
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT

# Protecao contra worms ----------------------------------------
$IPTABLES -A FORWARD -p tcp --dport 135 -i eth0 -j ACCEPT

# Protecao contra syn-flood ------------------------------------
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 2/s -j ACCEPT

# Protecao contra port scanners --------------------------------
$IPTABLES -N SCANNER
$IPTABLES -A SCANNER -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -i eth1 -j SCANNER
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -i eth1 -j SCANNER
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -i eth1 -j SCANNER
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,SYN -i eth1 -j SCANNER
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -i eth1 -j SCANNER
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -i eth1 -j SCANNER
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -i eth1 -j SCANNER

######### Conectividade Social ###################################
INTERNA=eth0 #placa de rede ligada a rede interna
CAIXA=200.201.174.0/24 # IP da Caixa a ser liberado para toda a rede
iptables -t nat -A PREROUTING -i $INTERNA -d 200.201.174.0/24 -j ACCEPT
iptables -t filter -A FORWARD -i $INTERNA -d 200.201.174.0/24 -j ACCEPT

########## Tabelas ################################################

# INPUT ( Pacotes que entra na rede)

$IPTABLES -A INPUT -p tcp -s 10.1.1.0/8 -d 201.76.49.33 --dport 110 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 10.1.1.0/8 -d 201.76.49.33 --dport 25 -j ACCEPT

$IPTABLES -A INPUT -p tcp --dport 20 -j ACCEPT
# ftp
$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT
# smtp
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
# ssh
$IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT
# dns
$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT
# pop3
$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT
# http
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
# HTTPS
$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 563 -j ACCEPT

#--------------------------------------------------------------------

# OUTPUT ( Pacotes que sai da rede)

$IPTABLES -A OUTPUT -p tcp -s 10.1.1.0/8 -d 201.76.49.33 --dport 110 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -s 10.1.1.0/8 -d 201.76.49.33 --dport 25 -j ACCEPT

$IPTABLES -A OUTPUT -p tcp --dport 20 -j ACCEPT
# ftp
$IPTABLES -A OUTPUT -p tcp --dport 21 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport 20 -j ACCEPT
# ftp
$IPTABLES -A OUTPUT -p tcp --sport 21 -j ACCEPT


# smtp
$IPTABLES -A OUTPUT -p tcp --dport 25 -j ACCEPT
# ssh
$IPTABLES -A OUTPUT -p tcp --dport 25 -j ACCEPT
# dns
$IPTABLES -A OUTPUT -p udp --dport 53 -j ACCEPT
# pop3
$IPTABLES -A OUTPUT -p tcp --dport 110 -j ACCEPT
# httpd
$IPTABLES -A OUTPUT -p tcp --dport 80 -j ACCEPT
# HTTPS
$IPTABLES -A OUTPUT -p tcp --dport 443 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 563 -j ACCEPT

#--------------------------------------------------------------------

# FORWARD - REDE LOCAL

$IPTABLES -A FORWARD -p tcp --dport 20 -j ACCEPT
# ftp
$IPTABLES -A FORWARD -p tcp --dport 21 -j ACCEPT
# SSH
$IPTABLES -A FORWARD -p tcp --dport 22 -j ACCEPT
# smtp
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT
# SMTP
$IPTABLES -A FORWARD -p tcp --sport 25 -j ACCEPT
# dns
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT
# pop3
$IPTABLES -A FORWARD -p tcp --dport 110 -j ACCEPT
# pop3
$IPTABLES -A FORWARD -p tcp --sport 110 -j ACCEPT
# POP
$IPTABLES -A FORWARD -p tcp --dport 8333 -j ACCEPT
# HTTPS
$IPTABLES -A FORWARD -p tcp --dport 443 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 563 -j ACCEPT
# msn
$IPTABLES -A FORWARD -s 10.1.1.0/8 -p tcp --dport 1863 -j REJECT
$IPTABLES -A FORWARD -s 10.1.1.0/8 -p tcp --dport 1864 -j REJECT
$IPTABLES -A FORWARD -s 10.1.1.0/8 -j ACCEPT
########################################################################

echo "Firewall Ativado"
}
parar(){
echo "Regras de firewall e compartilhamento desativados"
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parametros start ou stop"
esac



  


2. De onde?

Wesley Rodrigues da Silva
wesley.it

(usa OpenSuSE)

Enviado em 21/07/2009 - 12:11h

Eu não entendi direito o seu problema.
Você não consegue acessar FTP de dentro da sua rede para um servidor externo ou de fora da rede para um servidor interno?
Se for o primeiro caso, existe alguma mensagem de erro no /var/log/messages ou na saída do script?
Abraço.


3. Re: O firewall esta bloqueando o FTP

Paulo Moreno
paulinhorm

(usa Debian)

Enviado em 21/07/2009 - 12:24h

Se o que vc quer é ter acesso externo a um servidor de FTP interno, mude a porta
21 para outra porta por exemplo 2121, pq pode ser que a sua operadora esteja bloqueando
acesso externo a porta 21...espero ter ajudado.


4. Re: O firewall esta bloqueando o FTP

Emerson Cosmo
emerson.cosmo

(usa Debian)

Enviado em 21/07/2009 - 12:29h

acrescenta essa regra.

$iptables -A INPUT -p tcp --dport 20 -j ACCEPT
$iptables -A INPUT -p tcp --dport 21 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
$iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT



5. Re: O firewall esta bloqueando o FTP

André
andrezc

(usa Debian)

Enviado em 21/07/2009 - 13:03h

Pelo que eu vi tem uma regra bloqueando a porta que faz a conexão FTP, sugiro zerar as configuração do IPTABLES e refazelas, para zerar as chains use : iptables -f


6. Re: O firewall esta bloqueando o FTP

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 21/07/2009 - 14:20h

Estou tentando acessar um servidor externo, e qual e a regra que esta bloqueando o acesso? vou tentar abrir a porta 2121 para fazer um teste ok. e volto a responder

grato


7. Re: O firewall esta bloqueando o FTP

Sérgio Abrantes Junior
pelo

(usa Debian)

Enviado em 21/07/2009 - 17:26h

Meu caro,

Tente usar o meu script

http://www.vivaolinux.com.br/etc/rc.firewall-pelo

Sérgio Abrantes
[]'s


8. Maluquices do FTP

Wesley Rodrigues da Silva
wesley.it

(usa OpenSuSE)

Enviado em 22/07/2009 - 09:08h

Bom dia andré,

O FTP é um cara meio chato de lidar no firewall, mas eu percebi uma paradinha meio estranha. Acompanha comigo:
na regra $IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED,NEW -j ACCEPT, você está permitindo que todas as conexões vindas da sua rede para fora, em qualquer porta, com estado NEW sejam aceitas. É isso mesmo que você quer?
Eu percebi que o seu script não pára realmente o firewall, talvez seja interessante complementar com algum trecho que limpe as chains e ajuste as políticas padrão.
As vezes acontecem problemas na hora de carregar os módulos do iptables, e podem haver erros relacionados à versão do IPTABLES, isto é, bugs do release. Verifique se a versão que você usa do iptables tem algum bug conhecido.

Você pode fazer o seguinte teste para diagnosticar problemas:
1) Dê um stop no seu firewall, limpe todas as chains e ajuste as policies para ACCEPT.
2) Faça o teste tentando se conectar no FTP à partir do próprio firewall e de uma máquina na Lan.
Com isso, você diagnostica se o problema é alguma regra ou não.
Dica: Utilize o comando tcpdump no firewall para saber o que está acontecendo na conexão, por exeplo:
se seu firewall é 192.168.0.1, o desktop da rede é 192.168.0.5 e o FTP é 200.182.10.15:
tcpdump -i any host 200.182.10.15 and host 192.68.0.1

Grande abraço.


9. Re: O firewall esta bloqueando o FTP

Andre chagas ramos
andre_ramos

(usa openSUSE)

Enviado em 22/07/2009 - 14:56h

Caros colegas!

Estava testando o proxy sem passar pelo firewall e descobri que mesmo assim o ftp externo nao consigo acessar, alguem pode me ajudar? Agora em questao dos colegar me dar algumas sugestaoes eu agradeço e vou testar no firewall fico muito grato por todos

segue o script do squid abaixo

# WELCOME TO SQUID 3.0.STABLE10
# ----------------------------

################# Autenticação de Usuários ##########################
#auth_param basic program <uncomment and complete this line>
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
#####################################################################

#acl password proxy_auth REQUIRED//Qdo for usar a autent. descomentar
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl redetoctao src 192.168.0.0/24 # RFC1918 possible internal network

##################### Regras ########################################
acl Safe_ports port 20 # programa oi
acl SSL_ports port 443 563 # https
acl Safe_ports port 553 # Autenticacao do outlook
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 2121
acl Safe_ports port 89 # juridico 2ccago
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl IPliberados src "/etc/squid/regras/IPliberado.txt"
acl libera-msn src "/etc/squid/regras/libera-msn.txt"
acl bloqueados url_regex -i "/etc/squid/regras/bloqueados.txt"
acl ultrasurf dstdom_regex -i ([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}($|:.+|/))
acl msn url_regex -i gateway.dll ADSAdClient31.dll
acl msn_bloq dstdomain "/etc/squid/regras/msn_bloq.txt"
acl msn1 url_regex passport.com confi.messenger.msn.com
acl msn2 req_mime_type -i ^application/x-msn-messenger
acl CONNECT method CONNECT
#####################################################################

http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

####################### Permisões das Regras ########################
http_access allow IPliberados
http_access deny bloqueados
http_access deny CONNECT ultrasurf
http_access allow libera-msn
http_access deny msn !libera-msn
http_access deny msn_bloq !libera-msn
http_access deny msn1 !libera-msn
http_access deny msn2 !libera-msn
#####################################################################

http_access allow redetoctao
http_access allow localhost
http_access deny all

icp_access allow redetoctao
icp_access deny all

htcp_access allow redetoctao
htcp_access deny all

############### Endereço do Servidor e Porta para Acesso############
http_port 192.168.0.204:3128
####################################################################

hierarchy_stoplist cgi-bin ?

######################## Tamanhos das Cache ########################
cache_dir ufs /var/cache/squid 500 16 256
cache_swap_low 90
cache_swap_high 95

########################### Caminhos dos Logs ######################
access_log /var/log/squid/access.log squid

cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
error_directory /usr/share/squid/errors/Portuguese

#######################Controle de Acessos #########################
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
#####################################################################

icp_port 3230
coredump_dir /var/cache/squid







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts