Security WatchUsando o ACS no Windows Server 2008

Jesper M. Johansson

Este artigo se baseia em uma versão de pré-lançamento do Windows Server 2008. Todas as informações deste artigo estão sujeitas a alterações.

Em 2005, a Microsoft lançou o Windows Server 2003 SP1. Esse service pack introduziu a primeira ferramenta para Windows de gerenciamento de segurança baseada em funções: o ACS (Assistente de Configuração de Segurança). A Microsoft projetou o ACS para ser, antes de tudo, uma ferramenta para redução da superfície de ataque. Sua finalidade era analisar o que você estava

realmente fazendo com o computador e configurá-lo automaticamente para dar suporte às funções de que precisava, desabilitando os serviços e as funções que não estivessem em uso.

O Windows Server® 2008 manteve o ACS, que foi atualizado com novas funções e a integração ao novo Firewall do Windows®. Entretanto, ele continua sendo uma ferramenta de administração avançada como sempre foi.

O Windows Server 2008 também inclui uma nova ferramenta baseada em funções, o Gerenciador de Servidores, e seus parentes, os Assistentes para Adicionar Funções e para Adicionar Recursos. No Windows Server 2008, em vez de adicionar componentes individuais através do antiquado painel de controle Adicionar ou Remover Componentes do Windows, agora você pode usar as ferramentas de gerenciamento de funções para configurar o servidor. Byron Hynes aborda essas ferramentas no artigo "Configurando funções com o Gerenciador de Servidores", também nesta edição da TechNet Magazine.

Os Assistentes para Adicionar Funções e para Adicionar Recursos foram desenvolvidos para configurar o servidor com os componentes certos para dar suporte às funções escolhidas por você. Eles também configuram o firewall interno para garantir que essas funções funcionem corretamente. Isso posto, você pode estar se perguntando se ainda há necessidade do ACS. Admito que muitos administradores não precisarão mais do ACS. No entanto, há dois grupos de pessoas para quem o ACS pode ser uma ferramenta inestimável. O primeiro grupo é formado pelos paranóicos por segurança. Trata-se de pessoas que apreciam como o ACS leva a segurança ao próximo nível.

Você pode pensar nos Assistentes para Adicionar Funções e para Adicionar Recursos como as ferramentas que tomam um servidor padrão e o configuram para dar suporte seguro às funções e aos recursos desejados. O ACS, por outro lado, é a ferramenta que configura o servidor para dar suporte apenas às funções e aos recursos desejados. O ACS também tem um efeito pedagógico, pois ajuda a entender melhor como o servidor é configurado. Portanto, recomendo enfaticamente que você execute o ACS depois que o servidor tiver sido configurado com seu complemento de funções e recursos.

O segundo grupo consiste naqueles usuários que querem entender as relações entre os diversos componentes. O ACS vem com um conjunto de arquivos XML que documentam as relações entre funções e recursos, serviços e portas de rede. Trata-se de uma ferramenta muito valiosa para quem está interessado em entender do que os diversos componentes precisam.

Nesta coluna, descreverei como o ACS funciona e como você o usará para proteger o servidor. Farei também uma comparação entre o ACS e as ferramentas do Gerenciador de Servidores. Observe que esta coluna é adaptada do meu livro Windows Server 2008 Security Resource Kit (Microsoft Press®, 2008).

Visão geral do Assistente de Configuração de Segurança

Para preparar o terreno, quero apresentar algumas estatísticas sobre a superfície de ataque no Windows Server 2008. Antes de você configurar um servidor adicionando sua seleção pessoal de funções e recursos, ele ainda tem uma capacidade de serviços relativamente significativa. Por padrão, o Windows Server 2008 tem 105 serviços, sendo que 42 estão definidos para inicialização automática, 55 para manual e 8 desabilitados. Confronte isso com uma instalação limpa do Windows Server 2003 R2 SP2, que tem 86 serviços instalados por padrão, sendo que 34 estão definidos para iniciar automaticamente, 32 para iniciar por demanda e 20 desabilitados.

