O que é Hardening e por que isso é importante?

Diminua sua superfície de ataque aos seus ativos com boas práticas de segurança da informação

Hardening

O “hardening” (palavra que em português significa “endurecimento”) de sistemas é uma coleção de ferramentas, técnicas e práticas recomendadas para reduzir as vulnerabilidades em softwares, sistemas, infraestrutura, firmwares e hardwares. O objetivo desta prática, considerada um fundamento, é reduzir os riscos de segurança, eliminando ou limitando os vetores de ataques em potencial e diminuindo a superfície de ataque. Isto tornará o trabalho de atacantes cibernéticos para alcançar seus objetivos criminosos cada vez mais difícil e exigirá o empenho de mais tempo, esforços e recursos financeiros

Ao remover configurações supérfluas, funções padrão em contas, softwares, portas, permissões e acessos desnecessários, os atores maliciosos e softwares mal-intencionados tem menos oportunidades de comprometer ambientes e os riscos de exposição de dados e de um possível vazamento das informações armazenadas em ativos críticos da organização são reduzidos.

Existem excelentes referências ou guias de implementação de hardening, amplamente difundidas e disponíveis para qualquer organização, independentemente do tamanho ou vertical de negócio e que podem ser aplicados imediatamente. De fato, este tipo de implementação é um trabalho contínuo e minucioso, e considerado um dos fundamentos da cibersegurança, mas é frequentemente negligenciado.

Etapas de Execução

Os ambientes corporativos modernos confiam em infraestrutura computacional, baseada em interfaces, para permitir a troca e o processamento de informações. Estas interfaces podem ser: entre módulos de um sistema operacional, entre um sistema e outro ou entre um usuário humano e um sistema. O controle sobre estas interfaces é feito através de parâmetros e configurações dos sistemas e é exatamente aí que o hardening vai atuar majoritariamente.

Como já citamos, existem várias referências para o que realizar em cada sistema para uma segurança mais robusta, mas a execução das etapas de implementação segue normalmente algumas etapas que são comuns, independentemente da referência adotada. Abaixo, seguem nove etapas críticas recomendadas pelo Diretório Nacional Cibernético de Israel (National Cyber Directorate):

O que é Hardening e por que isso é importante? seguranca-da-informacao
Fonte: https://www.gov.il/BlobFolder/generalpage/hardingcomputersystem/en/hardening.pdf
  • Identifique os ativos da organização e suas características:

Quais são os ativos críticos, mais expostos, sua localização, versão, edição, fabricante, entre outras informações.

  • Escolha um guia de referência para o hardening:

Escolha uma referência e metodologia que sejam compatíveis com o ambiente, referendados pelo mercado e de utilização ampla. O modelo de referência também deve ser bem documentado para facilitar o esclarecimento de possíveis dúvidas.

  • Escolha um nível de implementação de hardening:

Verifique a documentação sobre os níveis de implementação existentes no modelo de referência escolhido para que não ocorram problemas de quebras de funcionalidade e dificuldade de aderência à política de segurança vigente.

  • Verifique a compatibilidade em ambiente de teste:

Implemente, inicialmente, em ambiente de teste que simule o ambiente produtivo da organização para assegurar a compatibilidade e operação sem impactos (ou pelo menos o menor impacto possível) do sistema ou aplicação alvo. Se algum parâmetro ou configuração não puder ser aplicada, o procedimento de hardening deverá ser atualizado para refletir a mudança e os riscos envolvidos, não endereçados, documentados e reportados à alta gestão.

  • Verifique a compatibilidade dos procedimentos de rollback:

O procedimento de rollback deve ser validado em ambiente de teste antes do início da implementação em produção para o caso de necessidade de reversão da configuração feita. As dificuldades e riscos envolvidos na execução do rollback também devem ser documentadas.

  • Verifique a compatibilidade em ambiente de produção:

Inicie a implementação em um conjunto pequeno de ativos de produção, cuja criticidade seja baixa. A ideia por trás deste item é garantir uma boa amostra e identificação de algum cenário de problema. Em alguns casos, o sistema/aplicação deverão ser atualizados antes da implementação do hardening.

  • Implemente o hardening no ambiente de produção:

A implementação deverá ocorrer de maneira gradual e ser monitorada de perto. Pode-se utilizar uma “golden image” ou ferramentas de gestão de configuração e automação de rotinas. Ferramentas que permitem a reaplicação do procedimento de hardening em intervalos definidos são desejáveis (e.g. GPO).

  • Verifique a conformidade da aplicação do hardening:

Utilize ferramentas para verificar a eficácia da implementação. Caso alguma anomalia seja detectada, alertas devem ser emitidos e, caso algum procedimento tenha sido comprometido, deverá ser reaplicado.

  • Verifique se o hardening está atualizado:

Periodicamente, avalie se o procedimento de hardening implementado na organização está atualizado e aderente à política de segurança da informação. Os organismos responsáveis pelos modelos de referência de hardening atualizam seus documentos com frequência, incluindo novos parâmetros ou correções em procedimentos existentes.

Algumas práticas para aplicação de Hardening:

  • Hardware Hardening

Os firmwares legados da BIOS e UEFI são a primeira camada de software executada quando sistemas de computador baseados em arquitetura x86 são inicializados e são responsáveis por realizar a verificação de todo o hardware antes da subida do Sistema Operacional (S.O). Existem alguns exemplos de recomendações e práticas relevantes para estes sistemas, como: a migração de sistemas que utilizam BIOS legada para UEFI, o uso do modo de Boot Seguro e configuração de auditoria de módulos do firmware e de imagens de S.O, a ativação de uma senha de administrador na inicialização e a atualização regular do firmware da BIOS/UEFI, mas somente com imagens assinadas pelo fabricante.

  • Segregação de funções em servidores

