POP HOSTING

FTP com firewall CSF: como liberar as portas passivas imprimir

  • ftp passivo, csf, pure-ftpd, proftpd, portas passivas, filezilla, ftps
  • 0

FTP conecta mas não lista pastas no servidor com CSF? Veja como liberar as portas passivas no CSF e no Pure-FTPd ou ProFTPD do cPanel.

  • Tempo: 10 min
  • Nível: Intermediário
  • Vale para: servidores cPanel/WHM com CSF e Pure-FTPd ou ProFTPD
  • Atualizado: outubro de 2026

Este guia é para quem administra o servidor. Se você é cliente de hospedagem e o FTP parou de conectar, o caso é outro: provavelmente o seu IP foi bloqueado. Veja FTP bloqueado pelo firewall: como liberar o seu IP.

Por que o FTP trava com o firewall ligado

O FTP usa duas conexões. A primeira, de controle, vai para a porta 21 e carrega o login e os comandos. Cada listagem de pasta ou transferência abre uma segunda conexão, de dados. No modo passivo, que é o padrão do FileZilla e de quase todo programa, essa segunda conexão entra no servidor por uma porta alta escolhida na hora pelo servidor de FTP.

O firewall só deixa essa porta passar se reconhecer que ela pertence a uma sessão de FTP. Esse reconhecimento é feito pelo módulo de rastreamento de FTP do kernel, que lê a resposta do servidor na porta 21. Com FTP sobre TLS (FTPS, que o FileZilla usa sempre que o servidor oferece), a conexão de controle é criptografada e o módulo não consegue ler nada. Nos kernels atuais, esse rastreamento automático também deixou de vir ligado por padrão. Resultado: o login funciona e a listagem trava.

A solução confiável é a mesma em todos os casos: definir uma faixa fixa de portas passivas no servidor de FTP e abrir exatamente essa faixa no CSF.

Como identificar o problema

No FileZilla, o registro mostra o login aceito, o comando de listagem e depois uma espera longa. Com o programa em inglês, termina assim (em português a mensagem é a tradução dessas linhas):

Command: MLSD
Error: Connection timed out after 20 seconds of inactivity
Error: Failed to retrieve directory listing

Se aparece 530 Login authentication failed, o problema é usuário ou senha. Se o programa nem chega a conectar na porta 21, o IP do cliente provavelmente está bloqueado pelo lfd (confira com csf -g IP-DO-CLIENTE).

Antes de começar

  • Acesso root pelo SSH ao servidor.
  • CSF instalado e fora do modo de teste (veja como instalar o CSF).
  • Saber qual servidor de FTP está em uso: WHM » Service Configuration » FTP Server Selection mostra se é Pure-FTPd, ProFTPD ou se o FTP está desativado (é assim que ele vem nas instalações novas do cPanel, porque o FTP sem TLS manda a senha sem criptografia).

Como liberar o FTP passivo no CSF (Pure-FTPd)

  1. Descubra a faixa passiva que o servidor já usa. Nas versões atuais, o cPanel configura o Pure-FTPd com a faixa 49152 a 65534. Confira:
    grep -i '^PassivePortRange' /etc/pure-ftpd.conf
    A resposta esperada é PassivePortRange 49152 65534. Se a linha não existir ou estiver comentada, defina a faixa no passo 4.
  2. Abra a mesma faixa no CSF. Em WHM » Plugins » ConfigServer Security & Firewall » Firewall Configuration, acrescente ,49152:65534 ao fim de TCP_IN (e de TCP6_IN, se usa IPv6). Clique em Change. No arquivo, a linha fica parecida com:
    TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,853,993,995,2077,2078,2079,2080,2082,2083,2086,2087,2095,2096,8443,49152:65534"
  3. Reinicie o firewall: clique em Restart csf+lfd ou rode csf -ra.
  4. Só se precisar mudar a faixa. Edite a configuração local do cPanel, e não o /etc/pure-ftpd.conf direto (ele é regravado pelo cPanel):
    echo "PassivePortRange: 49152 65534" >> /var/cpanel/conf/pureftpd/local
    /usr/local/cpanel/scripts/setupftpserver pure-ftpd --force
    Use portas acima de 1024 e uma faixa larga: cada cliente transferindo arquivos ocupa uma porta.
  5. Teste com o FileZilla em modo passivo, de preferência com a criptografia em FTP explícito sobre TLS. A listagem deve aparecer na hora.

Como liberar o FTP passivo com ProFTPD

A lógica é a mesma. Confira a faixa com grep -i '^PassivePorts' /etc/proftpd.conf e abra no CSF a faixa que aparecer. Para mudar de forma permanente, use o arquivo local do cPanel para o ProFTPD:

echo "PassivePorts: 49152 65534" >> /var/cpanel/conf/proftpd/local
/usr/local/cpanel/scripts/setupftpserver proftpd --force
Dica: servidor atrás de NAT (IP privado na placa de rede, IP público no roteador) também precisa informar o IP público ao Pure-FTPd com ForcePassiveIP no mesmo arquivo /var/cpanel/conf/pureftpd/local. Sem isso, o servidor manda o cliente conectar num IP interno.

Problemas comuns

Abri a faixa e continua travando

A faixa do CSF e a do servidor de FTP não batem. Compare a saída do grep do passo 1 com o TCP_IN. Confira também se o provedor ou a rede tem outro firewall na frente do servidor (o do painel de nuvem, por exemplo) que precise da mesma liberação.

421 Too many connections

Não é o firewall. É o limite de conexões simultâneas por IP do Pure-FTPd, que aparece quando o programa abre muitas transferências ao mesmo tempo. Diminua o número de transferências simultâneas no FileZilla (Editar » Configurações » Transferências) ou ajuste Maximum Connections Per IP Address em WHM » Service Configuration » FTP Server Configuration.

Funciona em FTP comum, mas não com TLS

É exatamente o caso deste guia: sem a faixa passiva aberta, o FTP comum às vezes passa pelo rastreamento do kernel e o FTPS nunca passa. Abra a faixa em vez de desligar o TLS. Sem TLS, usuário e senha trafegam sem criptografia.

O cliente do FTP não conecta de jeito nenhum

Muitas senhas erradas fazem o lfd bloquear o IP (opção LF_FTPD). Procure com csf -g IP-DO-CLIENTE e desbloqueie com csf -dr (permanente) ou csf -tr (temporário).

Precisa de um servidor cPanel bem configurado? Conheça os servidores dedicados da POP Hosting, com suporte em português.

Esta resposta lhe foi útil?
« Retornar