The Cable GuyModelos de host fortes e fracos

Joseph Davies

São cada vez mais comuns as configurações dos hosts de rede serem em hospedagem múltipla, com diversas interfaces. Um host de hospedagem múltipla fornece uma conectividade ampliada porque pode se conectar simultaneamente a várias redes, como uma intranet ou a Internet. Entretanto, como podem se conectar a intranets e à

Internet, os serviços que rodam em hosts de hospedagem múltipla são vulneráveis a ataques. Para ajudar a prevenir ataques e ter uma idéia de como o tráfego de IP se processa em um host de hospedagem múltipla, vamos dar uma olhada em modelos de hosts fortes e fracos, para hospedagem múltipla, e depois descreverei como esses modelos são suportados pelo Windows®.

A especificação RFC 1122 descreve os dois modelos para um host de hospedagem múltipla que não esteja atuando como roteador e está apenas enviando e recebendo tráfego de IP unicast. Esses modelos, conhecidos como hosts fortes ou fracos, especificam se o tráfego unicast enviado ou recebido deve ser associado com a interface de rede na qual o tráfego viaja. Esses modelos determinam como um host envia e recebe pacotes e influi na vulnerabilidade dos serviços executados no host.

Embora o RFC 1122 defina esses modelos para o IPv4, eles também se aplicam ao IPv6. Um exemplo de host de hospedagem múltipla para IPv6 é um computador que usa tanto o IPv4 quanto o IPv6 e que tenha um adaptador de rede conectado a uma intranet e a uma interface de encapsulamento IPv6.

Modelo de Host Fraco

No modelo de host fraco, um host de IP (tanto o IPv4 quanto o IPv6) pode enviar pacotes em uma interface que não tenha atribuído o endereço de origem do IP do pacote que está sendo enviado. Isso é conhecido como comportamento de envio de host fraco. Um host de IP pode receber pacotes em uma interface que não tem atribuído o endereço de IP de destino para o pacote que está sendo recebido. Isso é conhecido como comportamento de recebimento de host fraco.

Quando você tem um host de IP de hospedagem múltipla com várias interfaces, habilitar o comportamento de recebimento de host fraco em interfaces pode algumas vezes tornar o host vulnerável a ataques de hospedagem múltipla. Por exemplo, a Figura 1 exibe o Host A conectado à Internet e à intranet. O Host A tem o endereço público IPv4 131.107.89.211 atribuído à interface de Internet e o endereço privado IPv4 192.168.17.48 atribuído à interface de intranet.

Figura 1 Exemplo de um computador de hospedagem múltipla

Figura 1** Exemplo de um computador de hospedagem múltipla **

Com o comportamento para envio de host fraco habilitado nas interfaces de Internet e intranet, o Host A pode enviar pacotes do 131.107.89.211 e do 192.168.17.48 em sua interface de Internet; do 131.107.89.211 e do 192.168.17.48 em sua interface de intranet.

Com o comportamento de recebimento de host fraco habilitado, o Host A pode receber os seguintes tipos de pacotes (considerando que as regras do firewall do host permitem esse tráfego): pacotes para o 131.107.89.211 em sua interface de Internet, pacotes para o 192.168.17.48 em sua interface de Internet, pacotes para o 131.107.89.211 em sua interface de intranet e pacotes para o 192.168.17.48 também em sua interface de intranet.

Quando você tem um comportamento de recebimento de host fraco habilitado, um usuário de Internet mal-intencionado pode enviar pacotes para a interface de Internet do Host A para atacar serviços executados nesse host e que estão disponíveis apenas para hosts na intranet. Esse tipo de ataque pode acontecer se a infra-estrutura de Internet encaminhar para a interface do Host A de pacotes destinados ao 192.168.17.48. Você pode prevenir esse tipo de ataque configurando as regras apropriadas do firewall na interface de Internet do Host A. Entretanto, mesmo que você faça isso, os serviços que estão rodando no Host A e estão disponíveis para os clientes da intranet podem estar sob risco.

Modelo de Host Forte