Como um servidor web precisa estar exposto à internet, os níveis de implementação de hardening são diferentes se comparado a um servidor de banco de dados, localizado em camadas mais internas do ambiente da organização e sem conexão direta com a internet.

Uma boa prática é a segregação de funções em ativos servidores, não utilizando o mesmo servidor para diversos serviços e aplicações, uma vez que um serviço é comprometido, todo o ativo pode ter sua operação impactada e gerar custos para a organização devido ao comprometimento e indisponibilidade.

O uso de virtualização de servidores é uma maneira econômica e segura para segregar as aplicações do ambiente em servidores virtuais, com níveis de segurança adequados a cada servidor.

  • Contas/Credenciais

Altere ou remova as credenciais padrão do sistema antes de colocar qualquer ativo, crítico ou não, em produção.

Adote uma política de senhas robusta e compatível com o nível de tolerância da organização. Garanta que valores de senhas amplamente conhecidos e vulneráveis não sejam permitidos.

Exija a troca de senhas periodicamente e, em caso de contas de terceiros, crie contas com data de expiração conforme o prazo do contrato.

  • Serviços e Componentes de Sistemas

Desative todos os serviços desnecessários, scripts e drivers que não são essenciais para o funcionamento do servidor.

Para ambientes Microsoft Windows, ative somente os recursos necessários em um servidor ou estação de trabalho.

Em servidores/estações Linux, remova os pacotes e desative os programas/processos que não sejam necessários.

Ative somente as portas necessárias para o funcionamento dos serviços, implementando um firewall de host ou uma solução de anti-malware com firewall para gerenciamento do fluxo de dados.

  • Atualizações de segurança

A aplicação de atualizações de segurança tanto para o sistema operacional quanto para as aplicações é fundamental para a segurança de um ativo e pode evitar que ataques de execução remota ou exploração de memória aconteçam.

  • Configurações corretas de data e hora

Verifique se as configurações de data e hora estão corretas. Tenha servidores NTP configurados na rede para garantir que todos os ativos e dispositivos de rede tenham as informações de data/hora sincronizadas.

A falta de sincronismo de horário entre os elementos do ambiente dificulta a rastreabilidade e correlação de eventos caso um incidente ocorra.

  • Logs

Ative os logs de auditoria em sistemas operacionais e aplicações, garantindo espaço para armazenamento e rotatividade regular.

  • Acesso remoto

Permita que o acesso remoto aos recursos da organização seja realizado somente através de VPN, nunca expondo protocolos de comunicação remota, como o “Remote Desktop Protocol” (RDP) diretamente na Internet.

Aplique múltiplos fatores de autenticação desta VPN quando possível. Atualmente, várias soluções possuem serviços nativos ou permitem a integração com provedores de serviços em nuvem para tal.

  • Imagens base (ou “Golden Images”)

Com as devidas configurações de segurança aplicadas no sistema operacional e aplicações, a criação de uma imagem base e sua posterior utilização em novas implementações, seja de servidores ou estações, diminui o tempo necessário para colocação do mesmo em operação e garante que o ativo esteja de acordo com as configurações de segurança impostas.

  • Soluções de Gestão de Configuração

Ferramentas de gestão de configuração podem apoiar no processo de implementação dos procedimentos do hardening definido pela organização, bem como na auditoria e garantia de implementação. O uso deste tipo de recurso vai permitir que alertas sejam gerados em caso de falha de conformidade de um parâmetro, ou configuração, e, se for desejável, reverter o parâmetro identificado para o seu valor esperado.

  • Análises e Testes de Validação

Garanta a existência de processos de testes para validação do trabalho de implementação de hardening. Dentre estes processos, inclua as etapas de análise de vulnerabilidades, para a identificação de ativos fora do padrão estabelecido e vulnerabilidades residuais, e de testes de intrusão. Os testes também podem identificar necessidades de ajustes nos procedimentos de hardening adotados ou até uma mudança de nível de implementação.

Conclusão

Ter um guia de referência de implementação de hardening e os recursos para a sua aplicação na organização é fundamental. Como citamos, a prática do hardening é uma disciplina básica da cibersegurança e inclusa dentro de um conjunto de boas práticas tido como “Higiene Cibernética”, práticas estas capazes de reduzir e mitigar os riscos de concretização de ameaças na organização.

Sistemas mal configurados ou configurados de maneira insegura, sem uma revisão e ajustes feitos por administradores, podem ser uma brecha para que pessoas mal intencionadas possam comprometê-los facilmente e causem impactos nos negócios. 

Há algum custo?

Muitas vezes, as configurações de hardening podem ser implementadas usando recursos próprios, seguindo baselines/guias de configurações disponibilizados gratuitamente na Internet, como o CIS Benchmarks (https://www.cisecurity.org/cis-benchmarks/ )   e os “Security Baselines” fornecidos pela Microsoft (https://techcommunity.microsoft.com/t5/microsoft-security-baselines/bg-p/Microsoft-Security-Baselines).

 

Referências

The National Cyber Directorate – Israel

Systems Hardening

CIS Controls

Microsoft Security Baselines

Cybersecurity Technical Report: UEFI Secure Boot Customization, National Security Agency