Nesse post, vou fazer uma rápida introdução sobre o que é hardenização. A palavra pode não ser tão comum, nem tão conhecida, mas todo mundo que se preocupa com segurança já fez hardenização alguma vez na vida.
Hardenização é a técnica de deixar os sistemas mais seguros contra ataques. Essa técnica consiste em desabilitar os serviços não necessários no sistema, deixando somente o essencial ao funcionamento que desejamos. A ideia aqui é diminuir a “superfície de ataque” que um sistema possui.
A superfície de ataque consiste em todos os elementos passiveis de ataque em um sistema, sejam eles contas de usuários, aplicativos em execução, funcionalidades habilitadas, permissões de acesso “abertas” demais, entre outras.
Existem diversas técnicas para se alcançar esse resultado, e alguns sistemas são mais facilmente hardenizados do que outros. O Windows Server, desde sua versão 2008, adotou mais profundamente a ideia de hardenização oferecendo diversas possibilidades para reduzir sua superfície de ataque. A mais “radical” implementação foi a disponibilização do modo “server core”.
Nessa modalidade de instalação o Windows é removido de todos os componentes não indispensáveis para o funcionamento do sistema, incluindo todas as interfaces gráficas de configuração.
Além disso, a instalação padrão do Windows 2008 vem sem nenhum serviço instalado por padrão. Melhor do que isso: ele vem sem nenhum serviço instalado! Isso quer dizer que não existe o risco de habilitarmos algum serviço, a não ser que realmente desejemos fazê-lo.
Uma técnica comum para a implementação de hardenização é a do privilégio mínimo. A ideia dessa técnica é que somente devemos conceder permissões que realmente serão necessárias para a execução de uma tarefa, e nada além disso.
Por exemplo, se formos instalar um servidor Web, é obvio que esse serviço não precisa ser executado com permissões de administrador, embora essa seja uma prática comum, por questões de facilidade. No entanto, se o servidor apresenta alguma vulnerabilidade, os ataques que exploram essa vulnerabilidade terão acesso de administrador a máquina.
As melhores práticas ditam que devemos criar um novo usuário, com permissões restritas as pastas que contenham os arquivos que serão servidos, e usar esse usuário para executar o servidor web. Dessa maneira garantimos que, caso o serviço seja comprometido, somente a pasta que esse usuário tenha acesso estará exposta. O resto do servidor continuará seguro.
Em um próximo post, vou falar de algumas técnicas para a hardenização de servidores Windows 2008 e Linux.
Marcadores: hardenização, teoria