Segurança

Explorando o Firewall do Windows

Steve Riley

 

Visão geral:

  • Proteção de entrada X proteção de saída
  • A Plataforma de Filtragem do Windows
  • A interface de Segurança Avançada
  • Perfis de rede

Nos idos da era paleocomputacional, ninguém jamais pensou em instalar firewalls em computadores individuais. E quem precisava? Praticamente ninguém tinha ouvido falar da Internet, não havia TCP/IP à vista e os protocolos de LAN não iam além do prédio ou do campus. Os dados importantes permaneciam

no mainframe ou os servidores de arquivos – as informações que as pessoas mantinham em seus computadores desktop dificilmente eram de missão crítica, e o próprio peso do computador assegurava um certo nível de segurança física. Se havia uma conexão com a Internet disponível, era bem provável que houvesse alguns conversores de protocolo no caminho e um roteador de filtragem de pacotes (quero dizer, "firewall") na borda, possivelmente configurado com muitas regras e exceções.

Os ambientes computacionais modernos são totalmente diferentes dos oriundos dos velhos tempos. Tudo está conectado à Internet (compatível com TCP/IP agora), e os dispositivos portáteis agora são o padrão. É possível que o seu empregador tenha lhe dado um laptop não porque ele se preocupa com você, mas porque ele está preocupado em conseguir mais de você – eles esperam que você trabalhe sempre que tiver cinco minutos sobrando e uma conexão Wi-Fi. Os laptops podem custar mais do que os desktops, mas esse investimento é certamente recuperado em produtividade. Veja, é a portabilidade que os torna tão atraente – para você e para os seus adversários.

Pense nisso: do tempo total em que o seu laptop permanece ligado e conectado a alguma rede, qual é a porcentagem de conexão com a sua rede corporativa? Se você for como eu, talvez 20 por cento, no máximo. Isso significa que em apenas 20 por cento do tempo o meu laptop está seguro dentro dos limites da rede corporativa da Microsoft, protegido pelas defesas no perímetro da rede contra ataques externos. Mas e os 80 por cento do tempo em que o meu laptop está, para todos os fins práticos, conectado diretamente à Internet? (E eu costumo estar conectado com freqüência às redes mais perigosas do mundo: a LAN do hotel durante uma conferência sobre segurança de computadores!) E naqueles momentos em que eu estou conectado à rede corporativa, e as ameaças oferecidas aos demais computadores dentro desse ambiente?

Os controles de segurança passam a seguir – às vezes, a uma grande distância – as ameaças. Como os vírus eram um problema do cliente, porque as pessoas trocavam disquetes, os programas antivírus apareceram primeiramente nos clientes. Depois, como o email se tornou popular e o malware evoluiu até worms que contavam com a distribuição dos emails, surgiram os programas anti-malware nos gateways de email. Com o crescimento da Web, o malware se expandiu até os Cavalos de Tróia e o anti-malware seguiu até os servidores proxy de acesso à Internet. Trata-se de uma linha evolutiva bem compreendida que ninguém contesta.

Agora apliquemos a mesma lógica aos firewalls. Embora um firewall na borda da sua rede oferecesse proteção suficiente contra as ameaças do passado, este não é mais o caso, uma vez que elas são diferentes, estando mais sofisticadas e mais predominantes. Isso sem mencionar que os dispositivos e os estilos de trabalho são muito diferentes em relação aos do passado. Muitos computadores transportam informações sigilosas armazenadas localmente e eles passam muito tempo longe da rede corporativa (ou seja, fora da borda). Por isso, o firewall deve evoluir até um mecanismo de proteção do cliente individual. Não se confunda: os firewalls para cliente não são mais opcionais. Para proteger os computadores da sua própria rede corporativa e da Internet, os firewalls para cliente são obrigatórios.

Firewalls para cliente e teatro da segurança

Muitas pessoas não perceberam que a versão inicial do Windows® XP incluía um firewall para cliente. Isso não é surpreendente, porque o firewall permanecia desativado por padrão e também estava em meio a muitos cliques do mouse. Com sua maneira própria às escondidas, o firewall apenas aparecia sem nenhuma indicação real de sua finalidade ou orientações sobre como usá-lo. Mas funcionava. Se tivesse habilitado esse firewall, você estaria a salvo do Nimda, Slammer, Blaster, Sasser, Zotob e de tudo o que tentasse forçar um tráfego não solicitado em sua porta de rede. Percebendo a importância da proteção ao cliente, o Windows XP Service Pack 2 (SP2) habilitou o firewall por padrão, criou dois perfis (Internet e rede corporativa) e permitiu a habilitação da Diretiva de Grupo.

