Início > Geral > Gestão de Vulnerabilidades em Servidores Windows (Parte 1 de 2)

Gestão de Vulnerabilidades em Servidores Windows (Parte 1 de 2)

Fiz uma pesquisa para o MBA sobre estratégias de gestão de vulnerabilidades em redes Windows. Bem, há muito o que se falar sobre esse tema, mas não me estendi muito. Vou divulgar meu artigo na íntegra aqui, mas dividido em duas partes.

Na primeira parte (esse post):

  1. Introdução
  2. Gestão de Vulnerabilidade
  3. Hardening Para Mitigação de Vulnerabilidades

Na segunda parte:

  1. Considerações de Segurança em Florestas
  2. Ferramentas Para Automação de Atualizações de Segurança
  3. Conclusão
  4. Bibliografia

Introdução

Atualmente, todas as empresas dependem da tecnologia da informação para a maioria de suas operações. A presença de tecnologia da informação demanda a necessidade de investimento em segurança da informação. A maioria das empresas de pequeno e médio portes e às vezes grandes empresas não têm consciência da questão da segurança da informação e frequentemente a ignoram.

O investimento em segurança é alto e intimidador para a diretoria, mas o impacto de não investir pode atingir os ativos da empresa e gerar um ônus ainda maior. A segurança da informação deve ser encarada como uma opção estratégica.

É difícil encontrar empresas que tenham a cultura da segurança. Onde falta a cultura é normal que os administradores da rede sejam reativos quando um ataque ocorre, mas quando se fala em gerenciar algo é esperado que se adote uma postura pró-ativa.

À partir da postura pró-ativa nasce uma visão gerencial que acarreta a criação de processos para antecipar e mitigar as muitas vulnerabilidades às quais os sistemas em geral – e servidores Windows em particular – estão sujeitos.

Esse artigo é o resultado do levantamento de informações presentes em vários sites especializados, blogs e whitepapers disponíveis online. O objetivo principal é fazer com que o leitor entenda o que é uma vulnerabilidade e saiba da importância de se fazer sua gestão. O grande benefício do que será exposto é a listagem de algumas das melhores práticas para se blindar um servidor Windows e como fazer isso de forma automatizada.

Embora a pesquisa seja focada no Windows 2008, a maioria das recomendações aqui presentes também se aplica ao Windows 2003.

Gestão de Vulnerabilidade

Todos os envolvidos na gestão de vulnerabilidades devem estar familiarizados com o significado do termo vulnerabilidade para entenderem o que é necessário para lidar com ela. De acordo com Technet (2014c), “uma vulnerabilidade de segurança é um ponto fraco em um produto que pode permitir a um atacante comprometer a integridade, a disponibilidade ou a confidencialidade de um produto”. Outras definições importantes relacionadas à segurança são (INFOSEC, 2014):

  • Risco: Probabilidade de ocorrência de um incidente motivada pela exploração de vulnerabilidades.
  • Ameaça: Um evento ou ação que poderia prejudicar a segurança.
  • Ataque: Qualquer ação que tenta violar a segurança de um sistema.
  • Exploração: Uma sequência de comandos cujo objetivo é explorar uma falha ou vulnerabilidade em um sistema.
  • Integridade: Confiabilidade de um recurso. Um atacante pode explorar um ponto fraco em um produto para modificá-lo sem autorização.
  • Disponibilidade: Possibilidade de acesso a um produto. Um atacante pode explorar um ponto fraco em um produto impedindo usuários de acessá-lo.
  • Confiabilidade: Limitação de acesso à informação em um recurso para pessoas não autorizadas. Um atacante pode explorar um ponto fraco em um produto para acessar informações privadas.

Às vezes, scanning ou varredura de vulnerabilidade é confundido com gerenciamento de vulnerabilidades, porém, o scanning é apenas um sub processo que consiste em utilizar ferramentas para procurar configurações inseguras e portas de comunicação abertas, por exemplo. Gerenciar vulnerabilidades abrange o scanning em um processo contínuo de identificação, classificação, contenção e mitigação das vulnerabilidades.

