Configurar o FTPS (implícito ou explícito) para trabalhar atrás de um firewall NAT pode ser uma dor de cabeça.
Você está correto em que o ASA não pode inspecionar o tráfego criptografado SSL / TLS. A divisão ocorre quando o canal de dados está sendo construído. Seja no modo ativo ou passivo, as informações L3 (IP) e L4 (porta) referentes ao canal de dados são transferidas no canal de controle FTP / FTPS. Com o FTP tradicional e a inspeção FTP do ASA, esses dados são "inspecionados" e "fixados" para corresponder ao IP da interface público / externo / qualquer e o ASA adiciona dinamicamente uma permissão de ACL para permitir o tráfego do canal de dados.
Com SSL / TLS (como parte de FTPS), o ASA não pode ver os detalhes necessários do canal de controle para "inspecionar" ou "corrigir" o que é necessário para fazer o canal de dados funcionar. Como tal, você precisará ter algum recurso smarts / capacidade incorporado no aplicativo do servidor FTPS que está usando.
As capacidades incluem o seguinte:
- A capacidade de definir o intervalo de portas enviado no canal de controle a ser usado para o canal de dados usado pelos clientes do modo passivo (PASV).
- A capacidade de definir o endereço IP enviado no canal de controle a ser usado para o canal de dados usado pelos clientes do modo passivo (PASV).
-
Por último, no seu firewall, permitindo (via nat / estática e ACL) o intervalo configurado no número 1.
Em um ambiente Windows, o Cerberus é um ótimo servidor FTP / FTPS / SFTP que possui os recursos e funções necessários.
Por exemplo:
Digamos que seu servidor FTPS tenha um IP interno 192.168.1.10 e fora do IP 1.1.1.2.
- Configure o software do servidor FTPS para usar o TCP / 35000 como TCP / 35999 como um intervalo para clientes passivos.
- Configure o software do servidor FTPS para enviar o 1.1.1.2 como o IP para clientes passivos. Nota: A Cerberus detecta automaticamente o seu IP da WAN e usa-o automaticamente. O Cerberus também é configurado por padrão para não executar essa correção para clientes de rede IP local (como isso seria interrompido). Cerberus é inteligente. :)
- Configure seu ASA para NAT (usando NAT estático ou faixa PAT estática) para TCP / 35000 para TCP / 35999 (mais TCP / 21, TCP / 990, etc.)
- Configure seu ASA para ACL para permitir TCP / 35000 para TCP / 35999 para o servidor FTPS (mais TCP / 21, TCP / 990, etc.)
Agora, quando os clientes se conectam pela WAN usando FTPS implícitos ou explícitos, o servidor FTPS enviará de volta o endereço IP WAN correto (não seu endereço privado) e uma porta TCP em um intervalo conhecido para ser usado no canal de dados. Tendo especificamente o NAT e a ACL permitido as portas TCP, a inspeção / correção do ASA não é necessária.
Interessante (longa referência em FTP / FTPS / SFTP através de firewalls): FTP Através de Firewalls