Infelizmente, duas barreiras reduziram a adoção do firewall do Windows XP SP2: as preocupações quanto aos aplicativos e o teatro da segurança. Muitas pessoas tinham o receio de que o firewall faria com que seus aplicativos deixassem de funcionar corretamente. Porém, isso dificilmente acontecia por conta do design do firewall. O firewall permitia que todo o tráfego de saída deixasse o computador, mas bloqueava todo o tráfego de entrada que não vinha como resposta a alguma solicitação de saída anterior. A única vez em que esse design interrompia um aplicativo em um cliente era quando o aplicativo criava um soquete de escuta e esperava receber solicitações de entrada. O firewall do Windows XP possibilitava configurações simples das exceções para programas ou portas (mas, infelizmente, não por uma Diretiva de Grupo).

O maior empecilho era o teatro da segurança feito pelos fabricantes dos demais firewalls para cliente. Algumas pessoas achavam que o design do firewall do Windows XP – ao permitir, especificamente, que todo o tráfego de saída deixasse o computador de maneira irrestrita – tinha funcionalidade insuficiente para um firewall de cliente. O argumento era de que um firewall para cliente deveria ao menos bloquear todo o tráfego, de entrada e de saída, a menos que o usuário concedesse especificamente uma permissão.

Agora pensemos nisso por um instante. Surgem dois cenários.

  • Se você for o administrador local e estiver infectado por um malware, este simplesmente desabilitará o firewall. 0wn3d para você.
  • Se você for o administrador local e for infectado por um malware, este fará com que um firewall de terceiros mostre uma caixa de diálogo em um idioma estrangeiro relacionado a portas e endereços IP e com uma pergunta muito séria: "Deseja permitir isso?" É claro que a única resposta é "Sim, seu computador idiota, e veja se para de me encher!". E, junto com essa caixa de diálogo, some também a sua segurança. Ou, o que é mais comum, o malware seqüestrará uma sessão existente de um programa já autorizado, e você sequer verá a caixa de diálogo. Mais uma vez, 0wn3d para você.

Existe uma máxima importante da segurança que você deve compreender: a proteção deve estar no ativo que você deseja proteger, e não na coisa da qual está tentando se proteger. A abordagem correta é executar o simples, porém efetivo, firewall do Windows em todos os computadores da sua organização, para protegê-los de todos os demais computadores do mundo. Se tentar bloquear as conexões de saída de um computador já comprometido, como você poderá ter a certeza de que o computador está realmente fazendo o que você pediu? A resposta: você não poderá. A proteção de saída é um teatro da segurança – trata-se de um artifício que só lhe dá a impressão de aumentar a segurança sem fazer nada que efetivamente aumente-a. É por isso que não havia proteção da saída no firewall do Windows XP e é pelo mesmo motivo que ela não está presente no firewall do Windows Vista™. (Falarei mais a respeito do controle da saída no Windows Vista daqui a pouco.)

O que há de novo no Windows Vista?

A Plataforma de Filtragem do Windows, parte da nova pilha de rede, é a base do firewall do Windows Vista. Assim como o Windows XP, o Windows Vista bloqueia o tráfego de entrada por padrão. Dependendo do perfil usado pelo computador, talvez haja algumas exceções padrão para os serviços de rede (abordarei os perfis posteriormente). Se quiser, você pode escrever regras para permitir conexões de entrada. E também como o Windows XP, o Windows Vista permite, por padrão, todo o tráfego de saída de processos interativos, mas restringe o tráfego de saída dos serviços que participam da restrição do serviço. E, mais uma vez, é possível escrever regras para bloquear conexões de saída adicionais.

A grande diferença entre o Windows XP e o Windows Vista é a nova interface de Segurança Avançada e o suporte completo da Diretiva de Grupo à configuração e às regras (consulte a Figura 1). A interface do usuário do Painel de Controle ainda está lá, inalterada em grande parte, exceto pelas configurações de logon e do protocolo ICMP (Internet Control Message Protocol), que agora estão na nova interface do usuário. Essa nova interface do usuário, o snap-in do MMC de Segurança Avançada, oferece todos os novos recursos e a flexibilidade. Também há um novo contexto no comando de netsh, netsh advfirewall, por meio do qual é possível criar scripts para inclusões ou exclusões de regras, definir e mostrar diretivas globais e por perfil, além de exibir o estado ativo do firewall. E para vocês, desenvolvedores, FirewallAPI.dll e Netfw.h oferecem controle por programação a todas as configurações do firewall.

