O Netbeans falha no upload do FTP quando a criptografia está ativada

0

Eu recentemente mudei para um novo host, e eles oferecem FTP em vez de SFTP. Não tem problema, meu cliente regular (WinSCP) lida com isso sem falhas, inclusive com criptografia (explícita). No entanto, quando configuro o NetBeans para carregar automaticamente arquivos para lá, salvo com criptografia, recebo um erro estranho ao habilitar o inc.

220 ProFTPD Server ready.
AUTH TLS
234 AUTH TLS successful
USER my_username
331 Password required for my_username
PASS ******
230 User my_username logged in
PBSZ 0
200 PBSZ 0 successful
PROT P
200 Protection set to Private
TYPE I
200 Type set to I
CWD /domains/mydomain.org/public_html/dev2
250 CWD command successful
PWD
257 "/domains/mydomain.org/public_html/dev2" is the current directory
CWD /domains/mydomain.org/public_html/dev2/js
250 CWD command successful
PASV
227 Entering Passive Mode (185,182,56,157,137,191).
STOR examplefile.js.new
150 Opening BINARY mode data connection for examplefile.js.new
425 Unable to build data connection: Operation not permitted
PASV
227 Entering Passive Mode (185,182,56,157,138,255).
STOR examplefile.js.new
150 Opening BINARY mode data connection for examplefile.js.new
425 Unable to build data connection: Operation not permitted
PASV
227 Entering Passive Mode (185,182,56,157,139,229).
STOR examplefile.js.new
150 Opening BINARY mode data connection for examplefile.js.new
425 Unable to build data connection: Operation not permitted
DELE examplefile.js.new
250 DELE command successful
QUIT
221 Goodbye.

Estou confuso. Eu consigo logar perfeitamente e até mesmo o CWD / DELE, mas não consigo fazer upload de arquivos? Alguns googling me indicaram a mudança para o modo ativo, mas isso resulta em uma mensagem de sincronização eterna seguida de um tempo limite. E funciona sem problemas ao desativar a criptografia ou até mesmo verificar o "somente criptografar o processo de autenticação". Mas não é isso que eu quero, já que preciso transferir senhas em texto puro no meu arquivo de configuração do PHP, às vezes.

Como posso fazer o Netbeans fazer o upload de arquivos corretamente para o meu host, semelhante ao que outros programas (por exemplo, o WinSCP) fazem? Verifiquei os registros do WinSCP e eles também criptografam a transferência de dados.

    
por user1111929 09.07.2017 / 03:59

1 resposta

2

FTP é um protocolo que usa conexões separadas para transferir os dados e as trocas dentro da conexão de controle das portas usadas para essas conexões. Isso torna muito problemático para os firewalls, porque eles precisam permitir uma ampla gama de portas possíveis (o que enfraquece a proteção pelo firewall) ou detectam quais portas serão usadas e cria dinamicamente regras de firewall para permitir a transferência de dados específica. O segundo é feito analisando o fluxo de dados e extraindo e analisando os comandos PORT (modo ativo) ou a resposta ao PASV (modo passivo).

Esse tipo de análise funciona bem se a conexão de controle não estiver criptografada. Mas ele falha em conexões de controle criptografadas, pois o firewall não pode mais ver os comandos PORT e respostas para PASV em claro e, assim, criar dinamicamente as regras de firewall apropriadas para as conexões de dados. E isso resulta nos problemas que você vê.

Para contornar este FTPS (isto é, FTP sobre SSL, diferente do SFTP que é a transferência de arquivos através de SSH) fornece o comando CCC que pode ser usado para mudar o canal de controle de volta para limpar após a autenticação ser feita e assim tornar a regra dinâmica trabalho de criação novamente. Mas parece que o Netbeans não está usando isso. Não estou familiarizado com as possibilidades de configuração no Netbeans, mas busco opções sobre como habilitar a criptografia somente para autenticação ou similar. Se não houver essas opções, provavelmente você está sem sorte e precisa desativar a criptografia ou enfraquecer os firewalls que possam afetar o tráfego. Observe que, em alguns casos, não há um firewall real responsável pelos problemas, mas a tradução de NAT feita por roteadores ou ISP, geralmente também no contexto de conexões móveis ou DS-Lite.

    
por 09.07.2017 / 04:47