+ Responder ao Tópico



  1. #1

    Padrão Firewall bloqueando portas do FTP

    Boa noite a todos,

    Pessoal, eu uso padrao no meu firewall de bloqueio a todas as portas tanto entrada quanto saída... e libero apenas as que sao usadas.... mas estou tendo um problema com o FTP. Mesmo tendo a porta 21 liberada para INPUT OUTPUT e FORWARD, eu nao consigo acessar à maoria dos ftps para fazer download ( o da hp por exemplo, nao consigo baixar nada ). Aí fui pesquisar e descobri que o ftp trabalha como ftp passivo ou ativo e em um desses ( nao me lembro qual ) ele usa portas altas para comunicaçao. Entao para tirar a duvida eu fiz o teste e liberei todas as portas e fui tentar baixar um driver no site da hp, e baixou de boa...

    Gostaria saber como q posso estar resolvendo isso, alguém pode me dar uma força ?

    Vlw

  2. #2

    Padrão

    ftp eh realmente uma coisa chata para firewall, alem da porta 21 é necessário liberar a 20, 21 conecta e 20 trafega os dados. Alem disso suba os modulos (se nao estiverem carregados) ip_nat_ftp, ip_conntrack.
    Alem disso tb é interessante ter a regra:
    iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    assim as conexoes referentes ao ftp não serão dropadas, mesmo que estejam em portas diferentes (ftp passivo)

  3. #3

    Padrão

    Citação Postado originalmente por 1c3m4n Ver Post
    ftp eh realmente uma coisa chata para firewall, alem da porta 21 é necessário liberar a 20, 21 conecta e 20 trafega os dados. Alem disso suba os modulos (se nao estiverem carregados) ip_nat_ftp, ip_conntrack.
    Alem disso tb é interessante ter a regra:
    iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    assim as conexoes referentes ao ftp não serão dropadas, mesmo que estejam em portas diferentes (ftp passivo)
    Kra, valeu, mas estou com outro problema:

    Em uma empresa onde tem um de meus firewalls, foi instalado um sistema que faz uma atualizaçao diária atraves de FTP. Como eu usava nesse firewall bloqueio geral de INPUT OUTPUT e FORWARD, eu liberei a porta 21 e 20, conforme vc falou e tb criei a regra iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT. Quando fui fazer a conexao, o sistema nao conseguiu atualizar... porém, quando eu liberei as 65535 porta no INPUT OUTPUT e FORWARD o sistema conseguiu coletar as atualizacoes normalmente. Agora, nao sei como posso proceder para bloquear as portas, pois se eu as bloquear, o sistema nao irá atualizar mais....

    Será q alguem pode dar uma força pra mim ??

  4. #4

    Padrão

    pessoal:

    INPUT <- pacotes com destino ao SERVIDOR

    FORWARD <- pacotes que PASSAM pelo servidor mas que o destino nao é o servidor..

    OUTPUT <- pacotes que SAEM do servidor...

    entao tudo se trata no FORWARD quando se tem uma rede, um gateway no meio.. e a internet pós gateway..

    (maquinas) <--> (gateway) <--> (internet)

    entao:

    iptables -t filter -I FORWARD -p tcp --dport 20 -j ACCEPT
    iptables -t filter -I FORWARD -p tcp --dport 21 -j ACCEPT
    iptables -t filter -I FORWARD -p tcp --sport 20 -j ACCEPT
    iptables -t filter -I FORWARD -p tcp --sport 21 -j ACCEPT

    testa assim....

  5. #5

    Padrão

    e ftp no caso de gateway fazendo NAT, o ftp é passivo..

    é necessario o CLIENTE ftp ativar esse modo..

    tenta tambem fazer isso

    modprobe ip_nat_ftp
    modprobe ip_conntrack_ftp


    o comando que o cliente de ftp recisa mandar para o servidor é:

    quote pasv

    isso ativa o modo passivo...


  6. #6

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    e ftp no caso de gateway fazendo NAT, o ftp é passivo..

    é necessario o CLIENTE ftp ativar esse modo..

    tenta tambem fazer isso

    modprobe ip_nat_ftp
    modprobe ip_conntrack_ftp


    o comando que o cliente de ftp recisa mandar para o servidor é:

    quote pasv

    isso ativa o modo passivo...

    Kra, valeu pela dica... vou testar e entro em contato novamente....

  7. #7

    Question

    Galera, também aproveitando a deixa nesse tópico, estou tendo os mesmos problemas. Fiz um teste aqui na empresa. Coloquei as regras do firewall apenas como ACCEPT tanto para INPUT, OUTPUT e FORWARD.
    Não tem mais nada no firewall. Carrego todos os módulos que mencionaram, mas o treco não vai mesmo.
    Tento acessar vários lugares onde tem ftp, inclusive o nosso da empresa e aparece a seguinte mensagem :

    "O Windows não pode acessar essa pasta. Verifique se você digitou o nome do arquivo corretamente e tem permissão para acessar o local especificado.
    Detalhes
    O nome ou o endereço do servidor não pode ser resolvido".

    Essa é a mensagem que aparece em vários locais onde tentei acessar via ftp. O mais estranho é que se colocar uma estação windows qualquer direto no hub e do hub para o modem, acesso qualquer ftp, na primeira tentativa.

    Tem alguma coisa também para alterar no Squid ??? Sinceramente, o que eu já li , de tutoriais de ftp e estou lendo agora vários aqui no Underlinux e no fórum. Mas não consigo acessar de forma nenhuma.

    Vou continuar lendo e procurando alguma coisa. Se vários conseguiram, eu vou conseguir também, rsrsrsrsrsrsr
    Brincadeiras a parte, mas o negócio está estranho mesmo ....

  8. #8

    Padrão

    no seu caso o squid nao esta interferindo em nada.. porque se voce faz proxy transparente... apenas redireciona a porta 80 .. as portas ftp passam direto

    se vc digitar no console do servidor

    host www.under-linux.org

    ele resolve ??

    e nas estações, se vc pingar o UOL - O melhor conteúdo ele resolve o nome e pinga ?!

  9. #9

    Padrão

    ahh coloca isso no seu firewall ai:
    (considerando que a eth0 eh a interface que entra a INTERNET)

    iptables -t filter -F
    iptables -t nat -F
    iptables -t mangle -F

    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -t filter -A FORWARD -p tcp --dport 21 -j RETURN
    iptables -t filter -A FORWARD -p tcp --sport 21 -j RETURN

    coloque essas regras...

    tente conectar no ftp..

    depois que tentar.. digita:

    iptables -L -t filter -nv
    iptables -L -t nat -nv

    e posta os resultados aqui...

  10. #10

    Question

    E mais outra dúvida galera. Coloquei agora a estação para passar pelo nosso Proxy Squid. Aparece uma tela com a seguinte mensagem :

    Aviso do Proxy FTP

    A pasta 'ftp://nome_do_dominio' será somente para leitura porque o servidor proxy não está configurado para permitir acesso completo.
    Para mover, colar, renomear ou excluir arquivos, use outro servidor proxy. Para mais informações sobre como alterar o servidor proxy, contate o administrador.

    Pelo jeito agora, o problema está no meu Squid.

    A propósito : o Squid aqui não é transparente. É autenticado ..... todos que acessam, fornecem usuário e senha.

    Não sei se isso também pode ser o problema .....

  11. #11

    Question

    A propósito Alexandre : eu não pingo para fora pelas estações não. Pingo até o servidor onde está o firewall junto com o Proxy. Se der um ping Terra - Qual é a sua?, não responde nada.

  12. #12

    Question

    Outra coisa também :

    Na regra iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE , segundo está no man iptables, diz que se a ADSL for ip fixo, não se deve usar essa regra, e sim fazer um SNAT

    Então no meu caso essa regra que você escreveu no lugar dela está assim :

    iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS

    Onde INET_IFACE é a interface eth0 onde está conectada a internet.

    E INET_ADDRESS tem o ip 10.0.0.100 que é a placa de rede que está conectada no modem que tem o ip 10.0.0.138.

    Isso pode ter alguma coisa a ver com o problema ???

  13. #13

    Question

    Alexandre, coloquei as regras que mencionou , eis os resultados, inclusive com o -j MASQUERADE


    O primeiro comando iptables apareceu isso :

    Chain INPUT (policy ACCEPT 132 packets, 8739 bytes)
    pkts bytes target prot opt in out source destination
    4847 3996K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

    Chain FORWARD (policy ACCEPT 9 packets, 399 bytes)
    pkts bytes target prot opt in out source destination
    0 0 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
    0 0 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp spt:21

    Chain OUTPUT (policy ACCEPT 6016 packets, 4307K bytes)
    pkts bytes target prot opt in out source destination

    E o outro do -t nat apareceu o seguinte :

    Chain PREROUTING (policy ACCEPT 125 packets, 10254 bytes)
    pkts bytes target prot opt in out source destination

    Chain POSTROUTING (policy ACCEPT 2 packets, 289 bytes)
    pkts bytes target prot opt in out source destination
    108 6649 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0

    Chain OUTPUT (policy ACCEPT 110 packets, 6938 bytes)
    pkts bytes target prot opt in out source destination

  14. #14

    Padrão

    Citação Postado originalmente por pssgyn Ver Post
    Outra coisa também :

    Na regra iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE , segundo está no man iptables, diz que se a ADSL for ip fixo, não se deve usar essa regra, e sim fazer um SNAT

    Então no meu caso essa regra que você escreveu no lugar dela está assim :

    iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_ADDRESS

    Onde INET_IFACE é a interface eth0 onde está conectada a internet.

    E INET_ADDRESS tem o ip 10.0.0.100 que é a placa de rede que está conectada no modem que tem o ip 10.0.0.138.

    Isso pode ter alguma coisa a ver com o problema ???

    Kra, eu ja configurei várias vezes servidores com adsl ip fixo.. e sempre fiz a regra com o masquerade.... nao sei se isso tem haver....