it-swarm-pt.tech

Quais portas de firewall eu preciso abrir ao usar o FTPS?

Preciso acessar um servidor FTPS (vsftpd) no site de um fornecedor. O fornecedor possui um firewall na frente do servidor ftps. Eu tenho um firewall na frente do meu cliente FTPS.

Entendo que as portas 990, 991 e talvez 989 precisam ser abertas para controlar o tráfego.

Eu tenho algumas questões:

  1. Ao analisá-lo da perspectiva do firewall do fornecedor, essas portas devem ser abertas para o tráfego de entrada e de saída?
  2. E as portas para o canal DATA?
  3. Preciso abrir todas as portas acima de 1000?
  4. Devo fazê-lo para tráfego de entrada e saída?
33
user3293

Meu entendimento do FTP sobre SSL (ftps) é que ele não funciona bem com firewalls e NAT. Em uma sessão FTP comum, as informações sobre as conexões de dados são lidas e, para NAT modificadas, pelo firewall para que ele abra dinamicamente as portas necessárias. Se essas informações estiverem protegidas por SSL, o firewall não poderá lê-las ou alterá-las.

O uso do SFTP, ou scp, facilita muito o trabalho do administrador da rede - tudo acontece na porta 22 do servidor e a transação segue o modelo normal de cliente/servidor.

Uma coisa não mencionada é se o firewall está executando NAT ou se é _ estático NAT ou NAT dinâmico. Se a sua máquina cliente tiver um endereço estático ou estiver sendo estaticamente NAT, talvez não seja necessário fazer alterações no firewall, desde que você permita todo o tráfego de saída e o servidor opere apenas no modo Passivo (PASV).

Para saber exatamente quais portas você precisará abrir, você precisará:

a) converse com o fornecedor para obter detalhes sobre como o sistema foi configurado.

b) Use um analisador de protocolo, como tcpdump ou wireshark, para examinar o tráfego, de fora e de dentro do firewall.

Você precisa descobrir qual porta é a conexão de controle. Você lista 3, o que me parece estranho. Supondo que o servidor funcione apenas no modo PASV (passivo), você precisa descobrir como o servidor está configurado para alocar portas DATA. Eles bloquearam o canal DATA em uma única porta de entrada? Eles bloquearam o canal DATA em um pequeno intervalo ou portas?

Com essas respostas, você pode começar a configurar seu firewall.

19
pcapademic

Acredito que as portas em torno de 990 eram para SSL implícito, que era uma maneira antiga e não padrão de executar FTP/SSL. O jeito "certo" atualmente é SSL explícito, o que significa que você ainda se conecta na porta 21 e depois negocia o SSL antes de enviar seus presentes. Para oferecer suporte a conexões por meio de um firewall, você precisa usar o modo PASV e definir com precisão as portas de dados a serem usadas.

Eu acredito que você precisa de pelo menos uma porta por conexão de dados que deseja oferecer suporte. Se for apenas você, você provavelmente estará bem apenas abrindo algumas portas extras. Especificamente para mim, uso 21000-21010.

No vsftpd.conf, tenho essas duas linhas (junto com todas as outras coisas para dar suporte ao SSL):

pasv_min_port=21000

pasv_max_port=21010

No meu firewall, eu tenho um IP estático público com um a um/static NAT para o IP interno e apenas as portas TCP 21, 21000-21010 abertas.

29
David

Eu sei que este é um tópico extremamente antigo, no entanto ..

Observe que o SFTP é completamente diferente do FTPS. (SSH vs SSL)

O FTPS piora de duas maneiras. Explícito e implícito. Explícito é menos seguro, porque depois que o handshake inicial ignora a criptografia durante a transferência de dados [se a criptografia de dados é mantida é configurável no servidor com o PROT P], enquanto o Implicit também mantém a criptografia dos dados após o handshake. A porta FTPS explícita padrão é 21. A porta implícita padrão é 990 (após o handshake, ela mudará automaticamente para 989 para transmissão de dados, se não for configurada de maneira diferente). Embora a porta 21 seja geralmente aceita como EXPLICIT FTPS e 990 como IMPLICIT FTPS, na realidade, qualquer porta que você configurar, exceto 990/989, levará a EXPLICIT FTPS enquanto APENAS 990/989 será aceito como IMPLICIT FTPS.

Portanto, para responder sua pergunta: - dependendo da configuração do servidor FTPS, você precisará abrir a porta 21 ou 990/989. No entanto, apenas para ter certeza, você deve entrar em contato com o administrador do servidor FTPS e solicitar instruções. Além disso, lembre-se de que, no modo passivo, como em todos os outros softwares de FTP, você precisará abrir portas adicionais (TCP/UDP), geralmente algo entre 64000 e 65000.

11
Marin

Basicamente, o ftps é quase inútil, porque você deve fazer solicitações embaraçosas aos administradores do firewall. O conselho para restringir as portas para 10 é bom. Muito mais, torna-se patético.

o sftp é muito melhor em teoria. Mas você precisa de um servidor sftp viável, por exemplo um que restringe os clientes ao seu próprio diretório inicial.

Dependendo do aplicativo, considere HTTPS. Um upload de arquivo é realmente simples e um download obviamente também. Se você estiver criando o FTP de qualquer maneira, provavelmente será mais fácil criar um script para o upload de um arquivo HTTPS.

FTP automatizado é um sinal de um problema de design. Percebi isso ao lidar com um total de cerca de uma dúzia de fornecedores que 'exigiam' um local em que trabalhei para realizar o FTP automatizado (para coisas MUITO importantes) e ao fazer com que dezenas de clientes o fizessem na mesma loja (uma falha de design por aproximadamente 20 usos distintos que testemunhei). Foi fácil convencer a maioria dos caras do aplicativo a usar HTTPS (geralmente, na menção, eles disseram "espere, não há razão para não apenas obtê-los com HTTPS no servidor da web em que já estamos servindo dados?" ), exceto algumas que deram respostas como "bem, já temos esses scripts que parecem funcionar, e ninguém em nossa equipe é muito bom em scripts, portanto não podemos fazer alterações" (uma equipe de 5 a 10 programadores, fingindo não entender que eles podem escrevê-lo no idioma de sua escolha, porque não sabem como escrever um programa trivial do zero.).

2
carlito

O fornecedor poderá configurar um intervalo de portas estreito para as portas de conexão DATA, se ainda não o tiverem. Em seguida, você pode abrir o mesmo intervalo para os hosts que precisam desse acesso. O modo PASV deve ser usado.

1
Chris W. Rea

A porta 22 é padrão, pois o daemon SSH no UNIX possui um módulo SFTP que você pode ativar para criar basicamente um servidor SFTP explícito. Se você deseja executar um servidor FTP implícito com o Filezilla, pode executá-lo em qualquer porta que desejar, mas existe um problema: se você usar o cliente FileZilla, precisará especificar o URL do site ftp como ftps: //mysite.com: 8086 em vez de colocar a porta no campo de porta separada que o cliente FileZilla fornece.

Para a opção explícita, você só precisa de UMA porta: 22. Para a opção implícita, você só precisa ter o firewall aberto para a porta de controle: 8086 (que encaminha internamente para a porta 21 no servidor filezilla).

0
djangofan