No modelo de host forte, os comportamentos de envio e recebimento são diferentes. Com envios do host forte, podem ser enviados apenas pacotes em uma interface se a essa interface estiverem atribuídos os endereços de IP que estão sendo enviados. Com os recebimentos de hosts fortes, é possível receber pacotes em uma interface apenas se a essa interface estiverem atribuídos os endereços de IP do pacote que está sendo recebido.

Com o comportamento de envio do host forte habilitado nas interfaces de Internet e intranet, o Host A, na Figura 1, pode enviar pacotes somente a partir do 131.107.89.211 em sua interface de Internet, e pacotes a partir do 192.168.17.48 em sua interface de intranet.

Com o comportamento de recebimento do host forte habilitado, o Host A recebe pacotes somente de 131.107.89.211 em sua interface de Internet e pacotes de 192.168.17.48 em sua interface de intranet.

Na Figura 1, o modelo de host forte para o Host A solta na interface de Internet todos os pacotes de entrada endereçados para 192.168.17.48 sem a necessidade de configurar regras de firewall, isolando efetivamente da Internet a interface de intranet do Host A.

Quando você escolher o modelo de host forte, lembre-se de que ele pode influir em alguns tipos de conectividade desenvolvidos para o comportamento do host fraco. Por exemplo, algumas implementações de balanceamento de carga podem usar comportamento de host fraco para receber pacotes em qualquer interface e depois roteá-los para a interface apropriada internamente. Também pode sofrer influência um host que usa envio de host fraco para enviar tráfego de qualquer endereço de origem em uma interface correspondente a uma conexão rápida.

Envio de Recebimento de Host Forte

Agora vamos ver como se processa o envio e o recebimento em um host genérico tanto para IPv4 quanto para IPv6, quando você permite que envios e recebimentos do host sejam habilitados pela interface.

Para os pacotes enviados, o IP checa primeiro se um endereço de origem já foi especificado. Se não foi, o IP realiza uma pesquisa ampla pelo endereço de destino do pacote em uma tabela de roteamento. Em uma pesquisa abrangente, todas as rotas da tabela do roteador são consideradas. Baseado na rota de destino selecionada, o IP determina a interface do próximo salto (a interface usada para posicionar o pacote na camada de link) e o endereço do próximo salto. Baseado na interface de próximo salto, o IP usa o processo de seleção de endereço definido em RFC 3484, conforme necessário, para determinar o melhor endereço de origem. A esta altura, o IP possui tudo de que precisa para enviar o pacote: os endereços de origem e de destino, a interface de próximo salto e o endereço de próximo salto.

Se o endereço de origem foi especificado, a interface da origem é conhecida. A interface de origem é atribuída ao endereço de origem. O IP então determina se os envios do host forte serão habilitados na interface de origem.

Se forem desabilitados, o IP realiza uma pesquisa ampla dos endereços de destino dos pacotes na tabela de roteamento. Baseado na rota que melhor corresponda ao destino, o IP determina a interface de próximo salto e o endereço de próximo salto. O IP possui os endereços de origem e de destino, a interface de próximo salto e o endereço de próximo salto. Observe que, com o comportamento de envio do host forte desabilitado na interface de origem, a interface de próximo salto pode não ser a mesma da interface de origem.

Se os envios de host forte estiverem habilitados na interface de origem, o IP realiza uma pesquisa restrita dos endereços de destino do pacote na tabela de roteamento. Em uma pesquisa restrita, serão consideradas apenas as rotas com uma interface de próximo salto da interface de origem. Baseado na rota selecionada para o destino, o IP determina o endereço de próximo salto. O IP possui os endereços de origem e de destino, a interface de próximo salto e o endereço de próximo salto. Observe que, com o comportamento de envio do host forte habilitado na interface de origem, a interface de próximo salto é sempre a mesma interface de origem. A Figura 2 mostra o IP genérico enviando o processo de host.

Figura 2 IP Genérico enviando o processo de host

Figura 2** IP Genérico enviando o processo de host **(Clique na imagem para aumentar a exibição)

Quando o endereço de origem tiver sido especificado, a pesquisa restrita de rota pode selecionar um caminho com a métrica maior, entre vários caminhos na tabela de roteamento que correspondam mais exatamente ao destino. Por exemplo, o Host A na Figura 1 possui duas rotas padrão: uma aponta para a Internet com a métrica 10 e a outra aponta para a intranet com a métrica 20. O comportamento de host forte é habilitado em ambas as interfaces da LAN.

