ProFTPD - Falha ao recuperar a listagem de diretórios ao usar o TLS

2

Tenho problemas com o meu servidor ProFTPD.

Quando tento conectar-me ao servidor usando TLS, recebo o tempo limite após o comando MLSD. Isso só acontece quando eu uso o TLS - sem ele funciona perfeitamente.

Eu verifiquei estes registros:

proftpd.log - USER xxx: Login successful.

tls.log - TLSv1/SSLv3 connection accepted ... Protection set to Private

Onde poderia haver problema, por favor? Eu posso fornecer mais informações, basta perguntar-lhes nos comentários.

EDITAR: Hoje tentei definir política INPUT do iptables para PERMITIR ... tudo funcionou ... so problema é um firewall. Como devo definir o iptables para funcionar com o FTPS?

Aqui estão as minhas configurações do iptables:

*filter
:INPUT DROP [930:61159]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [256:26448]
-A INPUT ! -i eth0 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A INPUT -p tcp -m tcp -m multiport --dports 80,443,20,21,25,143,993,110,995,1194 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
    
por grongor 22.01.2012 / 10:24

1 resposta

5

O problema é que o módulo conntrack_ftp, que permite que as conexões de dados ftp passem pelo firewall mesmo se forem descartadas por causa de regras, não podem analisar o fluxo criptografado para os comandos PASV / PORT . O mesmo se aplica a não poder usar o modo ativo por trás de um firewall / nat com conexão de controle criptografada.

Portanto, você precisa definir portas estáticas para o modo passivo (ou se o cliente não estiver por trás do firewall / nat usar um modo ativo) e adicionar uma regra de firewall para aceitar conexões de entrada nessas portas.

As portas para o modo passivo são definidas pela diretiva PassivePorts .

Editar: devo acrescentar que a quantidade de PassivePorts não apenas limita a quantidade de conexões paralelas, mas também limita um número de conexões (leia listagens de diretórios e / ou transferências de arquivos) por net.netfilter.nf_conntrack_tcp_timeout_time_wait segundos. Então, se você está transferindo muitos arquivos pequenos, abra muitas portas!

    
por 23.01.2012 / 13:44