Figura 1 Firewall do Windows com Segurança Avançada

Figura 1** Firewall do Windows com Segurança Avançada **(Clique na imagem para aumentar a exibição)

O MMC de Segurança Avançada é orientado a assistente. Ao criar uma regra, você pode escolher um destes quatro tipos: programa, porta, predefinida ou personalizada. Eles são explicados na Figura 2.

Figure 2 Quatro tipos de regras

Tipo Finalidade
Programa Usado para permitir ou bloquear o tráfego de um determinado programa.
Porta Usado para permitir ou bloquear o tráfego em determinadas portas TCP ou UDP.
Predefinida Usa um grupo preexistente de regras para habilitar a funcionalidade do Windows na rede (como, por exemplo, o compartilhamento de arquivos e de impressoras ou a assistência remota).
Personalizada Expõe todos os botões, indicadores e opções para que você possa configurar uma regra com a especificidade desejada.

Há muitos elementos que você pode consultar ao escrever as regras, todos eles estão disponíveis para regras locais e regras aplicadas por meio da Diretiva de Grupo. São eles: contas e grupos de usuários e computadores do Active Directory®, endereços IP de origem e de destino, portas TCP e UDP de origem e de destino, números do protocolo IP, programas e serviços, tipos de interfaces (com fio, sem fio ou de acesso remoto), além de tipos e códigos ICMP.

Uma vez configurado, o firewall processa as regras na seguinte ordem:

Restrições de serviço Alguns dos serviços no Windows Vista se restringirão para limitar a probabilidade de um outro ataque no estilo Blaster. Uma das restrições é uma lista das portas exigidas pelo serviço. O firewall reforça isso e impede que o serviço use (ou seja configurado para usar) qualquer outra porta.

Regras de segurança da conexão O MMC de Segurança Avançada incorpora o IPsec e o firewall. Todas as regras que incluem as diretivas IPsec são processadas em seguida.

Desconhecimento autenticado Elas permitem que computadores autenticados ignorem outras regras.

Regras de bloqueio Elas bloqueiam explicitamente o tráfego de entrada ou de saída especificado.

Regras de permissão Elas permitem explicitamente o tráfego de entrada ou de saída especificado.

As regras do firewall estão armazenadas no Registro, mas não falarei exatamente onde. Ah, tudo bem, tudo bem... você as encontrará nestes locais:

  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Defaults\FirewallPolicy\FirewallRule
  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
  • HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Static\System

Só não edite as regras diretamente no Registro. Se editar, nós acharemos você e venderemos o seu bicho de estimação em um site de leilões! Bem, talvez não, mas a única forma compatível de edição das regras é usar o MMC de Segurança Avançada.

Perfis de rede

O Windows Vista define três perfis de rede: domínio, particular e público. Quando o computador está associado a um domínio e faz o logon com êxito nesse domínio, o computador aplica automaticamente o perfil do domínio – você jamais faz essa opção por conta própria. Quando o computador está conectado a uma rede interna sem um domínio (como uma rede doméstica ou de pequena empresa), você (ou um administrador) deve aplicar o perfil particular. Por fim, quando o computador está conectado diretamente à Internet, você deve aplicar o perfil público.

Como o Windows Vista decide onde colocar o seu computador? Sempre que há uma alteração na rede (digamos que ela receba um novo endereço IP, veja um novo gateway padrão ou obtenha uma nova interface), um serviço chamado NLA (Reconhecimento de Local da Rede) detecta a alteração. Ele cria um perfil de rede – que inclui as informações sobre as interfaces existentes, independentemente de o computador ser autenticado em um controlador de domínio, do endereço MAC do gateway e assim por diante – e atribui um GUID a ele. Em seguida, o NLA notifica o firewall, que aplica a diretiva correspondente (há uma diretiva definida para cada um dos três perfis).

Se esta for uma interface nova que o computador jamais viu e o NLA não escolheu o perfil do domínio, você verá uma caixa de diálogo que lhe pede para indicar a qual tipo de rede você está se conectando. Misteriosamente, há três opções: Residência, Trabalho e Pública. Você pode pensar que Trabalho significa o perfil do domínio, mas não é este o caso. Lembre-se de que você jamais vê o perfil do domínio porque o NLA o seleciona automaticamente quando o computador faz logon em um domínio. Na verdade, tanto Residência e Trabalho correspondem ao perfil particular. Em termos funcionais, eles são equivalentes – apenas os ícones são diferentes. (Observação: para selecionar o perfil particular, você deve ser um administrador local ou poder se elevar a um). Como você esperava, público corresponde ao perfil público.