Se o aplicativo de envio no Host A não especifica um endereço de origem, o resultado da pesquisa de rota é a rota padrão com a métrica mais baixa; o Host A sempre envia o tráfego da interface de Internet com o endereço de origem 131.107.89.211. Entretanto, se o aplicativo de envio no Host A especifica um endereço de origem 131.107.89.211, o resultado da pesquisa é a rota padrão para a interface de Internet; o Host A envia o tráfego da interface de Internet. Se o aplicativo de envio no Host A especifica um endereço de origem de 192.168.17.48, a pesquisa seleciona a rota padrão para a interface de intranet; o Host A envia o tráfego da interface de intranet. Com a pesquisa restrita de rota, o IP envia o tráfego com um endereço de origem de 192.168.17.48 usando a rota padrão com a métrica mais alta.

Para o tráfego de recebimento, o IP primeiro determina se o tráfego é destinado para o host. Se não for, o IP silenciosamente descarta o pacote porque o host não está atuando como um roteador. O IP então determina se os recebimentos de host fracos são habilitados na interface de entrada (a interface na qual o pacote foi recebido). Se estiverem desabilitados, o IP processa o pacote. Se estiver habilitado, o IP então determina se o endereço de destino no pacote está atribuído à interface de entrada. Se estiver, o IP processa o pacote. Se não, o IP descarta o pacote silenciosamente. A Figura 3 mostra o IP genérico recebendo o processo de host.

Figura 3 Recebendo o processo de host

Figura 3** Recebendo o processo de host **

O Comportamento de Host Fraco e Forte no Windows

O Windows XP e o Windows Server® 2003 utilizam o modelo de host fraco para envio e recebimento de todas as interfaces IPv4 e o modelo de host forte para envio e recebimento de todas as interfaces IPv6. Você não pode configurar esse comportamento. A pilha Próxima Geração TCP/IP no Windows Vista e no Windows Server 2008 suporta envios e recebimentos de host forte tanto para IPv4 quanto para IPv6 em todas as interfaces por padrão, exceto para uma interface de encapsulamento Teredo para uma retransmissão específica de host Teredo. A Figura 4 lista os comandos que você pode utilizar para configurar o comportamento de envio e recebimento tanto para IPv4 quanto para IPv6 em uma interface. Observe que o InterfaceNameOrIndex é o nome da interface da pasta Conexões de Rede ou o índice desta interface. Você pode obter o índice de interface na exibição do comando:

Figure 4 Comandos para configurar comportamentos de envio e recebimento fortes e fracos

• netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
• netsh interface ipv4 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
• netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostsend=enabled|disabled
• netsh interface ipv6 set interface [InterfaceNameOrIndex] weakhostreceive=enabled|disabled
 
netsh interface ipv6 show interface

O Comportamento de Host Fraco e Forte e o RFC 3484

Para fornecer um método padronizado para escolher endereços IPv6 e IPv4 de origem e destino para tentar conexões, a RFC 3484 define dois algoritmos. O primeiro é um algoritmo de seleção de endereço de origem para escolher o melhor endereço de origem a ser usado com um endereço de destino. O outro é algoritmo de seleção de endereço de destino para classificar a lista de possíveis endereços de destino por ordem de preferência.

Comportamentos de hosts fortes e fracos são usados ao se determinar a lista de candidatos de endereços de origem para um determinado endereço de destino, e isso também afeta a classificação final da lista de endereços de destino. Para comportamento de envio de host forte, a lista de endereços de origem candidatos consiste nos endereços unicast atribuídos à interface de envio para o destino. Para comportamento de envio de host fraco, a lista de candidatos pode incluir endereços atribuídos a qualquer interface que tiver habilitado o envio de host fraco. Para mais informações sobre seleção de endereços de origem e destino, visite microsoft.com/technet/community/columns/cableguy/cg0206.mspx.

Por padronização, tanto o envio quanto o recebimento de host fraco estão desabilitados para o IPv4 e o IPv6 para todas as interfaces, exceto a interface de encapsulamento para uma retransmissão específica de host Teredo.

