[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ftp vs Firewall



flavio@archive.com.br escribió:
Gostaria de saber se alguem já teve problemas para baixar arquivos via FTP eu
procurei na internet algo que pudesse me ajudar mas, só encontrei casos que o
cliente não consegue nem lista os arquivos da pasta FTP não éo meu caso consigo
lista mas, quando dou um get no arquivo ele so cria o arquivo na maquina cliente
vazio.
Outra coisa que verifiquei após ler algums artigo se os modulos
ip_conntrack_ftp, ip_nat, ip_conntrack e iptables_nat estavão sendo carregado e
a resposta é sim.
Estou ligerando as portas no firewall para ftp: 0:0 / 21:21 ftp data: 20:20 /
1024:65535 isso para todo mundo na minha rede, já a maquina que estou usando
esta liberado para tudo e mesmo assim não consigo baixar o arquivo lembrando
também que estou utilizando velox para conectar à internet.

No FTP, o cliente faze uma conexão desde uma porta qualquer (en cima da
1023) á porta 21 do servidor. Essa conexão se chama "de control" e é uma
conexão como a de qualquer outro protocolo. Nessa conexão viaja a
mensagem do cliente dizendo "quero tal arquivo", max viaja dentro da
conexão, no payload dos pacotes; para o sistema operativo e os routers
do caminho, os pacotes não tem nada de especial.

Se o FTP é ativo, o cliente diz "quero tal arquivo, envie-lo a minho
endereço 1.2.3.4, porta 5678". O servidor faze uma nova conexão, desde
SUA porta 20 á porta 5678 do cliente e transfere o arquivo. Essa nova
conexão se chama "de dados". Para o cliente há uma conexão sainte de
control e uma o mais entrantes de dados.

Se o FTP é passivo, o cliente diz só "quero tal arquivo" e o servidor
responde "tome-lo do endereço 9.0.10.11, porta 1213". O cliente faze uma
nova conexão desde uma porta qualquer á porta 1213 do servidor e baixa o
arquivo. Para o cliente agora há uma conexão sainte de control e uma o
mais conexões também saintes de datos.

Se você quer abrir o justo no firewall, debe abrir para ambos tipos de
FTP as conexões saintes _a_ portas 21 remotas, e para FTP ativo as
conexões entrantes _de_ portas 20 remotas _a_ portas locais en cima da
1023. Para FTP passivo não ha outra que permitir todas as conexões
saintes porque tanto a porta do cliente quanto a porta do servidor nas
conexões de dados serão dinámicas.

É para isso que existe o módulo de connection tracking. O módulo olha o
conteúdo das conexões que saim a portas 21 e, quando ve um pedido de
transferência, abre só o que deve abrir para que a conexão funcione. Só
tem que ter aberto no firewall as conexões saintes a portas 21. Se usa
FTP ativo, quando o seu cliente diga "envie-me tal arquivo a minha porta
1415", o módulo abrirá o caminho para que uma conexão da porta 20 do
servidor chegue bem a sua porta 1415. Se usa FTP passivo, quando o
servidor diga "tome o arquivo da minha porta 1617", o módulo abrirá o
camino para conexões saintes á porta 1617 do endereço do servidor.

Com carregar o módulo ip_conntrack_ftp é suficiente. Se necessita outro
módulo para funcionar, se carregará só.

--
Guillermo Pereyra Irujo
Tandil, Argentina




Reply to: