Como funciona
O ALG lida com as políticas dinâmicas de firewall exigidas por determinados protocolos, como o FTP. Muitos desses protocolos foram projetados sem levar em conta a segurança ou outros controles de acesso, o que pode causar problemas na implementação de firewalls.
Por exemplo, o FTP usa várias sessões para facilitar as transferências de arquivos – um canal de comando primário e canais de dados secundários para listagens de diretórios e transferências de arquivos. Esses canais de dados geralmente vão na direção oposta ao canal de comando principal.
O FTP ALG resolve automaticamente esse problema monitorando o canal de comando FTP, procurando comandos de porta FTP que indicam quais portas de origem e destino estão sendo solicitadas. O ALG abre dinamicamente uma combinação específica de portas IP de origem e destino na política de firewall que permite o estabelecimento de uma sessão. Quando a sessão é concluída, o gateway é fechado imediatamente.
O FTP ALG também lida com o caso especial em que uma sessão de FTP passa por uma interface NAT. Nesse caso, os pontos de extremidade nem sempre percebem que seus endereços estão sendo traduzidos no meio do caminho. Os comandos da porta FTP usam endereços IP configurados nas interfaces dos terminais, o que, no caso de um host atrás de um firewall NAT, geralmente não pode ser acessado pela Internet. O ALG resolve esse problema na camada do aplicativo substituindo o IP interno pelo endereço da interface NAT.
Exemplos de protocolos que exigem ALG
- O PASV passa o endereço IP do cliente e o número da porta no comando PORT com ALG.
- O PPTP não tem o conceito de “número de porta”, o que cria problemas com a tradução de endereços para o mundo externo. O ALG permite que você crie mais de uma conexão PPTP.
- Protocolo H.323. O ALG consiste em um conjunto de protocolos H.225.0 e H.245 para fornecer uma sessão AV em qualquer rede.
- O ALG também trabalha em protocolos de transferência de arquivos em alguns mensageiros, participa da criação de servidores de jogos e ajuda a organizar redes de troca de arquivos.