sexta-feira, 7 de agosto de 2015

Pure-Ftdp em ispconfig3 não aceitava conexões

Segui o tutorial de instalação do ISPConfig3 do howtoforge.com  The Perfect Server  . tudo dentro dos conformes, tirando a parte de quotas, pois estou utilizando uma VPS.

De início tudo funcionando perfeitamente, até começar a migrar alguns sites, o detalhe ficou na questão que elaborei um firewall com politica INPUT DROP, ou seja, todas as portas de input estão fechadas, exceto as portas abertas manualmente no firewall, no caso as portas dos serviços disponibilizados nesta VPS.

Ao migrar o primeiro sistema que necessita utilizar FTP tive a desagradável surpresa de não funcionar, o usuário cadastrado no ispconfig, conectava via terminal, mas não listava diretórios nem realizava upload.
Após umas 6 horas de pesquisas e tentativas infrutíferas de resolver o problema, encontrei esta discussão no próprio howtoforge , e foi quando descobri que quando iniciava uma conexão passiva, o cliente tentava conectar em portas aleatórias e ficava nisso até dar TIME OUT. Meu problema foi deixar o firewall configurado de com politica de negar tudo, com exceção do que for explicitamente permitido (que ironia!) .

Para solucionar o problema, foi criado um arquivo de configuração informando o range de portas para serem utilizadas no pure-ftp de forma passiva, que transcrevo na forma original de onde encontrei

Create a file in /etc/pure-ftpd/conf/PassivePortRange, inside, just write the port range separated with a space.
echo "29799 29899" > /etc/pure-ftpd/conf/PassivePortRange

No meu caso utilizei outras portas, e para completar, realizei a abertura das portas no firewall , neste caso seria:

iptables -I INPUT -p tcp --dport 29799:29899 -j ACCEPT

depois reiniciar o pure-ftp

/etc/init.d/pure-ftpd-mysql restart

Este site foi importante para habilitar o modo debug do do pure-ftp também http://www.faqforge.com/linux/controlpanels/ispconfig3/how-to-enable-debugging-in-pure-ftpd-on-debian-linux/