Mesmo com a metáfora de funções e a redução em funções padrão com suporte, o Windows Server 2008 ainda tem uma capacidade maior e requer cuidados adicionais na proteção aos servidores. O ACS o orientará na criação de uma configuração de segurança personalizada para seus servidores específicos.

Em relação às ferramentas existentes, o ACS adota uma abordagem completamente diferente para a proteção de servidores. Ele trabalha com uma metáfora de funções para configurar o sistema de modo a dar suporte a essas funções e pouco (ou nada) mais. Embora o ACS ajude a configurar o firewall, como fazem os Assistentes para Adicionar Funções e para Adicionar Recursos, ele também desabilita serviços desnecessários e define algumas configurações de segurança adicionais. Finalmente, enquanto os Assistentes para Adicionar Funções e para Adicionar Recursos só são capazes de instalar e configurar funções internas no Windows, o ACS é extensível. Um desenvolvedor ou administrador pode escrever um arquivo personalizado de configuração de funções ou recursos e usar o ACS para configurar qualquer produto.

O ACS foi projetado para ser usado depois que você instalar todas as funções e todos os recursos que o servidor deve ter. Se houver aplicativos de terceiros no servidor, eles também deverão ser instalados antes da execução do ACS.

Para demonstrar como isso funciona, configurei um servidor com três funções (Servidor de Aplicativos, Servidor DNS e Servidor Web) e dois recursos (Recursos do Microsoft® .NET Framework 3.0 e Serviço de Ativação de Processos do Windows). Esse não é um conjunto particularmente lógico de funções e recursos, mas serve de exemplo para esta discussão.

Para iniciar o ACS, execute-o no menu Ferramentas Administrativas. A Figura 1 mostra a caixa de diálogo que será exibida.

Figura 1 O ACS começa a perguntar o que você deseja fazer

Figura 1** O ACS começa a perguntar o que você deseja fazer **(Clique na imagem para aumentar a exibição)

A primeira etapa é escolher se deseja criar uma nova diretiva de segurança, editar ou aplicar uma diretiva existente ou reverter uma diretiva para que o sistema retorne às configurações originais. As opções são relativamente auto-explicativas.

Quando você opta por criar uma nova diretiva de segurança, o ACS a cria usando algum computador como modelo para aquilo a que a diretiva deve dar suporte. Ele analisa o computador e determina quais recursos e funções ele suporta, garantindo que funcionem mas também que muitos recursos desnecessários não sejam habilitados.

O ACS funciona em um modelo de protótipo. Ele usa arquivos XML para especificar a aparência das funções e dos recursos em termos de quais arquivos estão instalados, quais serviços estão configurados, etc. É por isso que você precisa ter tudo instalado no computador em relação ao qual está desenvolvendo a diretiva. Se você tiver programas de terceiros que instalam definições do ACS durante a instalação, eles se integrarão diretamente. No entanto, se os seus programas de terceiros não instalarem definições do ACS, você precisará configurá-las manualmente.

Como você pode ver, é possível criar uma diretiva em um sistema e depois aplicá-la em muitos outros. Caso você esteja desenvolvendo uma rede com muitos sistemas, primeiro defina classes host que sejam configuradas separadamente. Em seguida, crie uma diretiva usando uma delas como protótipo e aplique a diretiva a todas as outras, com pouca ou nenhuma modificação.

Quando você clicar em Avançar (na caixa de diálogo mostrada na Figura 1), o assistente perguntará qual computador deseja usar como linha de base (ou seja, protótipo) para essa nova diretiva. Normalmente, você escolheria o computador local, mas também há a opção de usar um computador remoto como protótipo.

Depois de especificar qual sistema deverá ser usado, você entra na fase de análise. Aqui, o ACS enumera quais funções e recursos estão instalados e faz a correspondência em relação ao banco de dados de funções e recursos. O banco de dados contém informações relativas a quais serviços são usados por cada função e recurso, de quais portas de rede eles precisam e outras informações de configuração importantes. Uma vez concluída a análise, você pode clicar em Exibir Banco de Dados de Configuração para ver o que o Assistente de Configuração de Segurança encontrou. Observe que é uma exibição somente leitura que apresenta informações abrangentes sobre a configuração do computador. Na verdade, se você estiver realmente interessado em entender o que há no computador, poderá gastar um bom tempo estudando essas informações.

