Visão geral da ALG
Descrições da ALG
Este tópico descreve os gateways de camada de aplicativo (ALGs) apoiados pelo Junos OS. O suporte à ALG inclui o gerenciamento de pinholes e relações entre pais e filhos para as ALGs apoiadas.
- ALGs com suporte
- Detalhes de suporte da ALG
- Padrões da Juniper Networks
- Exemplos: Fazendo referência à declaração predefinida do Junos OS Default Group
ALGs com suporte
A Tabela 1 lista ALGs apoiadas pelo Junos OS. Para obter informações sobre quais ALGs têm suporte para MS-DPCs, MS-MPCs, MS-MICs, veja ALGs disponíveis para o Junos OS Address Aware NAT.
ALGs com suporte |
v4 - v4 |
v6 - v4 |
v6 - v6 |
DS-Lite (Suporte para ALGs com DS-lite no MS-MPC e MS-MIC começa no Junos OS Release 18.1R1) |
---|---|---|---|---|
TCP ALG básico |
Sim |
Sim |
Sim |
Sim |
ALG UPD básica |
Sim |
Sim |
Sim |
Sim |
BOOTP |
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 (começando no Junos OS Release 14.1R1) |
Não |
Sim |
Gatekeeper RAS |
Sim (começando no Junos OS Release 17.1R1) |
Sim (começando no Junos OS Release 17.2R1) |
Não |
Não |
H323 |
Sim |
Sim (começando no Junos OS Release 17.2R1) |
Não |
Não |
ICMP |
Sim |
Sim |
Sim |
Sim |
IKE ALG (Começando no 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 (começando no Junos OS Release 14.1R1) |
Não |
Sim |
REALAUDIO |
Sim |
Não |
Não |
Não |
Sun RPC e RPC Port Map Services |
Sim |
Não |
Não |
Não |
RTSP |
Sim |
Sim (começando no Junos OS Release 14.1R1) |
Não |
Sim |
GOLE |
Sim |
Sim (começando no Junos OS Release 14.1R1) |
Não |
O SIP oferece suporte 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 (começando no Junos OS Release 14.1R1) |
Não |
Sim |
Traceroute |
Sim |
Sim |
Não |
Sim |
Serviço 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 as ALGs. Ele inclui o seguinte:
- TCP ALG básico
- ALG UDP básica
- BOOTP
- Serviços DCE RPC
- DNS
- FTP
- Gatekeeper RAS
- H323
- ICMP
- IIOP
- IKE ALG
- IP
- NetBIOS
- NetShow
- Serviços ONC RPC
- PPTP
- RealAudio
- Sun RPC e RPC Portmap Services
- RTSP
- GOLE
- SNMP
- SQLNet
- TFTP
- Traceroute
- Serviços de shell remoto unix
- WinFrame
TCP ALG básico
Esta ALG realiza 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 de origem ou destino do TCP zero
Falha na verificação do comprimento do cabeçalho do TCP
Sequência de TCP número zero e nenhuma bandeira é definida
As bandeiras de sequência de TCP zero e FIN/PSH/RST são definidas
TCP FIN/RST ou SYN(URG|FIN|Bandeiras RST) estão definidas
O TCP ALG executa as seguintes etapas:
Quando o roteador recebe um pacote SYN, o ALG cria fluxos de encaminhamento e reversão do TCP e os agrupa em uma conversa. Ele rastreia o TCP de três vias de aperto de mão.
O mecanismo de defesa SYN rastreia o estado de estabelecimento de conexão TCP. Ele espera que a sessão de TCP seja estabelecida em um pequeno intervalo de tempo (atualmente 4 segundos). Se o TCP de três vias não for estabelecido nesse período, a sessão será terminada.
Um mecanismo keepalive detecta sessões de TCP com endpoints não responsivos.
Erros de ICMP só são permitidos quando um fluxo corresponde às informações do seletor especificadas nos dados do ICMP.
ALG UDP básica
Esta ALG realiza 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 do comprimento do cabeçalho do UDP
A ALG UDP executa as seguintes etapas:
Quando recebe o primeiro pacote, o ALG cria fluxos bidirecionais para aceitar o tráfego de sessão de UDP para frente e reverso.
Se a sessão estiver ociosa por mais do que o tempo ocioso máximo permitido (o padrão é de 30 segundos), os fluxos serão excluídos.
Erros de ICMP só são permitidos quando um fluxo corresponde às informações do seletor especificadas nos dados do ICMP.
BOOTP
O cliente do Bootstrap Protocol (BOOTP) recupera suas informações de rede de um servidor em toda a rede. Ele envia uma mensagem de transmissão geral para solicitar as informações, que são devolvidas pelo servidor BOOTP. Para obter a especificação do protocolo, veja ftp://ftp.isi.edu/in-notes/rfc951.txt
.
O suporte de firewall stateful exige que você configure o BOOTP ALG na porta do servidor UDP 67 e na porta do cliente 68. Se o cliente enviar uma mensagem de transmissão, você deve configurar o endereço de broadcast na from
declaração da regra do serviço. A tradução de endereços de rede (NAT) não é realizada no tráfego BOOTP, mesmo que a regra de NAT corresponda ao tráfego. Se o recurso de retransmissão BOOTP for ativado no roteador, assume-se que o servidor BOOTP remoto atribua endereços para clientes mascarados pela traduçã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. A ALG usa uma porta TCP 135 bem conhecida para serviços de mapeamento de portas, e usa o identificador único universal (UUID) em vez do número do programa para identificar protocolos. O DCE RPC baseado em aplicativos principal é o Microsoft Exchange Protocol.
O suporte a firewalls stateful e serviços NAT exige que você configure o DCE RPC portmap ALG na porta TCP 135. O DCE RPC ALG usa o protocolo TCP com UUIDs específicos para aplicativos.
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. A Série MX DNS ALG monitora os pacotes de consulta e resposta de DNS e oferece suporte ao tráfego DNS de UDP e TCP de forma independente. O DNS ALG não oferece suporte a tradução de carga para NAT, mas um operador pode usá-lo para remover de forma eficiente as sessões de DNS de firewall stateful ou NAT da memória após o servidor DNS enviar sua resposta. A DNS ALG fecha a sessão apenas quando uma resposta é recebida ou um tempo limite ocioso é alcançado.
Pode haver problemas com o tráfego de DNS TCP quando o TCP-DNS-ALG for usado se o tráfego de DNS não for apenas o tipo padrão de solicitação e resposta. Por exemplo, o TCP-DNS-ALG pode quebrar a comunicação de servidor para servidor de DNS que usa TCP, como replicação de DNS ou transferências de zona. Esse tipo de tráfego pode ser deixado de lado pelo NAT ou plug-ins de firewall stateful porque o TCP-DNS-ALG fecha a sessão depois que o TCP está completo 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 tem suporte 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 pelo canal de controle.
Para FTP de modo não passivo, o serviço de firewall stateful do Junos OS verifica os dados do aplicativo do cliente para servidor para o comando PORT, que fornece o endereço IP e o número de porta aos quais o servidor se conecta. Para FTP de modo passivo, o serviço de firewall stateful do Junos OS verifica os dados do aplicativo do cliente para servidor para o comando PASV e, em seguida, verifica as respostas de servidor para cliente para a resposta 227, que contém o endereço IP e o número de porta a que o cliente se conecta.
Há uma complicação adicional: o FTP representa esses endereços e números de porta no ASCII. Como resultado, quando os endereços e portas são reescritos, o número de sequência de TCP pode ser alterado e, a partir daí, o serviço NAT precisa manter esse delta em números SEQ e ACK realizando NAT sequência em todos os pacotes subsequentes.
O suporte a firewalls stateful e serviços NAT exige que você configure o FTP ALG na porta TCP 21 para habilitar o protocolo de controle FTP. A 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 em modos ativos e passivos
Reescreve os pacotes de controle com o endereço NAT apropriado e informações de porta
No MS-MPCs, MS-MICs, para que o FTP passivo funcione corretamente sem o gateway de camada de aplicativo FTP (ALG) habilitado (sem especificar a application junos-ftp
declaração nos [edit services stateful-firewall rule rule-name term term-name from]
níveis de hierarquia), [edit services nat rule rule-name term term-name from]
você deve habilitar a funcionalidade de agrupamento de endereços pareado (APP) habilitada (incluindo a address-pooling
declaração no [edit services nat rule rule-name term term-name then translated]
nível de hierarquia). Essa configuração faz com que os dados e controlem as sessões de FTP recebam o mesmo endereço NAT.
Gatekeeper RAS
A partir do Junos OS Release 17.1R1, o registro de gatekeeper, administração e status (RAS) ALG permite suporte total do modo gatekeeper para chamadas de H.323. Um endpoint se registra em um gatekeeper e pede sua gestão. Antes de fazer uma ligação, um endpoint pede ao gatekeeper permissão para fazer a chamada. Tanto nas fases de inscrição quanto de admissão, o canal RAS é usado. Use o gatekeeper RAS ALG e o H323 ALG nas regras de firewall stateful-firewall IPv4 e IPv6 ou 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 H323 ALG e o GATEkeeper RAS ALG.
H323
H323 é um conjunto de protocolos de ITU para aplicativos de áudio e videoconferência e colaboração. O H323 consiste em protocolos de sinalização de chamadas H.225 e protocolo de controle H.245 para comunicação de mídia. Durante a negociação do H.225, os endpoints criam uma chamada trocando mensagens de sinalização de chamadas 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 canais de mídia abertos.
O firewall stateful monitora o canal de controle H.225 para abrir o canal de controle H.245. Após a criação do canal H.245, o firewall stateful também monitora este 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, estático e dinâmico, reescrevendo os endereços e portas apropriados nas mensagens H.225 e H.245.
Para oferecer suporte ao modo gatekeeper para chamadas de H.323, use o H323 ALG e o gatekeeper RAS ALG em regras de firewall stateful-firewall IPv4 e IPv6 ou regras de 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 H323 ALG e o GATEkeeper RAS ALG.
ICMP
O Protocolo de Mensagem de Controle de Internet (ICMP) é definido em 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 do ICMP que não têm um tipo e código especificamente configurados são combinados com qualquer fluxo existente na direção oposta para verificar a legitimidade do pacote de erro. Os pacotes de erro do ICMP que passam pela correspondência do filtro estão sujeitos à tradução de NAT.
O ICMP ALG sempre rastreia o tráfego de ping com estado usando o número de sequência do ICMP. Cada resposta de eco é encaminhada apenas 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 pacotes PING é traduzido para permitir que hosts adicionais no grupo de NAT usem o mesmo identificador.
O suporte a firewalls stateful e serviços NAT exige que você configure o ICMP ALG se o protocolo for necessário. Você pode configurar o tipo e o código do ICMP para filtragem adicional.
IIOP
O oracle Application Server Name Server Internet Inter-ORB Protocol (IIOP). Esta ALG é usada na Common Object Request Broker Architecture (CORBA) com base na computação distribuída. Embora CORBA e IIOP sejam padrões do Object Management Group (OMG), nenhuma porta fixa é atribuída ao IIOP. Cada fornecedor que implementa a CORBA escolhe uma porta. A máquina Java Virtual usa a porta 1975 por padrão, enquanto a ORBIX usa a porta 3075 como padrão.
Firewall stateful e NAT exigem que o ALG IIOP seja configurado para a porta TCP 1975 para Java VM IIOP e 3075 para aplicativos CORBA ORBIX, uma estrutura CORBA da Iona Technologies.
IKE ALG
Antes do lançamento do Junos OS 17.4R1, o Network Address Translation-Traversal (NAT-T) não é compatível com o pacote Junos VPN Site Secure de recursos IPsec 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 através das regras NAPT-44 e NAT64 entre pares IPsec que não estão em conformidade com o NAT-T. Essa ALG oferece suporte apenas ao modo de túnel ESP.
Use esta ALG nas regras de NAT e especifique o protocolo UDP e a porta 500.
Esta ALG executa o seguinte:
Rastreia as solicitações de iniciação de conexão IKEv1 para determinar se o processamento de NAT é necessário.
Executa a tradução de NAT em solicitações IKEv1 de saída e entrada e cria sessões de IKE.
Identifica pacotes IPsec relacionados à sessão IKE estabelecida e estabelece associação de segurança entre pares.
Executa a tradução de NAT em pacotes IPsec.
IP
O IP ALG é usado apenas para criar fluxos unidirecionais. No caso do tráfego de TCP, ele não verifica o processo de desvio de tráfego de três vias. Essa ALG é útil no caso de conjuntos de serviços somente de firewall stateful, onde permite que o tráfego flua unidirecionalmente apenas. Ao configurar em conjunto com match-direction input-output
ele, o tráfego de retorno também permite que o tráfego de retorno flua pelo firewall stateful. Cenários típicos são NAT estático, NAT de destino ou cenários em que se espera que o tráfego passe pelo firewall stateful na presença de roteamento assimétrico. O Junos IP ALG não se destina a ser usado com NAPT, o que faz com que o tráfego correspondente seja descartado através da criação de um fluxo de quedas.
NetBIOS
Um NETBIOS ALG traduz os endereços IP netbios e os números de porta quando o NAT é usado.
O NetBIOS oferece suporte aos protocolos de transporte de TCP e UDP. O suporte a firewalls stateful e serviços NAT exige que você configure o NETBIOS ALG na porta UDP 138 e na porta TCP 139.
NetShow
O ms-streaming de protocolo 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. O servidor então inicia o UDP nessa porta para o cliente. O suporte a firewalls stateful e serviços NAT exige que você configure o NETShow ALG na porta UDP 1755.
Serviços ONC RPC
Os serviços de RPC de computação em redes abertas (ONC) funcionam de maneira semelhante aos serviços de DCE QUEN. No entanto, o ONC RPC ALG usa a porta TCP/UDP 111 para serviços de mapeamento de portas, e usa o número do programa para identificar protocolos em vez da UUID.
O suporte para firewalls stateful e serviços NAT exige que você configure o ALG de porta onC RPC na porta TCP 111. O ONC RPC ALG usa o protocolo TCP com números de programa específicos para aplicativos.
PPTP
O ALG do protocolo de tunelamento ponto a ponto (PPTP) é um ALG baseado em TCP. O PPTP permite que o protocolo de ponto a ponto (PPP) seja tunelado por 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 de PPP e funciona 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.
RealAudio
O protocolo PNA da Real Networks RealVideo não é um serviço separado. Ele faz parte do RealPlayer e provavelmente usa outro canal para vídeo. As versões RealPlayer G2, 7 e 8 usam PNA e RTSP. Para que essa versão funcione, a ALG deve permitir tanto PNA(7070) quanto RTSP(554). Para a mídia, o servidor seleciona entre diversas portas UDP (6970 a 7170) ou na porta TCP 7071, ou HTTP. O cliente pode ser configurado para usar uma determinada porta. As versões RealPlayer 4.0 e 5.0 usam portas UDP de canal de controle 7070 de mídia 6970 a 7170, ou porta TCP 7071, ou HTTP. A versão 3.0 do jogador do RealAudio usa o canal de controle 7070 media, as portas UDP 6770-7170 ou a porta TCP 7071.
Os produtos reais usam as portas e intervalos de portas mostrados na Tabela 2.
Produto real |
Uso de portas |
---|---|
Servidores/jogadores 4.0 e 5.0 |
Canal de controle (bidirecional) na porta TCP 7070. Canal de dados do servidor ao player na porta TCP 7070 ou porta UDP 6970-7170. |
4.0 e 5.0 Servidores/Codificadores |
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 ao player na porta TCP 80, 554, 7070, 8080 ou porta UDP 6970-32.000. |
Servidor G2/3.1 e 5.x Encoders |
Canal de controle (bidirecional) na porta TCP 7070. Canal de dados do codificador ao servidor na porta TCP 7070. |
Produtor de G2 Server/G2 |
Canal de controle (bidirecional) na porta TCP 4040. Canal de dados do codificador ao servidor na porta TCP 4040 e na porta UDP 6970-32.000. |
2 Servidor/Produtor de G2 (SOMENTE TCP) |
Canal de controle (bidirecional) na porta TCP 4040 Canal de dados do codificador ao servidor na porta TCP 4040. Nota: Opção TCP-ONLY disponível na versão 6.1 ou superior. |
RealAudio foi o protocolo original dos RealPlayers. Versões mais novas do RealPlayer usam RTSP. Firewall stateful e NAT exigem que a ALG RealAudio seja programada na porta TCP 7070.
Sun RPC e RPC Portmap Services
A ALG de chamada de procedimento remoto (RPC) usa portas bem conhecidas TCP 111 e UDP 111 para mapeamento de portas, que atribui e abre portas dinamicamente para serviços RPC. O RPC Portmap ALG mantém o controle das solicitações de porta e abre dinamicamente o firewall para essas portas solicitadas. O RPC ALG pode restringir ainda mais o protocolo RPC especificando os números permitidos do programa.
A ALG inclui os serviços de RPC listados na Tabela 3.
Nome |
Descrição |
Comentários |
---|---|---|
|
Daemon de montagem do servidor de arquivos de rede (NFS); para obter mais informações, veja a página do homem do UNIX para |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). |
|
Usado como parte da NFS. Para obter mais informações, veja RFC 1094. Veja também RFC1813 para NFS v3. |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver 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 com o NIS antigo. Nenhuma informação de protocolo está disponível. |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). |
|
Gerente de bloqueio de rede. |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
|
Servidor de estatísticas do Kernel. Para obter mais informações, veja as páginas masculinas do UNIX e |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Assim que a tabela do programa RPC for construída, |
|
Costumava escrever uma mensagem aos usuários; para obter mais informações, veja a página do homem do UNIX para |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
|
Processo de vinculação do NIS. Para obter mais informações, veja a página do homem do UNIX para |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
|
Servidor de senha NIS. Para obter mais informações, veja a página do homem do UNIX para |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
|
Servidor NIS. Para obter mais informações, veja a página do homem do UNIX para |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
|
Ferramenta de atualização de rede. |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
|
Servidor de transferência de mapas DO NIS. Para obter mais informações, veja a página do homem do UNIX para |
O suporte base é rPC v2 e o serviço mapper de porta na porta 111 (ver RFC 1050). Após a tabela do programa RPC ser construída, |
O suporte para serviços de firewall stateful e NAT que usam mapeamento de portas exige que você configure o ALG de portamap RPC na porta de destino TCP/UDP 111 e o RPC ALG para TCP e UDP. Você pode especificar um ou mais valores para restringir ainda mais rpc-program-number
os protocolos RPC permitidos.
RTSP
O protocolo de streaming em tempo real (RTSP) controla a entrega de dados com propriedades em tempo real, como áudio e vídeo. Os fluxos controlados pelo RTSP podem usar RTP, mas não são necessários. A mídia pode ser transmitida no mesmo fluxo de controle RTSP. Este é um protocolo baseado em texto semelhante a HTTP, mas cliente e servidor mantêm informações de sessão. Uma sessão é estabelecida usando a mensagem SETUP e terminada 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 à configuração.
O suporte a firewalls stateful e serviços NAT exige que você configure o RTSP ALG para a porta TCP 554.
A ALG monitora a conexão de controle, abre fluxos dinamicamente para fluxos de mídia (RTP/RTSP) e executa reescritas de endereço e porta NAT.
GOLE
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 os pinholes nos caminhos de sinalização e mídia. A ALG só permite pacotes com as permissões corretas. O SIP ALG também executa as seguintes funções:
Gerencia relacionamentos de sessão entre pais e filhos.
Aplica políticas de segurança.
Gerencia os pinholes para tráfego VoIP.
O SIP ALG oferece suporte aos seguintes recursos:
Firewall stateful
NAT de origem estática
NAT de fonte de endereço dinâmico
Tradução de porta de endereço de rede (NAPT)
As sessões de 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 de SIP no MS-DPC não têm limite de tempo.
SNMP
SNMP é um protocolo de comunicação para o gerenciamento de redes TCP/IP, incluindo dispositivos de rede individuais e dispositivos agregados. O protocolo é definido pela RFC 1157. O SNMP funciona em cima do UDP.
O serviço de firewall stateful Junos OS implementa o SNMP ALG para inspecionar o tipo SNMP. O SNMP não aplica o fluxo stateful. Cada tipo de SNMP precisa ser especificamente habilitado. O suporte SNMP completo de serviços de firewall stateful exige que você configure o SNMP ALG na porta UDP 161. Isso permite o SNMP get
e get-next
os comandos, bem como o tráfego de resposta na direção inversa: a porta UDP 161 permite o comando SNMP get-response
. Se as armadilhas SNMP forem permitidas, você pode configurá-las na porta UDP 162, habilitando o comando SNMP trap
.
SQLNet
O protocolo SQLNet é usado por servidores Oracle SQL para executar comandos SQL dos clientes, incluindo balanceamento de carga e serviços específicos para aplicativos.
O suporte a firewalls stateful e serviços NAT exige que você configure o SQLNet ALG para a porta TCP 1521.
A ALG monitora os pacotes de controle, abre fluxos dinamicamente para o tráfego de dados e realiza reescritas de endereço NAT e porta.
TFTP
O protocolo de transferência de arquivos trivial (TFTP) é especificado em RFC 1350. As solicitações iniciais de TFTP são enviadas à porta de destino UDP 69. Fluxos adicionais podem ser criados para obter ou colocar arquivos individuais. O suporte a firewalls stateful e serviços NAT exige que você configure o TFTP ALG para a porta de destino UDP 69.
Traceroute
Traceroute é uma ferramenta para exibir a rota que os pacotes levam para um host de rede. Ele usa o campo tempo-a-vivo (TTL) de IP para acionar mensagens excededas pelo tempo do ICMP de roteadores ou gateways. Ele envia datagramas de UDP para portas de destino que se acredita não estarem em uso; as portas de destino estão numeradas usando a fórmula: + nsaltos – 1. A porta base padrão é 33434. Para oferecer suporte ao traceroute por meio do firewall, dois tipos de tráfego devem ser repassados:
Pacotes de sondagem UDP (porta de destino UDP > 33000, IP TTL < 30)
Pacotes de resposta ao ICMP (exceder o tempo do tipo ICMP)
Quando o NAT é aplicado, o endereço IP e a porta dentro do pacote de erro do ICMP também devem ser alterados.
O suporte a firewalls stateful e serviços NAT exige que você configure o Traceroute ALG para a porta de destino UDP 33434 a 33450. Além disso, você pode configurar o limiar de TTL para evitar ataques de inundação de UDP com grandes valores de TTL.
Serviços de shell remoto unix
Três protocolos formam a base para serviços de shell remoto do UNIX:
Executivo — execução de comando remoto; permite que um usuário no sistema cliente execute um comando no sistema remoto. O primeiro comando do cliente (
rcmd
) ao servidor (rshd
) usa a bem conhecida porta TCP 512. Uma segunda conexão TCP pode ser aberta a pedido dercmd
. O número de porta do cliente para a segunda conexão é enviado ao servidor como uma string ASCII.O login — mais conhecido como
rlogin
; usa a bem conhecida porta TCP 513. Para obter mais informações, veja RFC 1282. Não é necessário processamento especial de firewall.Shell — execução de comando remoto; permite que um usuário no sistema cliente execute um comando no sistema remoto. O primeiro comando do cliente (
rcmd
) ao servidor (rshd
) usa a bem conhecida porta TCP 514. Uma segunda conexão TCP pode ser aberta a pedido dercmd
. O número de porta do cliente para a segunda conexão é enviado ao servidor como uma string ASCII.
O suporte a serviços de firewall stateful exige que você configure o ALG executivo na porta TCP 512, o ALG de login na porta TCP 513 e o Shell ALG na porta TCP 514. Os serviços de shell remoto de NAT exigem que qualquer porta de origem dinâmica atribuída esteja dentro da faixa de porta de 512 a 1023. Se você configurar um pool de NAT, essa faixa de porta será reservada exclusivamente para aplicativos shell remotos.
WinFrame
O software de servidor de aplicativo WinFrame oferece acesso a praticamente qualquer aplicativo Windows, em qualquer tipo de conexão de rede a qualquer tipo de cliente.
Esse protocolo é usado principalmente por aplicativos Citrix Windows.
Firewall stateful e NAT exigem que o ALG Winframe seja configurado na porta de destino TCP 1494 e na porta UDP 1604.
Padrões da Juniper Networks
O Junos OS fornece um grupo de configuração oculto e padrão chamado junos-defaults
que é aplicado automaticamente à configuração do seu roteador. O junos-defaults
grupo contém declarações pré-configuradas que contêm valores predefinidos para aplicativos comuns. Algumas das declarações devem ser mencionadas para fazer efeito, como aplicativos como FTP ou Telnet. Outras declarações são aplicadas automaticamente, como configurações de terminal. Todas as declaraçõ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 deletá-los ou editá-los. Se você excluir uma configuração, os padrões retornam quando uma nova configuração é adicionada.
Você não pode usar a apply-groups
declaração com o grupo padrão do Junos OS.
Para ver o conjunto completo de declarações predefinidas disponíveis do grupo padrão do Junos OS, emita o comando do show groups junos-defaults
modo de configuração. 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 declarações de referência disponíveis do junos-defaults
grupo, inclua a declaração selecionada junos-default-name
no nível de hierarquia aplicável. Para configurar protocolos de aplicativos, veja Configuração de propriedades de aplicativos; para obter detalhes sobre um protocolo específico, veja descrições da ALG.
Exemplos: Fazendo referência à declaração predefinida do Junos OS Default Group
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 declaração padrão predefinida do Junos OS dos grupos padrão 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 padrão do Junos OS para FTP em um firewall stateful, inclua a junos-ftp
declaração no nível de [edit services stateful-firewall rule rule-name term term-name from applications]
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 é compatível com qualquer tráfego IP, mas quando qualquer outro aplicativo mais específico corresponde ao mesmo tráfego, o IP ALG não é compatível. Por exemplo, na configuração a seguir, tanto o ICMP ALG quanto o IP ALG estão configurados, mas o tráfego é compatível com 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
ALGs de ICMP, ping e traceroute para MS-MICs e MS-MPCs
A partir do Junos OS Release 14.2, os pacotes de provedores de extensão Junos OS pré-instalados e pré-configurados no MS-MIC e ms-MPC oferecem suporte para algs de ping, traceroute e ICMP de maneira consistente que é idêntica ao suporte que o serviço uKernel oferece. A paridade e a uniformidade do suporte estão estabelecidas para essas ALGs entre MS-MICs/MS-MPCs e o serviço uKernel. Até o Junos OS Release 14.1, ICMP ALGs, ping ALGs e ALGs 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 tradução de endereços de rede (NAT) com firewall stateful (SFW) no uKernel PIC. O suporte estava disponível para o manuseio de pacotes de resposta a erros do ICMP que correspondem a qualquer fluxo existente na direção oposta e processamento de NAT de pacotes ICMP com processamento nat de pacotes de ping.
Em roteadores da Série MX com MS-MICs e MS-MPCs, o rastreamento de estados de tráfego de ping totalmente usando os números de sequência do ICMP (por exemplo, encaminhando uma resposta de eco apenas se a solicitação de eco com o número de sequência correspondente for identificada) é suportada. O gateway de camada de aplicativo (ALG) ICMP é 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 portas de destino UDP superiores a 33000 e o tempo de vida útil (TTL) de IP é inferior a 30 segundos. Os ALGs de traceroute permitem pacotes de resposta ao ICMP para os quais o tipo de ICMP é ultrapassado e suportam um valor limiar de TTL traceroute, que controla o nível aceitável de penetração de rede para roteamento de vestígios.
Você pode configurar mensagens de ICMP e ping com o application junos-icmp-all
, application junos-icmp-ping
e application icmp-code
declarações nos níveis de [edit services stateful-firewall rule rule-name term term-name from]
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 de NAT. Até a versão 14.1 do Junos OS, não estava presente uma restrição ou uma validação sobre os aplicativos que você poderia definir para mensagens de ICMP. 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 do ICMP (uma resposta de eco é encaminhada apenas 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 derrubam as solicitações de ping subsequentes quando o limite é atingido.
Da mesma forma, para mensagens de traceroute, você pode configurar as declarações e application junos-traceroute-ttl-1
as application junos-traceroute
[edit services stateful-firewall rule rule-name term term-name from]
declarações nos níveis de hierarquia e [edit services nat rule rule-name term term-name from]
definir a condição de correspondência para mensagens de traceroute para o firewall stateful e as regras DE NAT.
As mensagens traceroute e ICMP são suportadas para pacotes IPv4 e IPv6. Para que a funcionalidade de traceroute funcione, você só precisa garantir que os aplicativos definidos pelo usuário estejam funcionando como esperado com o período de inatividade e os valores limiares de TTL estejam configurados para ser o mesmo período de tempo configurado usando a session-timeout seconds
declaração no [edit services application-identification application application-name]
nível hierárquica. Durante o registro de mensagens de ICMP, as informações alg para serviços de ping e ICMP são exibidas na saída dos comandos de exibição relevantes, como show sessions
e show conversations
, da mesma forma que exibidas para registro em uKernel.
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.