Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
27/11/2006

< Segurança no Vista VI: >
<
NAP – Network Access Protection
>


Como bem perceberam os que a acompanham, esta série de colunas sofreu uma longa interrupção. Causada, entre outras razões, por minha participação em dois eventos sucessivos já comentados, o Intel Developer Forum Brasil 2006 e a edição brasileira do MS TechEd 2006.

Como sabem os que leram a coluna sobre o TechEd, nele ocorreu o lançamento oficial das versões empresariais tanto do MS Office 2007 quanto do Windows Vista. Como uma boa parte do evento foi dedicada a estes dois produtos, tive a oportunidade de participar de apresentações bastante elucidativas, algumas delas sobre segurança (dentre as quais destaco as excelentes palestras de Fernando Fonseca). O que fez com que a interrupção resultasse benéfica para a série de colunas, já que durante o evento, além das apresentações, tive acesso ao pessoal técnico da MS com quem pude discutir alguns aspectos das inovações de segurança de Vista que a documentação técnica não havia esclarecido suficientemente. Além disto, esta coluna está sendo digitada nas versões finais (não mais beta) tanto do Office 2007 quanto do Vista, ambas em português. O que ajuda bastante a testar funcionalidades “in loco”.

Isto posto, vamos adiante.

Até o momento, no que toca à segurança, discutimos o SDL (a nova diretriz de segurança da MS que incorpora o item “segurança” a todos os estágios de desenvolvimento de seus produtos), o novo controle das contas de usuário (que altera os privilégios tanto do administrador quanto dos usuários comuns) e o “Services Hardening” (que age de maneira análoga no que diz respeito aos serviços). Vamos então prosseguir discutindo os itens que faltam, começando pela NAP (“Network Access Protection”, ou proteção de acesso à rede).

A necessidade de se implementar algo parecido com a NAP surgiu da própria expansão do conceito de “rede”. Isso porque, se na era do byte lascado – ou seja, lá pelo final dos anos 80 do século passado – uma rede consistia de meia dúzia de máquinas interligadas por cabos, todas ao alcance do administrador que tinha acesso físico a qualquer uma delas sempre que necessário, hoje em dia uma “rede” pode ser algo bem mais complexo, com centenas de máquinas interconectadas usando os mais diversos métodos e protocolos de conexão, inclusive sem fio (IEEE 802.1x ) ou via Internet (DHCP) e que, por isso mesmo, podem estar em qualquer parte do planeta. E, pior: depois que se disseminaram os computadores móveis – sejam os tipo “notebook”, sejam os “PDA” e, ultimamente, até mesmo os telefones celulares – além de poderem estar em qualquer lugar podem se mover de um lado para outro sem qualquer controle por parte do administrador. Sem mencionar o fato de que podem se conectar e desconectar da rede a seu bel prazer. Em suma: um pesadelo para o pobre administrador.

Imagine a seguinte situação: um executivo de uma grande empresa, quando no escritório, usa seu micro portátil conectado à rede empresarial. Mas costuma levá-lo para casa ou em viagens para seu uso pessoal. Imagine ainda que em uma destas viagens, por artes do destino, talvez em uma conexão sem fio à Internet em um desses aeroportos da vida, o cavalheiro em questão inadvertidamente deixou seu micro se contaminar com um verme como o Blaster. E, quando voltou ao escritório, restabeleceu a conexão com a rede empresarial. Percebeu o perigo? Imaginou-se na situação do administrador que precisa explicar ao executivo, talvez seu chefe, que o verme que alastrou-se na rede empresarial veio do “notebook” do próprio executivo que, talvez por descuido, não manteve rigorosamente em dia as atualizações das definições de seu antivírus ou de seu sistema operacional durante a viagem e isso tornou-o vulnerável, possibilitando a contaminação de toda a rede? Dureza, nénão?

Mas em um ambiente complexo como as redes modernas, como assegurar-se que cada máquina conectada esteja absolutamente em dia com as políticas de segurança da empresa que, entre outras coisas, estabelece a necessidade de manter-se absolutamente em dia com todas as atualizações do sistema operacional e software de segurança? Afinal, quanto mais a rede empresarial se abre para conexões de micros domésticos via Internet (de empregados que trabalham em sua residência e precisam acesso aos dados armazenados na rede, por exemplo) ou de dispositivos portáteis sem fio (como os de vendedores que em sua atividade externa precisam manter contato freqüente com a rede para atualizar pedidos), aos quais o administrador não tem acesso e talvez não cumpram todos os itens da política de segurança da rede, maior o potencial de ser agredida por vírus, vermes e outras ameaças. Como garantir que a máquina pode se considerada “saudável” segundo os critérios estabelecidos pela empresa?

Bem, uma das formas é criar uma espécie de “atestado de saúde” que somente será fornecido a máquinas que cumpram rigorosamente todos os itens estabelecidos pela política de segurança e apenas permitir a conexão à rede das máquinas cujo “atestado de saúde” esteja absolutamente em dia. Se não estiver, dependendo de certas condições, a máquina pode ser impedida de se conectar, pode ser posta em quarentena ou pode ser submetida a uma atualização que a torne compatível com as exigências da política de segurança e, somente então, conectada à rede.

Esta é a idéia básica da proteção de acesso à rede, ou NAP.

Vamos ver, de modo simplificado, como a coisa funciona.