Para mais informações sobre RFC 3484, veja a barra lateral "Comportamento de Host Fraco e Forte e RFC 3484."

Desabilitar Rotas Padrão para Conexões Remotas de Acesso a VPN

Um acesso remoto a cliente da rede virtual privada (VPN) é outro exemplo de host de hospedagem múltipla. Mesmo que haja uma interface única de LAN conectada à Internet, quando um cliente VPN de acesso remoto completa uma conexão VPN, trata-se de hospedagem múltipla. Ele tem duas interfaces: a interface de LAN e uma interface baseada no Protocolo Ponto-a-Ponto para a conexão VPN. Ela também possui dois endereços IPv4: um endereço IPv4 atribuído a um provedor de acesso à Internet para a interface de LAN e um endereço atribuído ao servidor VPN para a interface ponto-a-ponto.

Para garantir que o cliente VPN envie tráfego de rota padrão para a intranet pela conexão VPN, o Windows XP e o Windows Server 2003 modificam a tabela de roteamento aumentando a métrica da rota padrão existente e adicionando uma nova rota padrão com uma métrica menor que usa interface ponto-a-ponto. Esse comportamento padrão torna as localidades da intranet alcançáveis e quase todas as locações na Internet inalcançáveis para a duração da conexão VPN. É possível configurar um cliente VPN para dividir o encapsulamento e obter acesso simultâneo a localidades tanto da Internet quanto da intranet, basta não adicionar a rota padrão para a conexão VPN e adicionar rotas específicas para destinos da intranet. Entretanto, é um risco que a divisão de encapsulamento de clientes VPN possa rotear pacotes entre a Internet e a intranet. Para mais informações, visite microsoft.com/technet/community/columns/cableguy/cg1003.mspx.

O comportamento padrão de cliente VPN no Windows XP e no Windows Server foi desenvolvido para comportamento de envio de host fraco. A pesquisa de rota sempre utiliza a rota padrão para a conexão VPN porque possui a métrica mais baixa. Entretanto, quando você utiliza o comportamento de envio de host forte, a rota padrão usada para enviar tráfego depende do endereço de IP de origem no pacote. A pesquisa de rota para o tráfego do endereço IPv4 atribuído pelo ISP (provedor de acesso à internet) utilizará a rota da interface de LAN, tornando alcançáveis todas as localidades de Internet. A pesquisa de rota para o tráfego do endereço IPv4 atribuído pelo servidor VPN utilizará a rota padrão que utiliza a interface ponto-a-ponto, tornando alcançáveis todas as localidades de intranet. Entretanto, quando você utiliza o comportamento de envio de host forte, o cliente de VPN obtém uma configuração de encapsulamento dividida e acesso simultâneo tanto para a Internet quanto para a intranet, até mesmo para aplicativos sem privilégio de administrador para modificar diretamente a tabela de roteamento IPv4.

Para prevenir que o comportamento de envio de host forte crie, por padrão, uma configuração de encapsulamento dividida, o cliente de VPN no Windows Vista® e no Windows Server 2008 desabilita automaticamente as rotas padrão para interfaces de LAN quando a conexão VPN se completa. Esse comportamento garante que exista apenas uma rota padrão ativa na tabela de roteamento que utilize a interface ponto-a-ponto. Esse comportamento também garante que aplicativos sem privilégios de administrador não dividam o encapsulamento.

Por causa do fato de que o tráfego do computador-cliente da VPN deve ter origem no endereço IPv4 atribuído pelo servidor da VPN, esse comportamento fornece melhor isolamento da intranet em relação à Internet. Quando a conexão VPN terminar, as rotas padrão são novamente habilitadas.

Você pode controlar esse comportamento com o comando:

netsh interface ipv4 set interface [InterfaceNameOrIndex]
ignoredefaultroutes=enabled|disabled

Joseph Davies é redator técnico da Microsoft, ensina e escreve sobre assuntos relacionados a sistemas de rede do Windows desde 1992. Ele tem cinco livros publicados pela Microsoft Press e é autor da coluna online mensal da TechNet, The Cable Guy.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..