De acordo com SEARCHSECURITY.IN (2014), o gerenciamento de vulnerabilidades possui processos para:

  • Checagem de vulnerabilidades: Varredura da rede, log de firewall, teste de penetração ou um scanning de vulnerabilidade.
  • Identificação de vulnerabilidades: Analisar varreduras de rede e resultados de teste de penetração, logs de firewall ou resultados de scanning de vulnerabilidades para encontrar anomalias que sugiram um ataque de malware ou outro evento malicioso que explora ou pode explorar vulnerabilidade.
  • Verificação de vulnerabilidades: Averiguar se as vulnerabilidades encontradas poderiam realmente ser exploradas em servidores, aplicações, redes ou outros sistemas. Também inclui classificar a severidade de uma vulnerabilidade e o nível de risco que ela representa para a organização.
  • Mitigação de vulnerabilidades: Descoberta de como prevenir que vulnerabilidades sejam exploradas antes que uma correção esteja disponível ou em caso de não ter uma correção. Isso pode ser feito desligando a parte do sistema afetada (desde que não seja crítica) ou criar algum contorno.
  • Correção de vulnerabilidades: Obter correções – normalmente de fornecedores do software afetado – e aplicá-las. Isto é feito às vezes em um processo automatizado por ferramentas de gerenciamento de atualizações.

Muitas empresas acham que o fato de se ter uma pessoa, uma equipe ou mesmo um departamento responsável pela infraestrutura em geral e pela manutenção de servidores em particular é o suficiente. Esses profissionais, em seus cotidianos, lidam com incidentes, mas não os antecipam. Reatividade a uma situação não é gerenciamento. Gerenciar uma vulnerabilidade necessariamente é um processo pró-ativo; um processo de antecipação e acompanhamento. É necessário agir para mapear ameaças e se antecipar aos problemas e ter um processo para acompanhá-las. É recomendável atenção aos boletins de segurança mensais disponibilizados pela Microsoft (SEGURANÇA, 2014b) para planejar as ações.

Sem um processo de gerenciamento de vulnerabilidades, a organização não percebe os riscos relacionados à segurança (PALMERS, 2014). Com um processo bem definido, uma organização pode ter a visão contínua do risco associado com a presença de vulnerabilidades em seus sistemas. Isso permite mais informação para a tomada de decisões com relação a ações de remediação.

Além da possibilidade da identificação e da remediação, a grande contribuição do gerenciamento de vulnerabilidade é o mapeamento antecipado das ameaças existentes e das configurações que as potencializam. Dessa formar, um administrador tem mais subsídios para priorizar e começar o processo de mitigação de vulnerabilidades.

Para convencer a diretoria da organização da importância do gerenciamento de vulnerabilidades, basta apresentar os ganhos financeiros. Um processo de gerenciamento de vulnerabilidades bem organizado pode reduzir o tempo de parada nos ativos da organização. Sendo assim, mais recursos estarão disponíveis para outras atividades. A mitigação de vulnerabilidades acarreta maior proteção às informações confidencias da organização, de seus clientes e de seus parceiros.

Hardening Para Mitigação de Vulnerabilidades

Hardening (blindagem, em português) é a redução da área de ataque por meio da inativação de funcionalidades que não são requeridas, mas mantendo ativas o mínimo de funcionalidades que são requeridas. Em outras palavras, é o processo de configurar um sistema para eliminar tantas vulnerabilidades quanto possível. Esse processo deve ser conduzido em cada servidor considerando que as características dos servidores mudam dramaticamente dependendo das suas aplicações (impressão, domain controller, etc) e localização na rede (interna, acessível pela Internet, etc) (INFOSEC, 2014).

O princípio por trás da blindagem é assumir que vulnerabilidades desconhecidas existem e bloquear os pontos potenciais de entrada. Essa ação não elimina a necessidade de mitigar vulnerabilidades; sua meta é reduzir as ameaças potenciais e contê-las o máximo possível (GUIA, 2014).

Deve-se encontrar o equilíbrio correto entre a blindagem do sistema contra potenciais ameaças e a manutenção da usabilidade. Para minimizar os riscos inerentes às ameaças, deve-se remover todos os softwares desnecessários, contas de usuário não utilizadas e desabilitar serviços desnecessários. Uma aplicação desnecessária pode conter uma vulnerabilidade que pode ser encontrada pela pessoa errada.