O primeiro passo é adicionar o conceito de “saúde” à política de acesso à rede. Para isto são definidos os requisitos mínimos de software e configuração da máquina para que ela possa ser considerada suficientemente “saudável” para se conectar á rede, requisitos estes que incluem (mas não estão limitados a) itens como nível de atualização do software instalado (incluindo aplicativos, sistema operacional e assinaturas de vírus, ainda que de programas de terceiros) e aspectos específicos de configuração (como “portas” abertas e fechadas e ajustes do firewall). Este conjunto de exigências se constitui na chamada “Política de saúde” da rede.

A menção a “programas de terceiros” no parágrafo acima decorre do fato de que apesar do suporte à NAP ser “nativo” (ou seja, pré-incorporado) no Windows Vista (e Windows Server “Longhorn”; brevemente poderá ser acrescentado ao Windows XP SP2 e ao Windows 2003 sob a forma de “agentes”), os administradores podem escolher qualquer fornecedor para o software de rede e de segurança. Basta que estabeleçam políticas completas de segurança para que sejam integradas transparentemente ao sistema operacional.

Definido o conceito de “saúde”, é estabelecido um procedimento de validação que verifica se a máquina está ou não “saudável” examinando seu “atestado de saúde”. Este “atestado” (na verdade um arquivo criptografado que contém um “Statement of Health”, ou SoH) é criado pelo conjunto de objetos (elementos de hardware e software) que compõem a NAP e dinamicamente atualizado enquanto a máquina estiver conectada à rede.

Em uma rede assim protegida, caso uma máquina cliente tente estabelecer uma conexão direta (a NAP funciona para todos os protocolos usuais, tanto o Internet Protocol Security – Ipsec – quanto WiFi – IEEE 802.1x – acesso via rede privada virtual – VPN – ou acesso remoto via Dynamic Host Configuration Protocol – DHCP), o acesso é negado e a máquina permanece na “Zona de quarentena” enquanto não for validado seu estado de saúde (veja a Figura 1; esta e as figuras seguintes são adaptações das imagens exibidas na apresentação de Rodrigo Immaginario durante o TechEd Brasil 2006).

Figura 1: Tentativa de acesso negada.

Para efetuar a validação o SoH (“Statement of Health”) da máquina cliente é submetido ao HCS (“Health Certificate Server”, servidor de certificados de saúde), responsável por sua verificação. O HCS encaminha o SoH ao “Policy Server”, que armazena os dados e diretivas da política de saúde e, usando um componente de software denominado SHV (“System Health Validator”; validador de saúde do sistema) verifica a validade do SoH comparando as informações nele contidas com o “estado de saúde” correspondente às exigências estabelecidas pela “política de saúde”. Que, se forem satisfeitas, permitem que a máquina recebe do validador um “certificado de saúde” (“Statement of Health Response”, ou SoHR), liberando a conexão. O cliente passa então a fazer parte da zona protegida, com todos os seus privilégios.

Figura 2: SoH válido, conexão estabelecida.

Mas o que acontece quando o SoH não é válido (por exemplo, no caso de um notebook que pretende restabelecer a conexão após estar desconectado da rede justamente quando todas as demais máquinas receberam a mais recente atualização de definições de vírus)? Bem, neste caso depende do que for determinado pelo administrador. Em redes de acesso restrito, computadores que não disponham de um SoH válido podem permanecer em uma área de acesso limitado ou, dependendo da política adotada, podem ser submetidos pela própria NAP a um processo denominado “Automatic Remediation” (reparo automático), que restabelece um estado de saúde compatível com as exigências.

Figura 3: Procedimento de reparo automático.

Este procedimento é feito através da conexão com um “Remediation Server”, que contém o software necessário para investigar os pontos de incompatibilidade e, quando possível, os eliminar efetuando as mudanças necessárias (atualizações ou alterações de configuração) na máquina cliente. Isto feito, o “Remediation Server” fornece novo SoH atualizado para a máquina, que pode tentar novamente estabelecer a conexão, agora com um SoH válido.

Com a NAP administradores podem não apenas impedir o acesso à rede de máquinas cujo “estado de saúde” não esteja satisfatório como também, através do “Automatic Remediation”, efetuar os reparos e atualizações necessários antes de permitir a conexão.

Mas note que a NAP por si mesma não detecta nem elimina software malicioso. Ela apenas procura garantir que toda máquina que estabeleça conexão com a rede esteja de acordo com as exigências da política de segurança da rede, ou seja, disponha das últimas atualizações de sistema operacional e aplicativos (especialmente os dedicados à segurança, como antivírus, firewall e anti-spyware) e esteja configurada de acordo com estas mesmas políticas. Mas não impede que um usuário mal intencionado use sua autorização de acesso à rede para conectar-se a ela com uma máquina propositalmente contaminada e causar um estrago. Se esta máquina, embora contaminada, dispuser dos aplicativos requeridos pela política de segurança devidamente atualizados e estiver configurada de acordo com esta mesma política, a conexão será estabelecida. Competirá aos demais aplicativos de segurança instalados na rede tentar impedir o estrago. A NAP apenas garante que, se uma conexão foi aceita, a máquina que a solicitou cumpre as condições exigidas pela política de segurança.

O que, em uma rede doméstica, parece pouco. Mas em uma complexa e dinâmica rede empresarial representa uma ajuda e tanto para garantir a segurança do conjunto e a paz de espírito do administrador...

Quem desejar informações mais detalhadas sobre o funcionamento da NAP pode visitar diretamente a página da MS < http://www.microsoft.com/technet/network/nap/default.mspx > Network Access Protection ou, mais especificamente, consultar as < http://www.microsoft.com/technet/network/nap/napfaq.mspx > respostas ás perguntas mais freqüentes (em inglês) sobre o assunto..

 

B. Piropo