FTP com TLS não funciona, nem posso alterar a porta no pure-ftpd

FTP com TLS não funciona, nem posso alterar a porta no pure-ftpd

Estou tendo problemas com meu servidor FTP que tentei consertar há mais de uma semana.

Minha configuração:

  • Estou executando o Raspbian em um Raspberry Pi.
  • Meu servidor FTP é puro-ftpd e estou executando-o com estas opções:

/usr/local/sbin/pure-ftpd -D -C 5 -E -A -H -x -p 35000:36000 -u 0 -y 5:3 -Y 1

  • Eu compilei com a opção "--with-tls"
  • estou usandocriptografia TLS explícita, (Eu também tentei implícito, mesmo resultado)
  • Eu encaminhei meu intervalo de portas passivas conforme definido pela opção -p em pure-ftpd
  • Eu também encaminhei a porta 20 para 21

Outros servidores que estou executando:

  • Um servidor samba
  • Um servidor web Apache
  • Servidor de soquete Python personalizado
  • e o servidor shh/sftp integrado

Eu também tenho o cliente no-ip DUC em execução

Resumindo, aqui estão os problemas que estou tendo com o pure-ftpd:

  • FTP em LAN sem TLS (ativo e passivo): funcionando
  • FTP em LAN com TLS (ativo e passivo): funcionando
  • FTP em WAN sem TLS (Passivo): Funcionando
  • FTP em WAN com TLS (Ativo e Passivo): Não funciona
  • Não é possível alterar a porta porque não funciona em WAN

Aqui estão os logs de erros e as coisas que tentei:

Resultados ftptest.net (para FTP com tls):

........

Comando: PASV

Resposta: 227 Entrando no modo passivo (192.168,0,4,138,78)

Erro: o servidor retornou um endereço IP privado não roteável na resposta PASV

Eu li em fóruns que você precisa especificar o endereço IP PASV com a opção -P, então fiz, e este é o resultado:

Resposta: 211-Extensões suportadas:

.....................

Erro: retorno de carro sem avanço de linha recebido

E isto é paratanto sem quanto com tls!Então, sim, a opção -P não funciona!

Devo salientar também que as portas do modo passivo estão corretas (retiradas do comando PASV)

Log do Filezilla (com tls explícito):

Comando: PASV

Resposta: 227 Entrando no Modo Passivo (192.168.0,4.138.251)

Status: Servidor enviou resposta passiva com endereço não roteável. Usando o endereço do servidor.

Comando: MLSD

Erro: Não foi possível estabelecer a conexão de dados: ECONNREFUSED - Conexão recusada pelo servidor

Erro: Conexão fechada pelo servidor

Erro: Falha ao recuperar a listagem de diretórios

Com a opção -P:

A mesma coisa, exceto "Servidor enviou endereço não roteável*"

Também tentei mexer no firewall (iptables), permitindo tudo (desativando assim o firewall) com estes comandos:

iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Também não consigo alterar a porta padrão porque, se o fizer, recebo um erro de conexão recusada.

E tenho ainda outro sintoma estranho que começou a aparecer hoje:

Só consigo abrir a porta 21 a 21 (funciona) porque se eu abrir a 20, pego o servidor ssh.

Faça login para isso:

Status: Conectado, aguardando mensagem de boas-vindas... Resposta:

SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2

Erro: a resposta não contém código de resposta válido

Também tentei encaminhar a porta 443, 989 a 990 (que era para tls implícitos) e tentei definir o Raspberry Pi como um host DMZ.

Nota: mudei do vsftpd porque era lento e não suportava ftp seguro (o 3.x para Raspberry Pi precisa ser compilado com suporte a ftp seguro, mas recebi um erro ao compilar) e não uso o proftpd porque ele não foi possível compilar com suporte tls

/var/log/messages não fornece nenhuma informação útil (apenas diz que o usuário está logado sempre com ou sem tls)

Espero que vocês possam me ajudar aqui, pois estou realmente perdido!

Responder1

FINALMENTE ESTÁ RESOLVIDO!Tudo que tive que fazer foi mudar meu intervalo de portas passivas de 50.000-51.000 para 12.000-13.000! Agora tudo funciona muito bem!!! Agora estou usando pure-ftpd assim:

/usr/local/sbin/pure-ftpd -D -C 5 -E -A -H -x -S 192.168.0.4,60 -p 12000:13000 -u 0 -y 5:3 -Y 1 -P &

informação relacionada