Configurando o seu servidor com o ACS

Quando você clicar em Avançar, entrará na primeira das quatro seções do ACS: a Configuração de Serviços com Base em Funções. Você poderá observar que as funções encontradas no ACS, como mostra a Figura 2, não são o mesmo conjunto encontrado no Assistente para Adicionar Funções. A maioria das funções nele disponíveis também estão presentes aqui, mas o ACS ainda oferece algumas a mais. Por exemplo, a função Servidor de Aplicativos que selecionei não está presente. Isso ocorre porque o ACS usa uma metáfora ligeiramente diferente para funções. Discutirei isso detalhadamente em breve.

Figura 2 Usando o ACS para selecionar a funções às quais deseja que o servidor dê suporte

Figura 2** Usando o ACS para selecionar a funções às quais deseja que o servidor dê suporte **(Clique na imagem para aumentar a exibição)

Em geral, o conjunto certo de funções já vem selecionado nesta caixa de diálogo. Com isso, basta verificar se a análise encontrou o que você acha que deveria ter encontrado. Se algo estiver errado, confira se a função foi instalada e, caso contrário, instale-a antes de tornar a executar o ACS. Caso você cometa um erro, não é o fim do mundo. O recurso de reversão no ACS o levará de volta ao ponto de partida, desfazendo as alterações feitas pela diretiva.

As respostas dadas nesta seção são muito importantes porque determinam o que você verá mais tarde na seção sobre rede. Felizmente, a lógica de detecção é muito boa e o conjunto correto de funções normalmente é selecionado.

Observe também que, por padrão, você vê Funções Instaladas, às quais o servidor é capaz de dar suporte com os bits colocados no disco. As funções selecionadas são aquelas que têm suporte no momento. Você também pode optar por ver todas as funções existentes no banco de dados; basta selecionar Todas as Funções na lista suspensa. Isso é útil basicamente quando você precisa criar uma diretiva usando um servidor de protótipo que não tem ainda todas as funções necessárias instaladas.

Após a configuração de funções, você seleciona os recursos de cliente aos quais deseja dar suporte. O conjunto de recursos é semelhante, mas não idêntico ao existente no Assistente para Adicionar Recursos, além de possuir uma quantidade menor de recursos. Mais uma vez, como as metáforas não são exatamente as mesmas e o ACS pode ser estendido, o que você verá é diferente do Assistente para Adicionar Recursos.

Quando você clicar em Avançar na página Recursos de Cliente no ACS, irá para a caixa de diálogo Selecionar Administração e Outras Opções, como mostra a Figura 3. Uma Opção no ACS é algo que não se adapta harmoniosamente em uma função nem em um recurso. Ela pode fornecer suporte administrativo ou ser simplesmente um único serviço, como a Detecção de Serviços Interativos. Novamente, a maioria das opções de que você precisa devem ser selecionadas aqui. Vale a pena destacar o menu suspenso, também. Ele é populado com opções relevantes às funções e aos recursos que você selecionou anteriormente e será diferente em diferentes computadores.

Figura 3 Selecionando outros serviços e recursos no ACS

Figura 3** Selecionando outros serviços e recursos no ACS **(Clique na imagem para aumentar a exibição)

A próxima etapa é a caixa de diálogo Selecionar Serviços Adicionais. Embora o ACS seja fornecido com um banco de dados de serviços bem grande, nem tudo está descrito aqui. Esses serviços que o ACS encontra em um computador e que não estão presentes no banco de dados são exibidos na página Serviços Adicionais. Todos os serviços internos devem ser descritos, e você não deverá ver esta caixa de diálogo a menos que tenha algum serviço de terceiros instalado.

