Visão geral da ALG
Descrições da ALG
Este tópico descreve os gateways de camada de aplicativo (ALGs) suportados pelo Junos OS. O suporte a ALG inclui o gerenciamento de pinholes e relacionamentos pai-filho para os ALGs suportados.
- ALGs suportados
- Detalhes de suporte da ALG
- Padrões da Juniper Networks
- Exemplos: Referenciando a Preset declaração do grupo padrão do Junos OS
ALGs suportados
A Tabela 1 lista os ALGs suportados pelo Junos OS. Para obter informações sobre quais ALGs são suportados em MS-DPCs, MS-MPCs, MS-MICs, consulte ALGs disponíveis para Junos OS Address Aware NAT.
ALGs suportados |
v4 - v4 |
v6 - v4 |
v6 - v6 |
DS-Lite (o suporte para ALGs com DS-lite no MS-MPC e MS-MIC começa no Junos OS Release 18.1R1) |
|---|---|---|---|---|
TCP básico ALG |
Sim |
Sim |
Sim |
Sim |
UPD básico ALG |
Sim |
Sim |
Sim |
Sim |
INICIALIZAÇÃO |
Sim |
Não |
Não |
Não |
Serviços DCE RPC |
Sim |
Não |
Não |
Não |
DNS |
Sim |
Sim |
Não |
Sim |
FTP |
Sim |
Sim (a partir do lançamento do Junos OS 14.1R1) |
Não |
Sim |
Gatekeeper RAS |
Sim (a partir do lançamento do Junos OS 17.1R1) |
Sim (a partir do lançamento do Junos OS 17.2R1) |
Não |
Não |
H323 |
Sim |
Sim (a partir do lançamento do Junos OS 17.2R1) |
Não |
Não |
ICMP |
Sim |
Sim |
Sim |
Sim |
IKE ALG (a partir do Junos OS versão 14.2R7, 15.1R5, 16.1R2 e 17.1R1) |
Sim |
Sim |
Não |
Não |
IIOP |
Sim |
Não |
Não |
Não |
IP |
Sim |
Não |
Não |
Não |
NETBIOS |
Sim |
Não |
Não |
Não |
NETSHOW |
Sim |
Não |
Não |
Não |
PPTP |
Sim |
Sim (a partir do lançamento do Junos OS 14.1R1) |
Não |
Sim |
ÁUDIO REAL |
Sim |
Não |
Não |
Não |
Serviços de mapa de porta RPC e RPC da Sun |
Sim |
Não |
Não |
Não |
RTSP |
Sim |
Sim (a partir do lançamento do Junos OS 14.1R1) |
Não |
Sim |
SIP |
Sim |
Sim (a partir do lançamento do Junos OS 14.1R1) |
Não |
SIP suportado para DS-Lite no MS-MPC e MS-MIC a partir do Junos OS Release 18.2R1. |
SNMP |
Sim |
Não |
Não |
Não |
SQLNET |
Sim |
Não |
Não |
Não |
TFTP |
Sim |
Sim (a partir do lançamento do Junos OS 14.1R1) |
Não |
Sim |
Traceroute |
Sim |
Sim |
Não |
Sim |
Serviço de shell remoto Unix |
Sim |
Não |
Não |
Não |
WINFrame |
Sim |
Não |
Não |
Não |
Detalhes de suporte da ALG
Esta seção inclui detalhes sobre os ALGs. Inclui o seguinte:
- TCP básico ALG
- UDP básico ALG
- INICIALIZAÇÃO
- Serviços DCE RPC
- DNS
- FTP
- Gatekeeper RAS
- H323
- ICMP
- IIOP
- IKE ALG
- IP
- BIOS em rede
- NetShow
- Serviços ONC RPC
- PPTP
- Áudio real
- Serviços Sun RPC e RPC Portmap
- RTSP
- SIP
- SNMP
- SQLNet
- TFTP
- Traceroute
- Serviços de shell remoto UNIX
- WinFrame
TCP básico ALG
Este ALG executa a verificação básica de sanidade em pacotes TCP. Se encontrar erros, ele gera os seguintes eventos de anomalia e mensagens de log do sistema:
Porta zero de origem ou destino do TCP
Falha na verificação do comprimento do cabeçalho TCP
Número de sequência TCP zero e nenhum sinalizador são definidos
O número de sequência zero do TCP e os sinalizadores FIN/PSH/RST são definidos
TCP FIN/RST ou SYN(URG|FIN|RST) são definidas
O TCP ALG executa as seguintes etapas:
Quando o roteador recebe um pacote SYN, o ALG cria fluxos TCP diretos e reversos e os agrupa em uma conversa. Ele rastreia o handshake de três vias TCP.
O mecanismo de defesa SYN rastreia o estado de estabelecimento da conexão TCP. Ele espera que a sessão TCP seja estabelecida dentro de um pequeno intervalo de tempo (atualmente 4 segundos). Se o handshake de três vias TCP não for estabelecido nesse período, a sessão será encerrada.
Um mecanismo de keepalive detecta sessões TCP com endpoints não responsivos.
Os erros ICMP são permitidos somente quando um fluxo corresponde às informações do seletor especificadas nos dados ICMP.
UDP básico ALG
Este ALG executa a verificação básica de sanidade em cabeçalhos UDP. Se encontrar erros, ele gera os seguintes eventos de anomalia e mensagens de log do sistema:
Porta de origem ou destino UDP 0
Falha na verificação de comprimento do cabeçalho UDP
O UDP ALG executa as seguintes etapas:
Quando recebe o primeiro pacote, o ALG cria fluxos bidirecionais para aceitar o tráfego de sessão UDP direto e reverso.
Se a sessão ficar ociosa por mais do que o tempo ocioso máximo permitido (o padrão é 30 segundos), os fluxos serão excluídos.
Os erros ICMP são permitidos somente quando um fluxo corresponde às informações do seletor especificadas nos dados ICMP.
INICIALIZAÇÃO
O cliente BOOTP (Bootstrap Protocol) recupera suas informações de rede de um servidor em toda a rede. Ele envia uma mensagem de broadcast geral para solicitar as informações, que são retornadas pelo servidor BOOTP. Para obter a especificação do protocolo, consulte ftp://ftp.isi.edu/in-notes/rfc951.txt.
O suporte a firewall stateful requer que você configure o BOOTP ALG na porta 67 do servidor UDP e na porta 68 do cliente. Se o cliente enviar uma mensagem de broadcast, você deverá configurar o endereço de broadcast na from instrução da regra de serviço. A Network Address Translation (NAT) não é executada no tráfego BORP, mesmo que a regra NAT corresponda ao tráfego. Se o recurso de retransmissão BOOTP estiver ativado no roteador, presume-se que o servidor BOOTP remoto atribua endereços para clientes mascarados pela conversão de NAT.
Serviços DCE RPC
Os serviços de Chamada de Procedimento Remoto (RPC) do Ambiente de Computação Distribuída (DCE) são usados principalmente por aplicativos da Microsoft. O ALG usa a conhecida porta TCP 135 para serviços de mapeamento de porta e usa o identificador exclusivo universal (UUID) em vez do número do programa para identificar protocolos. O principal RPC DCE baseado em aplicativo é o protocolo Microsoft Exchange.
O suporte para firewall stateful e serviços NAT requer que você configure o mapa de porta DCE RPC ALG na porta TCP 135. O DCE RPC ALG usa o protocolo TCP com UUIDs específicos do aplicativo.
DNS
O Sistema de Nomes de Domínio (DNS), que normalmente é executado na porta 53, lida com os dados associados à localização e tradução de nomes de domínio em endereços IP. O DNS ALG da Série MX monitora os pacotes de consulta e resposta DNS e oferece suporte ao tráfego DNS UDP e TCP de forma independente. O DNS ALG não oferece suporte a traduções de carga para NAT, mas um operador pode usá-lo para remover com eficiência o NAT ou as sessões DNS de firewall stateful da memória depois que o servidor DNS envia sua resposta. O DNS ALG fecha a sessão somente quando uma resposta é recebida ou um tempo limite ocioso é atingido.
Pode haver problemas com o tráfego DNS TCP quando o TCP-DNS-ALG é usado se o tráfego DNS não for apenas o tipo padrão de solicitação e resposta. Por exemplo, o TCP-DNS-ALG pode interromper a comunicação de servidor DNS para servidor que usa TCP, como replicação de DNS ou transferências de zona. Esse tipo de tráfego pode ser descartado pelo NAT ou pelos plug-ins de firewall stateful porque o TCP-DNS-ALG fecha a sessão após a conclusão do handshake TCP e após cada servidor ter enviado um pacote para o outro. Nesses casos, não use o TCP-DNS-ALG.
O TCP-DNS-ALG não é suportado nas placas de serviço MS-DPC.
FTP
FTP é o protocolo de transferência de arquivos, especificado no RFC 959. Além da conexão de controle principal, também são feitas conexões de dados para qualquer transferência de dados entre o cliente e o servidor; e o host, a porta e a direção são negociados por meio do canal de controle.
Para o FTP de modo não passivo, o serviço de firewall stateful do Junos OS varre os dados do aplicativo cliente para servidor em busca do comando PORT, que fornece o endereço IP e o número da porta aos quais o servidor se conecta. Para o FTP de modo passivo, o serviço de firewall stateful do Junos OS varre os dados do aplicativo cliente para servidor para o comando PASV e, em seguida, varre as respostas de servidor para cliente para a resposta 227, que contém o endereço IP e o número da porta aos quais o cliente se conecta.
Há uma complicação adicional: o FTP representa esses endereços e números de porta em ASCII. Como resultado, quando endereços e portas são regravados, o número de sequência TCP pode ser alterado e, posteriormente, o serviço NAT precisa manter esse delta nos números SEQ e ACK executando a sequência NAT em todos os pacotes subsequentes.
O suporte para firewall stateful e serviços NAT requer que você configure o FTP ALG na porta TCP 21 para habilitar o protocolo de controle FTP. O ALG executa as seguintes tarefas:
Aloca automaticamente portas de dados e permissões de firewall para conexão dinâmica de dados
Cria fluxos para a conexão de dados negociada dinamicamente
Monitora a conexão de controle nos modos ativo e passivo
Reescreve os pacotes de controle com o endereço NAT apropriado e as informações de porta
Em MS-MPCs, MS-MICs, para que o FTP passivo funcione corretamente sem o gateway da camada de aplicativo (ALG) FTP habilitado (por não especificar a application junos-ftp instrução nos níveis de hierarquia), você deve habilitar a [edit services stateful-firewall rule rule-name term term-name from] [edit services nat rule rule-name term term-name from] funcionalidade de pool de endereços emparelhado (APP) habilitada (incluindo a address-pooling instrução no nível de [edit services nat rule rule-name term term-name then translated] hierarquia). Essa configuração faz com que as sessões de FTP de dados e controle recebam o mesmo endereço NAT.
Gatekeeper RAS
A partir do Junos OS Release 17.1R1, o ALG de registro, administração e status do gatekeeper (RAS) permite suporte total ao modo gatekeeper para chamadas H.323. Um endpoint se registra em um gatekeeper e solicita seu gerenciamento. Antes de fazer uma chamada, um endpoint solicita permissão ao gatekeeper para fazer a chamada. Nas fases de registro e admissão, o canal RAS é usado. Use o gatekeeper RAS ALG e o H323 ALG em regras de firewall stateful IPv4 e IPv6 ou regras NAPT-44. A partir do Junos OS Release 17.2R1, as regras do NAT-64 também são suportadas. O conjunto junos-h323-suite de aplicativos padrão do Junos inclui o ALG H323 e o RAS ALG do gatekeeper.
H323
O H323 é um conjunto de protocolos de ITU para aplicativos de colaboração e conferência de áudio e vídeo. O H323 consiste em protocolos de sinalização de chamada H.225 e protocolo de controle H.245 para comunicação de mídia. Durante a negociação H.225, os endpoints criam uma chamada trocando mensagens de sinalização de chamada no canal de controle e negociam um novo canal de controle para H.245. Uma nova conexão de controle é criada para mensagens H.245. As mensagens são trocadas no canal de controle H.245 para abrir canais de mídia.
O firewall stateful monitora o canal de controle H.225 para abrir o canal de controle H.245. Depois que o canal H.245 é criado, o firewall stateful também monitora esse canal para obter informações do canal de mídia e permite o tráfego de mídia através do firewall.
O H323 ALG oferece suporte a NAT de destino estático, fonte estática e dinâmica, reescrevendo os endereços e portas apropriados nas mensagens H.225 e H.245.
Para dar suporte ao modo gatekeeper para chamadas H.323, use o ALG H323 e o RAS ALG do gatekeeper em regras de firewall stateful IPv4 e IPv6 ou regras NAPT-44. A partir do Junos OS Release 17.2R1, as regras do NAT-64 também são suportadas. O conjunto junos-h323-suite de aplicativos padrão do Junos inclui o ALG H323 e o RAS ALG do gatekeeper.
ICMP
O Internet Control Message Protocol (ICMP) é definido no RFC 792. O serviço de firewall stateful do Junos OS permite que as mensagens ICMP sejam filtradas por tipo específico ou valor de código de tipo específico. Os pacotes de erro ICMP que não têm um tipo e código especificamente configurados são comparados com qualquer fluxo existente na direção oposta para verificar a legitimidade do pacote de erro. Os pacotes de erro ICMP que passam pela correspondência de filtro estão sujeitos à tradução NAT.
O ICMP ALG sempre rastreia o tráfego de ping com estado usando o número de sequência ICMP. Cada resposta de eco é encaminhada somente se houver uma solicitação de eco com o número de sequência correspondente. Para qualquer fluxo de ping, apenas 20 solicitações de eco podem ser encaminhadas sem receber uma resposta de eco. Quando você configura o NAT dinâmico, o identificador de pacote PING é convertido para permitir que hosts adicionais no pool NAT usem o mesmo identificador.
O suporte para firewall stateful e serviços NAT requer que você configure o ICMP ALG se o protocolo for necessário. Você pode configurar o tipo e o código ICMP para filtragem adicional.
IIOP
O Protocolo Inter-ORB (Internet Inter-ORB Protocol) do Oracle Application Server Name Server. Essa ALG é usada na Common Object Request Broker Architecture (CORBA) com base na computação distribuída. Embora CORBA e IIOP sejam padrões OMG (Grupo de Gerenciamento de Objetos), nenhuma porta fixa é atribuída para IIOP. Cada fornecedor que implementa o CORBA escolhe uma porta. A máquina Java Virtual usa a porta 1975 por padrão, enquanto o ORBIX usa a porta 3075 como padrão.
O firewall stateful e o NAT exigem que o ALG IIOP seja configurado para a porta TCP 1975 para Java VM IIOP e 3075 para aplicativos CORBA ORBIX, um framework CORBA da Iona Technologies.
IKE ALG
Antes do lançamento do Junos OS 17.4R1, a Network Address Translation-Traversal (NAT-T) não é suportada para o conjunto de recursos IPsec do Junos VPN Site Secure nos roteadores da Série MX. A partir do Junos OS Release 14.2R7, 15.1R5, 16.1R2 e 17.1R1, o IKE ALG permite a passagem de pacotes IKEv1 e IPsec por meio de regras NAPT-44 e NAT64 entre pares IPsec que não são compatíveis com NAT-T. Este ALG suporta apenas o modo de túnel ESP.
Use este ALG em regras NAT e especifique o protocolo UDP e a porta 500.
Esta ALG realiza o seguinte:
Rastreia solicitações de iniciação de conexão IKEv1 para determinar se o processamento de NAT é necessário.
Executa a conversão de NAT em solicitações IKEv1 de saída e entrada e cria sessões de IKE.
Identifica pacotes IPsec relacionados à sessão de IKE estabelecida e estabelece associação de segurança entre pares.
Executa a tradução NAT em pacotes IPsec.
IP
O IP ALG é usado apenas para criar fluxos unidirecionais. No caso de tráfego TCP, ele não verifica o processo de handshake de 3 vias. Essa ALG é útil no caso de conjuntos de serviços somente de firewall stateful, onde permite que o tráfego flua apenas unidirecionalmente. Ao configurar em conjunto com match-direction input-output ele, permite que o tráfego de retorno flua pelo firewall stateful também. Os cenários típicos são NAT estático, NAT de destino ou cenários em que se espera que o tráfego atravesse o firewall stateful na presença de roteamento assimétrico. O Junos IP ALG não se destina ao uso com NAPT, o que faz com que o tráfego correspondente seja descartado por meio da criação de um fluxo de queda.
BIOS em rede
Um NetBIOS ALG converte endereços IP NetBIOS e números de porta quando o NAT é usado.
O NetBIOS oferece suporte aos protocolos de transporte TCP e UDP. O suporte para firewall stateful e serviços NAT requer que você configure o NetBIOS ALG na porta UDP 138 e na porta TCP 139.
NetShow
O protocolo ms-streaming da Microsoft é usado pelo NetShow, o servidor de mídia da Microsoft. Esse protocolo oferece suporte a vários protocolos de transporte: TCP, UDP e HTTP. O cliente inicia uma conexão TCP na porta 1755 e envia o comando PORT para o servidor. Em seguida, o servidor inicia o UDP nessa porta para o cliente. O suporte para firewall stateful e serviços NAT requer que você configure o NetShow ALG na porta UDP 1755.
Serviços ONC RPC
Os serviços RPC da Open Networks Computing (ONC) funcionam de forma semelhante aos serviços RCP da DCE. No entanto, o ONC RPC ALG usa a porta TCP/UDP 111 para serviços de mapeamento de porta e usa o número do programa para identificar protocolos em vez do UUID.
O suporte para firewall stateful e serviços NAT requer que você configure o mapa de porta RPC ONC ALG na porta TCP 111. O ONC RPC ALG usa o protocolo TCP com números de programa específicos do aplicativo.
PPTP
O protocolo de tunelamento ponto a ponto (PPTP) ALG é um ALG baseado em TCP. O PPTP permite que o protocolo ponto a ponto (PPP) seja tunelado por meio de uma rede IP. O PPTP define uma arquitetura cliente-servidor, um servidor de rede PPTP e um concentrador de acesso PPTP. O PPTP ALG requer uma conexão de controle e um túnel de dados. A conexão de controle usa TCP para estabelecer e desconectar sessões PPP e é executada na porta 1723. O túnel de dados transporta tráfego PPP em pacotes encapsulados de roteamento genérico (GRE) que são transportados por IP.
Áudio real
Protocolo PNA da Real Networks RealVideo não é um serviço separado. Faz parte do RealPlayer e provavelmente usa outro canal para vídeo. As versões G2, 7 e 8 do RealPlayer usam PNA e RTSP. Para que esta versão funcione, o ALG deve permitir PNA(7070) e RTSP(554). Para a mídia, o servidor seleciona entre um intervalo de portas UDP (6970 a 7170) ou porta TCP 7071 ou HTTP. O cliente pode ser configurado para usar uma porta específica. As versões 4.0 e 5.0 do RealPlayer usam as portas UDP de mídia 7070 do canal de controle 6970 a 7170 ou a porta TCP 7071 ou HTTP. O reprodutor RealAudio versão 3.0 usa mídia do canal de controle 7070, portas UDP 6770-7170 ou porta TCP 7071.
Os produtos reais usam as portas e intervalos de portas mostrados na Tabela 2.
Produto real |
Uso da porta |
|---|---|
4.0 e 5.0 Servidores/Jogadores |
Canal de controle (bidirecional) na porta TCP 7070. Canal de dados do servidor para o player na porta TCP 7070 ou porta UDP 6970-7170. |
Servidores/codificadores 4.0 e 5.0 |
Canal de controle (bidirecional) na porta TCP 7070. Canal de dados do codificador ou servidor na porta TCP 7070. |
Servidores/jogadores G2 |
Canal de controle (bidirecional) na porta TCP 80, 554, 7070 ou 8080. Canal de dados do servidor para o player na porta TCP 80, 554, 7070, 8080 ou porta UDP 6970-32.000. |
Codificadores G2 Server/3.1 e 5.x |
Canal de controle (bidirecional) na porta TCP 7070. Canal de dados do codificador para o servidor na porta TCP 7070. |
Servidor G2/Produtor G2 |
Canal de controle (bidirecional) na porta TCP 4040. Canal de dados do codificador para o servidor na porta TCP 4040 e na porta UDP 6970-32.000. |
2 Servidor/G2 Produtor (SOMENTE TCP) |
Canal de controle (bidirecional) na porta TCP 4040 Canal de dados do codificador para o servidor na porta TCP 4040. Nota: Opção TCP-ONLY disponível na versão 6.1 ou superior. |
RealAudio foi o protocolo original da RealPlayers. As versões mais recentes do RealPlayer usam RTSP. O firewall stateful e o NAT exigem que o ALG RealAudio seja programado na porta TCP 7070.
Serviços Sun RPC e RPC Portmap
A ALG de Chamada de Procedimento Remoto (RPC) usa portas conhecidas TCP 111 e UDP 111 para mapeamento de porta, que atribui e abre portas dinamicamente para serviços RPC. O RPC Portmap ALG rastreia as solicitações de porta e abre dinamicamente o firewall para essas portas solicitadas. O RPC ALG pode restringir ainda mais o protocolo RPC especificando números de programa permitidos.
O ALG inclui os serviços RPC listados na Tabela 3.
Nome |
Descrição |
Comentários |
|---|---|---|
|
daemon de montagem do servidor de arquivos de rede (NFS); para obter detalhes, consulte a página de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). |
|
Usado como parte do NFS. Para obter detalhes, consulte RFC 1094. Veja também RFC1813 para NFS v3. |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). |
|
Network Information Service Plus (NIS+), projetado para substituir o NIS; é um serviço de nomenclatura padrão para Sun Solaris e não está relacionado ao NIS antigo. Nenhuma informação de protocolo está disponível. |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). |
|
Gerenciador de bloqueio de rede. |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela de programas RPC é criada, |
|
Servidor de estatísticas do kernel. Para obter detalhes, consulte as páginas de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela de programas RPC é criada, |
|
Usado para escrever uma mensagem para os usuários; para obter detalhes, consulte a página de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela do programa RPC é criada, |
|
Processo de vinculação do NIS. Para obter detalhes, consulte a página de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela de programas RPC é criada, |
|
Servidor de senhas NIS. Para obter detalhes, consulte a página de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela de programas RPC é criada, |
|
NIS. Para obter detalhes, consulte a página de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela de programas RPC é criada, |
|
Ferramenta de atualização de rede. |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela do programa RPC é criada, |
|
Servidor de transferência de mapas NIS. Para obter detalhes, consulte a página de manual do UNIX para |
O suporte base é RPC v2 e o serviço de mapeador de porta na porta 111 (consulte RFC 1050). Depois que a tabela do programa RPC é criada, |
O suporte para serviços de firewall stateful e NAT que usam mapeamento de porta requer que você configure o mapa de porta RPC ALG na porta de destino TCP/UDP 111 e o RPC ALG para TCP e UDP. Você pode especificar um ou mais rpc-program-number valores para restringir ainda mais os protocolos RPC permitidos.
RTSP
O protocolo RTSP controla a entrega de dados com propriedades em tempo real, como áudio e vídeo. Os fluxos controlados pelo RTSP podem usar o RTP, mas isso não é necessário. A mídia pode ser transmitida no mesmo fluxo de controle RTSP. Este é um protocolo baseado em texto semelhante ao HTTP, mas o cliente e o servidor mantêm as informações da sessão. Uma sessão é estabelecida usando a mensagem SETUP e encerrada usando a mensagem TEARDOWN. O transporte (o protocolo de mídia, endereço e números de porta) é negociado na configuração e na resposta de configuração.
O suporte para firewall stateful e serviços NAT requer que você configure o RTSP ALG para a porta TCP 554.
O ALG monitora a conexão de controle, abre fluxos dinamicamente para fluxos de mídia (RTP/RTSP) e executa regravações de endereço NAT e porta.
SIP
O Session Initiation Protocol (SIP) é um protocolo de camada de aplicativo que pode estabelecer, manter e encerrar sessões de mídia. É um protocolo de sinalização de voz sobre IP (VoIP) amplamente utilizado. O SIP ALG monitora o tráfego SIP e cria e gerencia dinamicamente pinholes nos caminhos de sinalização e mídia. O ALG só permite pacotes com as permissões corretas. O SIP ALG também executa as seguintes funções:
Gerencia relacionamentos de sessão pai-filho.
Aplica políticas de segurança.
Gerencia pinholes para tráfego VoIP.
O SIP ALG suporta os seguintes recursos:
Firewall com estado
NAT de origem estática
NAT de origem somente de endereço dinâmico
Tradução de porta de endereço de rede (NAPT)
As sessões SIP são limitadas a 12 horas (720 minutos) para processamento de NAT nas placas de interface MS-MIC e MS-MPC. As sessões SIP no MS-DPC não têm limite de tempo.
SNMP
SNMP é um protocolo de comunicação para gerenciar redes TCP/IP, incluindo dispositivos de rede individuais e dispositivos agregados. O protocolo é definido pelo RFC 1157. O SNMP é executado em cima do UDP.
O serviço de firewall stateful do Junos OS implementa o SNMP ALG para inspecionar o tipo SNMP. O SNMP não impõe o fluxo stateful. Cada tipo de SNMP precisa ser habilitado especificamente. O suporte SNMP completo de serviços de firewall stateful requer que você configure o SNMP ALG na porta UDP 161. Isso habilita o SNMP get e get-next comandos, bem como seu tráfego de resposta na direção inversa: a porta UDP 161 habilita o comando SNMP get-response . Se as armadilhas SNMP forem permitidas, você poderá configurá-las na porta UDP 162, habilitando o comando SNMP trap .
SQLNet
O protocolo SQLNet é usado por servidores Oracle SQL para executar comandos SQL de clientes, incluindo balanceamento de carga e serviços específicos do aplicativo.
O suporte de firewall stateful e serviços NAT requer que você configure o SQLNet ALG para a porta TCP 1521.
O ALG monitora os pacotes de controle, abre fluxos dinamicamente para tráfego de dados e executa regravações de endereço NAT e porta.
TFTP
O TFTP (Trivial File Transfer Protocol) é especificado no RFC 1350. As solicitações TFTP iniciais são enviadas para a porta de destino UDP 69. Fluxos adicionais podem ser criados para obter ou colocar arquivos individuais. O suporte de firewall stateful e serviços NAT requer que você configure o TFTP ALG para a porta de destino UDP 69.
Traceroute
O traceroute é uma ferramenta para exibir a rota que os pacotes percorrem para um host de rede. Ele usa o campo de vida útil (TTL) do IP para disparar mensagens de tempo excedido de ICMP de roteadores ou gateways. Ele envia datagramas UDP para portas de destino que se acredita não estarem em uso; As portas de destino são numeradas usando a fórmula: + nsaltos – 1. A porta base padrão é 33434. Para oferecer suporte ao traceroute pelo firewall, dois tipos de tráfego devem ser passados:
Pacotes de sondagem UDP (porta de destino UDP > 33000, IP TTL < 30)
Pacotes de resposta ICMP (tipo ICMP excedido no tempo)
Quando o NAT é aplicado, o endereço IP e a porta dentro do pacote de erro ICMP também devem ser alterados.
O suporte a serviços de firewall stateful e NAT exige que você configure o Traceroute ALG para a porta de destino UDP 33434 a 33450. Além disso, você pode configurar o limite de TTL para evitar ataques de inundação UDP com grandes valores de TTL.
Serviços de shell remoto UNIX
Três protocolos formam a base para os serviços de shell remoto do UNIX:
Executivo — Execução remota de comandos; Permite que um usuário no sistema cliente execute um comando no sistema remoto. O primeiro comando do cliente (
rcmd) para o servidor (rshd) usa a conhecida porta TCP 512. Uma segunda conexão TCP pode ser aberta a pedido dorcmd. O número da porta do cliente para a segunda conexão é enviado ao servidor como uma cadeia de caracteres ASCII.Login — Mais conhecido como
rlogin; usa a conhecida porta TCP 513. Para obter detalhes, consulte RFC 1282. Nenhum processamento especial de firewall é necessário.Shell — Execução remota de comandos; Permite que um usuário no sistema cliente execute um comando no sistema remoto. O primeiro comando do cliente (
rcmd) para o servidor (rshd) usa a conhecida porta TCP 514. Uma segunda conexão TCP pode ser aberta a pedido dorcmd. O número da porta do cliente para a segunda conexão é enviado ao servidor como uma cadeia de caracteres ASCII.
O suporte a serviços de firewall stateful requer que você configure o Exec ALG na porta TCP 512, o Login ALG na porta TCP 513 e o Shell ALG na porta TCP 514. Os serviços de shell remoto NAT exigem que qualquer porta de origem dinâmica atribuída esteja dentro do intervalo de portas 512 a 1023. Se você configurar um pool NAT, esse intervalo de portas será reservado exclusivamente para aplicativos de shell remotos.
WinFrame
O software de servidor de aplicativos WinFrame fornece acesso a praticamente qualquer aplicativo do Windows, em qualquer tipo de conexão de rede com qualquer tipo de cliente.
Este protocolo é usado principalmente por aplicativos Citrix Windows.
O firewall stateful e o NAT exigem que o Winframe ALG seja configurado na porta de destino TCP 1494 e na porta UDP 1604.
Padrões da Juniper Networks
O Junos OS oferece um grupo de configuração oculto padrão chamado junos-defaults que é aplicado automaticamente à configuração do seu roteador. O junos-defaults grupo contém instruções pré-configuradas que contêm valores predefinidos para aplicativos comuns. Algumas das instruções devem ser referenciadas para entrar em vigor, como aplicativos como FTP ou Telnet. Outras instruções são aplicadas automaticamente, como configurações de terminal. Todas as instruções pré-configuradas começam com o nome junos-reservado .
Você pode substituir os valores de configuração padrão do Junos OS, mas não pode excluí-los ou editá-los. Se você excluir uma configuração, os padrões retornarão quando uma nova configuração for adicionada.
Você não pode usar a apply-groups declaração com o grupo de padrões do Junos OS.
Para ver o conjunto completo de declarações predefinidas disponíveis do grupo padrão do Junos OS, emita o show groups junos-defaults comando configuration mode. O exemplo a seguir exibe a lista de grupos padrão do Junos OS que usam protocolos de aplicativos (ALGs):
user@host# show groups junos-defaults
applications {
#
# File Transfer Protocol
#
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
#
# Trivial File Transfer Protocol
#
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
#
# RPC portmapper on TCP
#
application junos-rpc-portmap-tcp {
application-protocol rpc-portmap;
protocol tcp;
destination-port 111;
}
#
# RPC portmapper on UDP
#
application junos-rpc-portmap-udp {
application-protocol rpc-portmap;
protocol udp;
destination-port 111;
}
#
# SNMP get
#
application junos-snmp-get {
application-protocol snmp;
protocol udp;
destination-port 161;
snmp-command get;
}
#
# SNMP get next
#
application junos-snmp-get-next {
application-protocol snmp;
protocol udp;
destination-port 161;
snmp-command get-next;
}
#
# SNMP response
#
application junos-snmp-response {
application-protocol snmp;
protocol udp;
source-port 161;
snmp-command get-response;
}
#
# SNMP trap
#
application junos-snmp-trap {
application-protocol snmp;
protocol udp;
destination-port 162;
snmp-command trap;
}
#
# remote exec
#
application junos-rexec {
application-protocol exec;
protocol tcp;
destination-port 512;
}
#
# remote login
#
application junos-rlogin {
application-protocol shell;
protocol tcp;
destination-port 513;
}
#
# remote shell
#
application junos-rsh {
application-protocol shell;
protocol tcp;
destination-port 514;
}
#
# Real Time Streaming Protocol
#
application junos-rtsp {
application-protocol rtsp;
protocol tcp;
destination-port 554;
}
#
# Citrix windows application server protocol
# windows applications remotely on windows/non-windows clients
#
# citrix needs udp 1604 to be open
#
application junos-citrix-winframe {
application-protocol winframe;
protocol tcp;
destination-port 1494;
}
application junos-citrix-winframe-udp {
protocol udp;
destination-port 1604;
}
#
# Oracle SQL servers use this protocol to execute sql commands
# from clients, load balance, use application-specific servers, etc
#
application junos-sqlnet {
application-protocol sqlnet;
protocol tcp;
destination-port 1521;
}
#
# H.323 Protocol for audio/video conferencing
#
application junos-h323 {
application-protocol h323;
protocol tcp;
destination-port 1720;
}
application junos-h323-ras {
application-protocol ras;
protocol udp;
destination-port 1719;
}
#
# Internet Inter-ORB Protocol - used for CORBA applications
# The ORB protocol in Java virtual machines uses port 1975 as default
#
application junos-iiop-java {
application-protocol iiop;
protocol tcp;
destination-port 1975;
}
#
# Internet Inter-ORB Protocol - used for CORBA applications
# ORBIX is a CORBA framework from Iona Technologies that uses port
# 3075 as default
#
application junos-iiop-orbix {
application-protocol iiop;
protocol tcp;
destination-port 3075;
}
#
# Real players use this protocol for real time streaming
# This was the original protocol for real players.
# RTSP is more widely used by real players
# but they still support realaudio.
#
application junos-realaudio {
application-protocol realaudio;
protocol tcp;
destination-port 7070;
}
#
# traceroute application.
#
application junos-traceroute {
application-protocol traceroute;
protocol udp;
destination-port 33435-33450;
ttl-threshold 30;
}
#
# The full range of known RPC programs using UDP
# The program numbers can be more specific to certain applications.
#
application junos-rpc-services-udp {
application-protocol rpc;
protocol udp;
rpc-program-number 100000-400000;
}
#
# The full range of known RPC programs using TCP
# The program numbers can be more specific to certain applications.
#
application junos-rpc-services-tcp {
application-protocol rpc;
protocol tcp;
rpc-program-number 100000-400000;
}
#
# All ICMP traffic
# This can be made to be more restrictive by specifying ICMP type
# and code.
#
application junos-icmp-all {
application-protocol icmp;
}
#
# Protocol used by Windows media server and windows media player
#
application junos-netshow {
application-protocol netshow;
protocol tcp;
destination-port 1755;
}
#
# NetBIOS - networking protocol used on
# Windows networks name service port, both UDP and TCP
#
application junos-netbios-name-udp {
application-protocol netbios;
protocol udp;
destination-port 137;
}
application junos-netbios-name-tcp {
protocol tcp;
destination-port 137;
}
#
# NetBIOS - networking protocol used on
# Windows networks datagram service port
#
application junos-netbios-datagram {
application-protocol netbios;
protocol udp;
destination-port 138;
}
#
# NetBIOS - networking protocol used on
# Windows networks session service port
#
application junos-netbios-session {
protocol tcp;
destination-port 139;
}
#
# DCE-RPC portmapper on TCP
#
application junos-dce-rpc-portmap {
application-protocol dce-rpc-portmap;
protocol tcp;
destination-port 135;
}
#
# DCE-RPC application on TCP sample UUID
# This application requires user to specify the UUID value
#
# application junos-dcerpc {
# application-protocol dce-rpc;
# protocol tcp;
#
# # UUID also needs to be defined as shown below
# UUID 11223344 22334455 33445566 44556677;
#
# }
#
# ms-exchange needs these 3 UUIDs
#
application junos-dcerpc-endpoint-mapper-service {
application-protocol dce-rpc;
protocol tcp;
uuid e1af8308-5d1f-11c9-91a4-08002b14a0fa;
}
application junos-dcerpc-msexchange-directory-rfr {
application-protocol dce-rpc;
protocol tcp;
uuid 1544f5e0-613c-11d1-93df-00c04fd7bd09;
}
application junos-dcerpc-msexchange-information-store {
application-protocol dce-rpc;
protocol tcp;
uuid a4f1db00-ca47-1067-b31f-00dd010662da;
}
application junos-ssh {
protocol tcp;
destination-port 22;
}
application junos-telnet {
protocol tcp;
destination-port 23;
}
application junos-smtp {
protocol tcp;
destination-port 25;
}
application junos-dns-udp {
protocol udp;
destination-port 53;
}
application junos-dns-tcp {
protocol tcp;
destination-port 53;
}
application junos-tacacs {
protocol tcp;
destination-port 49;
}
# TACACS Database Service
application junos-tacacs-ds {
protocol tcp;
destination-port 65;
}
application junos-dhcp-client {
protocol udp;
destination-port 68;
}
application junos-dhcp-server {
protocol udp;
destination-port 67;
}
application junos-bootpc {
protocol udp;
destination-port 68;
}
application junos-bootps {
protocol udp;
destination-port 67;
}
application junos-finger {
protocol tcp;
destination-port 79;
}
application junos-http {
protocol tcp;
destination-port 80;
}
application junos-https {
protocol tcp;
destination-port 443;
}
application junos-pop3 {
protocol tcp;
destination-port 110;
}
application junos-ident {
protocol tcp;
destination-port 113;
}
application junos-nntp {
protocol tcp;
destination-port 119;
}
application junos-ntp {
protocol udp;
destination-port 123;
}
application junos-imap {
protocol tcp;
destination-port 143;
}
application junos-imaps {
protocol tcp;
destination-port 993;
}
application junos-bgp {
protocol tcp;
destination-port 179;
}
application junos-ldap {
protocol tcp;
destination-port 389;
}
application junos-snpp {
protocol tcp;
destination-port 444;
}
application junos-biff {
protocol udp;
destination-port 512;
}
# UNIX who
application junos-who {
protocol udp;
destination-port 513;
}
application junos-syslog {
protocol udp;
destination-port 514;
}
# line printer daemon, printer, spooler
application junos-printer {
protocol tcp;
destination-port 515;
}
# UNIX talk
application junos-talk-tcp {
protocol tcp;
destination-port 517;
}
application junos-talk-udp {
protocol udp;
destination-port 517;
}
application junos-ntalk {
protocol udp;
destination-port 518;
}
application junos-rip {
protocol udp;
destination-port 520;
}
# INA sanctioned RADIUS port numbers
application junos-radius {
protocol udp;
destination-port 1812;
}
application junos-radacct {
protocol udp;
destination-port 1813;
}
application junos-nfsd-tcp {
protocol tcp;
destination-port 2049;
}
application junos-nfsd-udp {
protocol udp;
destination-port 2049;
}
application junos-cvspserver {
protocol tcp;
destination-port 2401;
}
#
# Label Distribution Protocol
#
application junos-ldp-tcp {
protocol tcp;
destination-port 646;
}
application junos-ldp-udp {
protocol udp;
destination-port 646;
}
#
# JUNOScript and JUNOScope management
#
application junos-xnm-ssl {
protocol tcp;
destination-port 3220;
}
application junos-xnm-clear-text {
protocol tcp;
destination-port 3221;
}
#
# IPsec tunnel
#
application junos-ipsec-esp {
protocol esp;
}
#
#IKE application for IPSec VPN
#
application junos-ike {
application-protocol ike-esp-nat;
protocol udp;
destination-port 500;
}
#
# 'junos-algs-outbound' defines a set of all applications
# requiring an ALG. Useful for defining rule to the the public
# internet allowing private network users to use all JUNOS OS
# supported ALGs initiated from the private network.
#
# NOTE: the contents of this set might grow in future JUNOS OS versions.
#
application-set junos-algs-outbound {
application junos-ftp;
application junos-tftp;
application junos-rpc-portmap-tcp;
application junos-rpc-portmap-udp;
application junos-snmp-get;
application junos-snmp-get-next;
application junos-snmp-response;
application junos-snmp-trap;
application junos-rexec;
application junos-rlogin;
application junos-rsh;
application junos-rtsp;
application junos-citrix-winframe;
application junos-citrix-winframe-udp;
application junos-sqlnet;
application junos-h323;
application junos-iiop-java;
application junos-iiop-orbix;
application junos-realaudio;
application junos-traceroute;
application junos-rpc-services-udp;
application junos-rpc-services-tcp;
application junos-icmp-all;
application junos-netshow;
application junos-netbios-name-udp;
application junos-netbios-datagram;
application junos-dcerpc-endpoint-mapper-service;
application junos-dcerpc-msexchange-directory-rfr;
application junos-dcerpc-msexchange-information-store;
}
#
# 'junos-management-inbound' represents the group of applications
# that might need access the router from public network for
# for management purposes.
#
# Set is intended for a UI to display management choices.
#
# NOTE: It is not recommended the user to use the entire set
# directly in a firewall rule and open up firewall to all
# of these applications. Also, the user should always
# specify the source and destination prefixes when using
# each application.
#
# NOTE: the contents of this set may grow in future JUNOS versions.
#
application-set junos-management-inbound {
application junos-snmp-get;
application junos-snmp-get-next;
application junos-snmp-response;
application junos-snmp-trap;
application junos-ssh;
application junos-telnet;
application junos-http;
application junos-https;
application junos-xnm-ssl;
application junos-xnm-clear-text;
}
#
# 'junos-routing-inbound' represents routing protocols that might
# need to access the router from public network.
#
# Set is intended for a UI to display routing involvement choices.
#
# NOTE: It is not recommended the user to use the entire set
# directly in a firewall rule and open up firewall to all
# of these applications. Also, the user should always
# specify the source and destination prefixes when using
# each application.
#
# NOTE: the contents of this set might grow in future JUNOS OS versions.
#
application-set junos-routing-inbound {
application junos-bgp;
application junos-rip;
application junos-ldp-tcp;
application junos-ldp-udp;
}
application-set junos-h323-suite {
application junos-h323-ras,
application junos-h323;
}
}
Para fazer referência a instruções disponíveis no junos-defaults grupo, inclua a instrução selecionada junos-default-name no nível de hierarquia aplicável. Para configurar protocolos de aplicativo, consulte Configurando Propriedades do Aplicativo; para obter detalhes sobre um protocolo específico, consulte Descrições do ALG.
Exemplos: Referenciando a Preset declaração do grupo padrão do Junos OS
O exemplo a seguir é uma declaração predefinida dos grupos padrão do Junos OS que está disponível para FTP em um firewall stateful:
[edit]
groups {
junos-defaults {
applications {
application junos-ftp { # Use FTP default configuration
application-protocol ftp;
protocol tcp;
destination-port 21;
}
}
}
Para fazer referência a uma predefinição da declaração default do Junos OS dos grupos default do Junos OS, inclua a junos-default-name declaração no nível de hierarquia aplicável. Por exemplo, para fazer referência à declaração default do Junos OS para FTP em um firewall stateful, inclua a junos-ftp [edit services stateful-firewall rule rule-name term term-name from applications] declaração no nível da hierarquia.
[edit]
services {
stateful-firewall {
rule my-rule {
term my-term {
from {
applications junos-ftp; #Reference predefined statement, junos-ftp,
}
}
}
}
}
O exemplo a seguir mostra a configuração do Junos IP ALG padrão:
[edit]
services {
stateful-firewall {
rule r1 {
match-direction input;
term t1 {
from {
applications junos-ip;
}
then {
accept;
syslog;
}
}
}
}
}
Se você configurar o IP ALG na regra de firewall stateful, ele será correspondido por qualquer tráfego IP, mas quando qualquer outro aplicativo mais específico corresponder ao mesmo tráfego, o IP ALG não será correspondido. Por exemplo, na configuração a seguir, o ICMP ALG e o IP ALG são configurados, mas o tráfego é correspondido para pacotes ICMP, porque é a correspondência mais específica.
[edit]
services {
stateful-firewall {
rule r1 {
match-direction input;
term t1 {
from {
applications [ junos-ip junos-icmp-all ];
}
then {
accept;
syslog;
}
}
}
}
}
Veja também
ICMP, ping e rastreamento de ALGs para MS-MICs e MS-MPCs
A partir do Junos OS Release 14.2, os pacotes de provedores de extensão do Junos OS pré-instalados e pré-configurados no MS-MIC e no MS-MPC oferecem suporte para ALGs de ping, traceroute e ICMP de maneira consistente e idêntica ao suporte que o serviço uKernel fornece. Paridade e uniformidade de suporte são estabelecidas para esses ALGs entre MS-MICs/MS-MPCs e o serviço uKernel. Até o Junos OS Release 14.1, os ALGs ICMP, os ALGs de ping e os ALGs de traceroute não eram totalmente suportados em roteadores da Série MX com MS-MICs e MS-MPCs em comparação com o serviço uKernel que permite a Network Address Translation (NAT) com firewall stateful (SFW) no uKernel PIC. Havia suporte disponível para manipulação de pacotes de resposta a erros ICMP que correspondem a qualquer fluxo existente na direção oposta e processamento NAT de pacotes ICMP com processamento NAT de pacotes de ping.
Nos roteadores da Série MX com MS-MICs e MS-MPCs, há suporte para o rastreamento dos estados de tráfego de ping totalmente usando os números de sequência ICMP (por exemplo, encaminhar uma resposta de eco somente se a solicitação de eco com o número de sequência correspondente for identificada). O gateway da camada de aplicativo (ALG) ICMP foi aprimorado para fornecer informações detalhadas de registro. Além disso, os ALGs de traceroute permitem que pacotes de sondagem UDP sejam processados com o número de porta de destino UDP maior que 33000 e o tempo de vida (TTL) do IP é inferior a 30 segundos. Os ALGs de traceroute permitem que pacotes de resposta ICMP para os quais o tipo ICMP é excedido no tempo sejam processados e suportam um valor limite de TTL de traceroute, que controla o nível aceitável de penetração de rede para roteamento de rastreamento.
Você pode configurar mensagens ICMP e ping com as application junos-icmp-allinstruções , application junos-icmp-pinge application icmp-code nos [edit services stateful-firewall rule rule-name term term-name from] níveis de hierarquia e [edit services nat rule rule-name term term-name from] para definir a condição de correspondência para o firewall stateful e as regras NAT. Até o Junos OS Release 14.1, uma restrição ou uma validação nos aplicativos que você poderia definir para mensagens ICMP não estava presente. MS-MICs e MS-MPCs funcionam da mesma maneira que o serviço uKernel, o que faz com que o tráfego de ping seja rastreado com estado usando os números de sequência ICMP (uma resposta de eco é encaminhada somente se a solicitação de eco com o número de sequência correspondente corresponder). Além disso, MS-MICs e MS-MPCs impõem um limite às solicitações de ping pendentes e descartam as solicitações de ping subsequentes quando o limite é atingido.
Da mesma forma, para mensagens traceroute, você pode configurar as application junos-traceroute instruções and application junos-traceroute-ttl-1 nos [edit services stateful-firewall rule rule-name term term-name from] níveis de hierarquia e para [edit services nat rule rule-name term term-name from] definir a condição de correspondência para mensagens traceroute para o firewall stateful e as regras NAT.
As mensagens traceroute e ICMP são suportadas para pacotes IPv4 e IPv6. Para que a funcionalidade traceroute funcione, você só precisa garantir que os aplicativos definidos pelo usuário estejam funcionando conforme o esperado com o período de tempo limite de inatividade e que os valores de limite de TTL estejam configurados para ser o mesmo período de tempo configurado usando a session-timeout seconds instrução no [edit services application-identification application application-name] nível de hierarquia. Durante o registro de mensagens ICMP, as informações ALG para os utilitários ping e ICMP são exibidas na saída dos comandos show relevantes, como show sessions e show conversations, da mesma maneira exibida para o registro do uKernel.
Tabela de histórico de alterações
A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.