No Windows Vista, um perfil de rede se aplica a todas as interfaces do computador. Aqui está um resumo rápido da árvore de decisão do NLA:

  1. Examine todas as redes conectadas.
  2. Há alguma interface conectada a uma rede classificada como pública? Em caso positivo, defina o perfil do computador para público e saia.
  3. Há alguma interface conectada a uma rede classificada como particular? Em caso positivo, defina o perfil do computador para particular e saia.
  4. Todas as interfaces vêem um controlador de domínio e o computador fez o logon com êxito? Em caso positivo, defina o perfil do computador para domínio e saia.
  5. Também defina o perfil do computador para público.

O objetivo é selecionar o perfil mais restritivo possível. No entanto, há dois efeitos colaterais óbvios. Primeiro, se a porta Ethernet do computador estiver conectada à rede corporativa e a NIC (placa de interface de rede) estiver conectada a um cybercafé, o computador selecionará o perfil público, e não o perfil do domínio. Segundo, se o computador estiver conectado diretamente à Internet (no perfil público) ou à LAN doméstica (no perfil particular) e você estabelecer uma conexão VPN com a rede corporativa, o computador permanecerá no perfil público ou particular.

O que isso pode significar? A diretiva do firewall para o perfil do domínio inclui regras de assistência remota, administração remota, compartilhamento de arquivos e impressoras etc. Se depender dessas regras para chegar remotamente a um cliente, você não conseguirá caso o cliente tenha escolhido outro perfil. Mas não se desespere – é possível escrever regras de firewall para permitir todas as conexões de entrada necessárias e, em seguida, aplicá-las apenas às conexões VPN. Agora você pode até mesmo administrar os clientes pela VPN, mesmo quando eles não estiverem no perfil do domínio.

Controlando conexões de saída

Anteriormente, eu disse que a forma típica de proteção de saída em firewalls para cliente é apenas um teatro da segurança. No entanto, uma forma do controle de saída é muito útil: controlar administrativamente determinados tipos de tráfego que você sabe que não deseja permitir. O firewall do Windows Vista já faz isso para as restrições de serviço. O firewall permite que um serviço se comunique apenas nas portas que ele afirma serem necessárias e bloqueie todas as demais tentativas do serviço. É possível criar a partir disso, escrevendo regras adicionais que permitam ou bloqueiem tráfego específico de acordo com a diretiva de segurança da organização (consulte a Figura 3).

Figura 3 Novo Assistente de Regras de Entrada

Figura 3** Novo Assistente de Regras de Entrada **(Clique na imagem para aumentar a exibição)

Digamos, por exemplo, que você queira proibir os usuários de executar um determinado cliente de mensagens instantâneas. É possível criar uma regra (na Diretiva de Grupo, obviamente) para bloquear as conexões com os servidores de logon desse cliente.

Porém, há limitações práticas nessa abordagem. Por exemplo, o Windows Live™ Messenger (que você ainda deve conhecer como MSN® Messenger) tem vários servidores que podem ser usados no logon, e a lista está sempre em alteração. Além disso, ele retornará à porta 80/tcp se a porta padrão 1863/tcp for bloqueada. Uma regra para bloquear a conexão do Windows Live Messenger com seus servidores de logon seria muito complexa e sempre constante. Digo isso para ilustrar que o controle de saída administrativo pode ser útil, mas não substitui as Políticas de Restrição de Software caso você precise manter um controle firme sobre os usuários do software com permissão para instalação e execução.

Proteja o computador

O perímetro já era. Agora todos os computadores assumem a responsabilidade por sua própria proteção. Assim como o anti-malware passou do cliente para a borda, os firewalls devem passar da borda para o cliente. É possível tomar uma ação imediata habilitando o firewall que você acabou de instalar.

Independentemente dos sistemas executarem o Windows XP ou de você já ter feito a transação para o Windows Vista, o firewall do Windows está disponível a todos clientes e oferecerá a proteção de que você precisa para melhorar a segurança dentro da sua organização – mesmo quando os trabalhadores móveis estiverem a quilômetros de distância do escritório.

Onde aprender mais

Steve Riley, estrategista de segurança sênior do Grupo de Computação Confiável da Microsoft e editor colaborador da TechNet Magazine, viaja pelo mundo dando palestras em conferências e ajudando clientes a alcançar e manter a segurança. O último livro que escreveu foi Protect Your Windows Network (Proteja a sua Rede do Windows) (Addison-Wesley, 2005). Você pode contatá-lo pelo email steve.riley@microsoft.com.

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