O assistente então permite que você selecione o que fazer com os serviços que não está configurando. Esta opção é indicada para quando você planeja tomar a diretiva que está criando e aplicá-la em um computador diferente. Se esse computador tiver serviços diferentes do que você usou para criar a diretiva, o ACS precisará saber o que fazer com eles. Uma opção é deixá-los sozinhos, o que é o padrão. A outra opção é desabilitá-los, que, embora mais seguro, pode danificar itens. Porém, se você seguir o conselho de só aplicar diretivas a servidores idênticos ao que você usou para criá-las, sua opção nesta página será irrelevante.

Agora que você terminou a parte de configuração de funções do ACS, o assistente recapitula o que foi feito. Como pode ver na Figura 4, você afetará a superfície de ataque do computador mesmo se simplesmente clicar com o botão direito do mouse. Por exemplo, como esse computador não é um Servidor de Impressão e não tem nenhuma impressora instalada, não há motivo para você executar o serviço Spooler de Impressão. O ACS desabilita todos os serviços que não são necessários. No nosso servidor de teste, o ACS desabilita 17 serviços que foram definidos para inicialização automática e define 42 serviços de inicialização manual como desabilitados. Nossos resultados, obviamente, irão variar de acordo com a configuração do servidor, mas você pode ver que o ACS permite adaptar uma diretiva específica para servidores exclusivos, reduzindo drasticamente a superfície de ataque deles.

Figura 4 O ACS resume as alterações feitas

Figura 4** O ACS resume as alterações feitas **(Clique na imagem para aumentar a exibição)

Agora, vamos passar para a seção que, comprovadamente, é a mais importante do ACS: Sistema de Rede. Após a página de boas-vindas inicial, você vê a caixa de diálogo Regras de Segurança de Rede, mostrada na Figura 5. Ela contém uma lista de todas as regras de firewall propostas pelo ACS, que se baseiam no suporte a funções selecionado por você nas seções anteriores.

Figura 5 O ACS lista todas as regras que ele define como necessárias

Figura 5** O ACS lista todas as regras que ele define como necessárias **(Clique na imagem para aumentar a exibição)

Se nenhuma configuração adicional for feita na seção Rede, o ACS criará regras de firewall que bloqueiam as interfaces de rede para que apenas essas funções e esses recursos tenham suporte, mas todos os clientes possam acessá-los. Entretanto, para otimizar realmente a segurança em seus servidores, você deve usar o ACS como parte integrante na criação de uma estratégia de isolamento de servidor. Para saber mais sobre isolamento de servidor (e seu irmão, isolamento de domínio), dê uma olhada em technet.microsoft.com/network/bb545651.

No Windows Server 2008 Security Resource Kit, há um capítulo sobre como proteger a rede com isolamento de servidor e de domínio. Ele também aborda como usar a modelagem de ameaças à rede para analisar a rede e facilitar a implantação do isolamento de servidor. O ACS é uma ferramenta valiosa nesse processo.

Você pode configurar restrições nas regras propostas selecionando a regra e clicando em Editar. Isso o remeterá à caixa de diálogo mostrada na Figura 6. Essa é uma das quatro páginas que permitem estabelecer restrições adicionais nas regras de sistema de rede. Por exemplo, você pode exigir autenticação IPsec. Isso lhe permite associar a porta a apenas certos pontos de extremidade. Por exemplo, você pode configurá-la para que permita administração remota apenas de certos hosts. Como você pode ver, é uma vantagem fundamental em relação aos Assistentes para Adicionar Funções e para Adicionar Recursos.

Figura 6 O ACS permite criar regras de firewall e de IPsec

Figura 6** O ACS permite criar regras de firewall e de IPsec **(Clique na imagem para aumentar a exibição)

Essa capacidade de criar regras de segurança da conexão baseadas nas funções selecionadas atende a dois objetivos importantes. Primeiro, ela oferece uma oportunidade de ouro para entender o que os servidores estão fazendo. Você não precisa nem criar um servidor; basta executar o assistente, fazer seleções diferentes e ver como elas afetam as opções nas páginas posteriores. Segundo, ela permite associar o conceito bem abstrato de porta a um conceito muito mais lógico de serviço, além de configurar restrições de rede baseadas exatamente no que o sistema está realmente fazendo.

Feito corretamente, isso permite desenvolver uma configuração bem firme para os servidores. A seção Sistema de Rede do ACS é, sem dúvida alguma, aquela à qual você deve dedicar a maior parte do tempo ao criar a diretiva de segurança para seus servidores.

O restante do ACS permite definir algumas configurações do Registro e auditoria. As configurações padrão desses parâmetros são adequadas para a maioria das organizações e, a menos que você tenha requisitos especiais, não há muito que fazer aqui.

Depois de criar sua diretiva, você pode salvá-la e aplicá-la ao computador no qual está trabalhando ou em outros computadores. Também pode transformar sua diretiva em um GPO (objeto de diretiva de grupo) usando o comando scwcmd.exe /transform.

Entretanto, caso haja configurações específicas de computador na diretiva, isso pode não dar certo – ou pode dar resultados bem estranhos. Por exemplo, se você criar restrições de ponto de extremidade que incluam adaptadores locais na seção de sistema de rede, a diretiva será considerada específica de computador e não será transformada com êxito. Isso se deve ao fato de que esses adaptadores precisam ser especificados por meio de GUIDs. O GUID de um adaptador em um computador não faz sentido em outro computador.

Portanto, o ACS costuma ser mais bem utilizado em uma base de servidor a servidor e como ferramenta de aprendizado. Para grandes farms de servidores, você pode usar o ACS como forma de aprender sobre os computadores e desenvolver uma diretiva básica. Depois você toma essa diretiva e a recria para ser implementada através de qualquer ferramenta usada para configurar os servidores, como Diretiva de Grupo ou um sistema corporativo de gerenciamento (o Microsoft Systems Center, por exemplo).

ACS versus Gerenciador de Servidores

Você já viu até agora que a metáfora usada para funções e recursos difere. Um "recurso" no ACS é algo que o computador faz para funcionar como cliente. Já uma "função" é algo que ele faz para funcionar como servidor.

Isso difere da metáfora usada nas ferramentas do Gerenciador de Servidores, nas quais uma função é uma coletânea de serviços e recursos que podem ser considerados uma unidade, e um recurso é algo que dá suporte às funções. Em essência, o Gerenciador de Servidores considera uma função como aquilo que motivou a compra do servidor. Os recursos são importantes, mas não foi para isso que você comprou o servidor. As duas metáforas e os dois usos diferentes dos mesmos termos tendem a confundir as pessoas. Você precisará parar e pensar sobre isso com cuidado antes de alternar entre as ferramentas.

Além disso, as ferramentas do Gerenciador de Servidores não são extensíveis. Elas foram projetadas para gerenciar apenas os componentes fornecidos com o Windows. Em compensação, os programas de terceiros instalados por você podem adicionar funções e recursos ao ACS. Você pode até escrever seus próprios recursos e funções. O white paper "Extending the Security Configuration Wizard" (disponível em go.microsoft.com/fwlink/?LinkId=107397) explica como fazer isso.

O ACS também desabilita componentes desnecessários. As ferramentas do Gerenciador de Servidores, por outro lado, implantam simplesmente os componentes solicitados, ou seja, não tocam em nada mais no computador. Se você precisar de ajuda para determinar quais componentes podem ser desnecessários, use o ACS.

Além disso, embora tanto o ACS como as ferramentas do Gerenciador de Servidores configurem a rede, o ACS é de longe mais eficaz nesse sentido. Se você estiver criando uma estratégia de isolamento de servidor, o ACS pode ser uma mina de ouro de informações e seu melhor amigo na implementação. Obviamente, esse é um tópico de administração de segurança avançada, mas o ACS é uma ferramenta de segurança avançada.

Finalmente, o ACS também irá definir algumas configurações de segurança adicionais que as ferramentas do Gerenciador de Servidores não configuram. No entanto, elas foram amplamente substituídas por controles mais efetivos – ou já definidos por padrão – no Windows Server 2008.

Jesper M. Johansson é engenheiro de segurança e trabalha com questões de segurança de software, além de ser editor-colaborador da TechNet Magazine. Ele possui PhD em MIS (sigla em inglês para Sistemas de Gerenciamento de Informação) e mais de 20 anos de experiência em segurança.

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