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

29

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

Eu entendo que as portas 990, 991 e talvez 989 precisam ser abertas para o controle de tráfego.

Eu tenho algumas perguntas:

  1. Ao observá-lo da perspectiva do firewall do fornecedor, essas portas devem ser abertas para tráfego de entrada e saída?
  2. E as portas para o canal DATA?
  3. Tenho que abrir todas as portas acima de 1000?
  4. Devo fazer isso para tráfego de entrada e saída?
por Tim 21.05.2009 / 17:18

7 respostas

16

Meu entendimento de 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 o NAT modificado, pelo firewall para que o firewall abra dinamicamente as portas necessárias. Se essa informação for protegida por SSL, o firewall não poderá lê-lo ou alterá-lo.

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

Uma coisa que não é mencionada é se o seu firewall está ou não realizando NAT e se é NAT estático ou dinâmico. Se a sua máquina cliente tiver um endereço estático ou estiver sendo NAT, você pode não precisar fazer nenhuma alteração de firewall, desde que você permita todo o tráfego de saída e o servidor funcione 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 seu sistema foi configurado.

b) Use um analisador de protocolo, como tcpdump ou wireshark, para analisar o tráfego, tanto de fora do seu firewall quanto dentro do seu firewall

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

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

    
por 21.05.2009 / 22:28
21

Eu acredito que os portos em torno de 990 eram para SSL implícito, que era uma maneira antiga e não-padrão de fazer FTP / SSL. A maneira "correta" atualmente é o SSL explícito, o que significa que você ainda se conecta à porta 21 e depois negocia o SSL antes de enviar seus produtos. Para suportar conexões através de um firewall, você precisa usar o modo PASV e definir as portas de dados a serem usadas.

Acredito que você precisa de pelo menos uma porta por conexão de dados que deseja suportar. Se é só você, provavelmente você está bem apenas abrindo algumas portas extras. Especificamente para mim, eu uso 21000-21010.

No vsftpd.conf, eu tenho estas duas linhas (junto com todas as outras coisas para suportar SSL):

pasv_min_port=21000

pasv_max_port=21010

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

    
por 07.06.2009 / 10:29
6

Eu sei que este é um segmento extremamente antigo, no entanto ...

Por favor, note que o SFTP é completamente diferente do FTPS. (SSH vs SSL)

FTPS piora de dois modos. Explícito e Implícito. Explícito é menos seguro porque após o handshake inicial ignora a criptografia durante as transferências de dados [se a criptografia de dados for mantida é configurável no lado do servidor com PROT P], enquanto o Implícito 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 alternará automaticamente para 989 para transmissão de dados, se não configurada de forma diferente). Enquanto a porta 21 é 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 SOMENTE 990/989 será aceita como FTPS IMPLÍCITO.

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

    
por 20.03.2015 / 12:49
2

Basicamente, o ftps é quase inútil, porque você deve fazer solicitações embaraçosas aos administradores do firewall. O conselho para restringir portas a 10 é bom. Muito mais, fica 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 pessoal.

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

O FTP automatizado é um sinal de um problema de design. Eu percebi isso quando lidei com um total de cerca de uma dúzia de fornecedores que 'requeriam' um lugar onde eu trabalhava para fazer FTP automatizado (para coisas MUITO importantes) e ao fazer dezenas de clientes com a mesma loja (uma falha de design 20 usos distintos que eu testemunhei). Foi fácil convencer a maioria dos caras do aplicativo a usar HTTPS (geralmente na menção, eles disseram "espere, não há motivo para que não façamos isso com HTTPS do servidor da Web em que já estamos servindo os dados?" ), exceto alguns que deram respostas como "bem, nós já temos esses scripts que parecem funcionar, e ninguém em nossa equipe é realmente bom com scripts, então não podemos fazer nenhuma mudança" (uma equipe de 5-10 programadores, fingindo não entender que eles podem escrevê-lo em uma linguagem de sua escolha, porque eles não sabem como escrever um programa trivial do zero.).

    
por 29.06.2009 / 07:14
1

O fornecedor pode ser capaz de configurar um intervalo de portas estreitas para as portas de conexão de dados, caso ainda não tenham. Então você pode abrir o mesmo intervalo no seu final, para os hosts que precisam desse acesso. O modo PASV deve ser usado.

    
por 21.05.2009 / 17:41
0

A porta 22 é padrão, já que o daemon SSH no UNIX possui um módulo SFTP que você pode ativar para criar basicamente um servidor SFTP explícito. Se você quer rodar um servidor FTP implícito com o Filezilla, então você pode executá-lo em qualquer porta que você quiser, mas há um problema: se você usa o cliente FileZilla, você precisa especificar o URL do site FTP como ftps: //mysite.com: 8086 em vez de colocar a porta no campo de porta separado que o cliente FileZilla fornece.

Para a opção explícita você precisa apenas 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 seu servidor filezilla).

    
por 28.04.2010 / 23:49
-7

se ftps for o mesmo que sftp , você só precisará acessar a porta 22 no site do fornecedor.

Do seu lado, você deve configurar seu firewall para permitir a saída da porta 22 e o tráfego de entrada relacionado . Isso permitirá a comunicação em qualquer porta de entrada que esteja relacionada à conexão de saída inicial na porta 22.

    
por 21.05.2009 / 17:24