É importante entender que mesmo que um servidor não armazene dados importantes, ainda assim é essencial que ele seja seguro. Se, por exemplo, um servidor aparentemente sem importância não tem políticas de segurança sólidas configuradas, ele pode ser utilizado como o pivô de um ataque que tenha o objetivo de fazer o reconhecimento e a coleta de informações para orquestrar ataques mais eficazes para procurar e roubar dados confidenciais da organização.

Não há uma solução geral de blindagem que se adapte a todas as necessidades (SEARCHWINDOWSSERVER, 2014b). Deve-se determinar onde os riscos estão e utilizar os recursos disponíveis para criar a solução que melhor se adapte à necessidade da organização. Por exemplo, log de auditoria pode ser importantíssimo para uma empresa, mas apenas desejável para outra.

Embora o conceito de blindagem não seja exclusivo de sistemas Windows, historicamente ele é o mais vulnerável de todos, pois é o que acumula mais funções, o que acarreta mais trabalho para o administrador. Para cada família de sistemas operacionais há uma boa prática recomendada para blindagem contra ataques (GUIA, 2014).

De acordo com Tevora (2014), algumas das melhores práticas para diminuir a exposição de servidores Windows 2008 são.

  • Configurar a política de segurança: Para configurar a política de segurança, é necessário utilizar o SCW (Security Configuration Wizard). Ele permite desabilitar serviços baseado nas regras do servidor, remover regras de firewall não utilizadas, restringir regras de firewall existentes e definir políticas de auditoria restritas.
  • Desabilitar ou deletar contas desnecessárias, portas e serviços: Para limitar os pontos de entrada e inibir ataques, devem-se bloquear portas e protocolos não utilizados e desabilitar serviços não necessários. As contas de administrador, guest e assistente de ajuda devem estar sempre desabilitadas.
  • Desinstalar aplicações não necessárias: Como o servidor é uma parte vital da rede e serviços fornecidos, as aplicações presentes no servidores devem se restringir ao mínimo necessário. Caso uma aplicação não seja necessária, ela deve ser desinstalada, pois mais softwares representam mais trabalho para o administrador no esforço de blindagem.
  • Configurar o firewall do Windows: Uma boa prática de segurança é que todos os servidores devem ter seu próprio firewall.
  • Configurar auditoria: Além de auditar quem fez a alteração e que atributo foi alterado, é possível comparar o valor anterior e o valor alterado. Essa comparação não era possível no Windows 2003, pois ele armazenava apenas o estado final do atributo.
  • Desabilitar compartilhamentos desnecessários: Os administradores devem configurar todos os compartilhamentos como hidden e fazer a blindagem de todas as permissões NTFS.
  • Configurar a encriptação: Os administradores podem utilizar o BitLocker, que é um encriptador de dados armazenados em disco.
  • Atualizações e hot fixes: Administradores devem estar constantemente atualizando e aplicando patches de segurança em seus servidores para evitar vulnerabilidades de zero-day. O WSUS (Windows Server Update Services) gerencia as atualizações automáticas. O MBSA (Microsoft Baseline Security Analyzer) auxilia na determinação do estado de segurança de acordo com as recomendações da Microsoft. Ele ajuda a detectar configurações incorretas e atualizações de segurança que estejam faltando.
  • Antivírus e NAP: Os antivírus são essenciais para combater a execução de código malicioso. O NAP (Network Access Protection) ajuda os administradores a impedir a propagação de vírus na rede.
  • Minimizar privilégios: Um servidor deve ter acesso reduzido ao mínimo de operações necessárias. A maioria das brechas de segurança são frequentemente causadas por privilégios elevados dados às contas. Serviços de servidor não devem ser configurados utilizando contas de administrador.

Blindar um computador envolve vários passos para formar camadas de proteção criando uma defesa em profundidade (SCARFONE, 2014). As organizações precisam entender que um simples mecanismo de segurança em geral não é insuficiente. São necessárias camadas de mecanismos (defesas) para tornar a segurança mais eficaz.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: