Durante meus primeiros anos como técnico de suporte e administrador de sistemas de TI (e então com menos experiência profissional e pouco material disponível na rede), me recordo de ter topado com diversos conceitos do mundo da Cibersegurança, que, embora eu os entendesse em nível conceitual, não consegui encontrar um único lugar que reunisse informações suficientes e me permitisse aplicar todos esses conceitos de forma ordenada e metodológica. E isso me motivou a querer compartilhar alguns conceitos teóricos, assim como ferramentas e recursos úteis para a sua aplicação.

O que é defesa em profundidade?

Este conceito, como muitos outros, tem suas origens etimológicas no mundo militar, sendo a defesa em profundidade uma estratégia que procura atrasar e retardar o avanço de um inimigo em vez de pensar em termos de um único método de detê-lo completamente. A defesa em profundidade pode atrasar o avanço de um exército inimigo o suficiente para fazê-lo perder força e ímpeto e proporcionar um tempo adicional valioso para desenvolver uma resposta mais eficaz.

Como vemos, incluindo os mais hábeis estrategistas e defensores da antiguidade já entendiam que nem todos os ataques podem ser evitados, e que eventualmente incluindo as melhores defesas podem chegar a ser superadas.

Defensa em profundidade aplicada a TI e a cibersegurança

Os sistemas de TI não foram concebidos com segurança por predefinição, pois foram desenvolvidos principalmente para serem funcionais e práticos para as exigências dos usuários e necessidades comerciais. Além disso, ainda atualmente, a arquitetura de muitos sistemas e soluções de TI (como a própria Internet) são em grande parte descendentes de tecnologias e especificações de outros tempos (os anos 80, 90 ou a primeira década do século XXI), e estas não foram desenvolvidas tendo a segurança como premissa primária.

No mundo da cibersegurança não existe método infalível. Por tanto, um bom ponto de partida para enfrentar os desafios que surgem é praticando uma abordagem de segurança em múltiplas camadas, também conhecida como Defesa em Profundidade ou DiD, sua sigla em inglês.

Segundo o CIS ( Center of Internet Security), diante essa abordagem se pretende implementar uma série de mecanismos e controles tecnológicos heterogeneos de forma seletiva para proteger a confidenciabilidade, a integridade e a disponilidadede da rede e dos dados que contem. Embora nenhuma tecnologia ou controle individual possa conter todas as ameaças e ataques, juntos eles proporcionam atenuações contra uma grande variedade de ameaças e ataques, enquanto incorporam diversidade e redundância caso algum mecanismo ou controle em particular falhe.

Agora que já introduzimos esses conceitos, compartilhamos uma série de recomendações e recursos que vão desde o geral até o mais específico,e que são orientadas para o que consideramos serem os eixos principais para começar com a aplicação de práticas introdutórias relacionadas à Defesa em Profundidade.

Vale esclarecer que esta publicação trata apenas dos controles técnicos orientados à Tecnologia e Sistemas de Informação em si, deixando de fora outros eixos complementares, mas igualmente importantes (e que requerem artigos dedicados), que compõem o resto da tríade: Tecnologia + Processos + Pessoas.

Dicas para implementar esta estratégia de cibersegurança

Descobrimento e gestão de ativos

O primeiro passo é identificar os dispositivos e ativos (incluindo os dados) que devem ser protegidos e monitorá-los. Não é possível proteger um ativo se não sabemos que ele existe,  por isso é indispensável ter visibilidade de todos os ativos que pertencem à organização e que tenham acesso à mesma. Isso nos ajudará a identificar a superfície de ataque que devemos proteger e como podemos fazer isso.

  • Realizar cópias de segurança periodicamente e garantir seu funcionamento testando eventualmente a restauração delas (BCP/DRP)
  • Identificar os sistemas existentes (estações de trabalho, servidores, dispositivos móveis), assim como o que está instalado e na execução dos mesmos (por exemplo, quais aplicativos, serviços e portos abertos se encontram presentes).
  • Realizar um inventário de Hardware e Software das equipes e atualizar periodicamente.
  • Implementar sistemas de autenticação para garantir que apenas os dispositivos e usuários autorizados tenham acesso aos recursos da rede. 
  • Apoiar em soluções de "Asset Management & Discovery" ou "Remote Monitoring & Management" (RMM).
  • Desinstalar softwares e desabilitar serviços desnecessários para reduzir a superfície de ataque.

Veja mais:Shadow IT: entenda o que é e quais riscos pode ocasionar

Patches e atualizações de software

O software é desenvolvido por humanos, por isso, é propenso a falhas. Quanto mais completo e funcional é um programa, mais aumenta a probabilidade de que contenha erros em seu código que podem ser aproveitados para fins maliciosos. 

No contexto da cibersegurança, um patch é uma atualização de software que corrige vulnerabilidades ou problemas de segurança. Os desenvolvedores de software emitem esses “patches” quando se descobrem falhas. 

  • Manter o Sistema de Operação e os aplicativos de terceiros atualizados para evitar a exploração de vulnerabilidades conhecidas.
  • Monitorar o estado de instalação de patches e atualizações de cada sistma/host.
  • Avaliar se todas as atualizações são necessárias ou obrigatórias. Priorizar as atualizações ou patches de segurança ao invés de atualizações de layout. 
  • É possível configurar os sistemas para apenas obter e instalar as atualizações de seguranças, ou as atualizações “críticas” e “importantes”. 
  • Programar dias e horas específicas para instalar as mesmas. 
  • Testar as atualizações de software em ambientes de prova/stagging.

Proteger protocolos e serviços

  • Implementar serviços e protocolos seguros (HTTPS, SSH, SCP ou SFTP, DoH/DNSSEC, SMTP, POP3 ou IMAP sobre SSL/TLS). Evitar protocolos que não foram feitos para serem seguros. Por exemplo, HTTP, telnet, rsh, FTP ou DNS.
  • Desabilitar serviços que não são utilizados ou que não sejam necessários para diminuir a superfície de ataque. 
  • Monitorear principalmente serviços como HTTP/S, SSH, RDP, FTP, VNC, DNS, SMB/SAMBA, e aplicativos como MS-SQL Server, MySQL e aplicativos da web em geral.
  • Prestar atenção a serviços e portos que permitam a administração dos sistemas na rede (RDP, SSH, VNC, webmin, portais da web, roteadores e gateways). 
  • Alterar os portos com defeitos nos serviços, que permitem a administração dos sistemas para evitar ataques automáticos (RDP, SSH, FTP, MS-SQL, MySQL). 
  • Sempre que possível, implemente soluções de autenticação centralizadas (Kerberos, RADIUS, TACACS) e soluções de 2FA/MFA, sobre toda a superfície dos serviços e ativos que estão ativos e que são expostos diretamente na Internet ou na DMZ.

Contas de usuários e senhas 

  • Desativar contas padrão como "Administrador", "Administrator", "admin", "root".
  • Monitorar os controles de acesso e o comportamento dos usuários com permissões administrativas. 
  • Utilizar senhas grandes e completas (mais de 12 caracteres incluindo letras, números e símbolos  especiais)
  • Configurar o tempo máximo de vida e expiração das senhas (pelo menos a cada 2 meses).
  • Bloquear as contas dos usuários depois de uma quantidade X de tentativas de login falhos (Exemplo: 8 tentativas). 
  • Acrescentar métodos de autenticação adicionais (MFA) sempre que for possível: 2FA, chaves físicas, autenticação por biometria. 
  • Armazenar as senhas de forma segura através de geradores de senha (não guardar as mesmas em navegadores web ou documentos sem criptografia).
  • Não utilizar as mesmas senhas para vários serviços.
  • Não compartilhar as senhas e os acessos com nenhuma outra pessoa. Se caso for estritamente necessário, utilizar um meio seguro. 
  • Se assegurar que os sistemas que armazenam senhas, o façam de forma segura (hashing ou suites de criptografia robustas).

Veja mais: Princípio do menor privilégio: a estratégia de limitar o acesso ao que é essencial

Implementação e configuração de soluções Antimalware

São uma ferramenta indispensável, e do ponto de vista do host são a primeira, ou a última, linha de defesa contra a vasta maioria das ameaças atuais e proporcionam remediação automática contra o malware e diversos ataques sofisticados. Entretanto, é importante entender que eles são apenas mais um - embora importante - elo da cadeia de defesa em profundidade, que é apenas tão forte quanto seu elo mais fraco.

  • Manter as soluções de segurança atualizadas, tanto na detecção de assinaturas, quanto nas versões de software e componentes, já que elas eventualmente incorporam novas funcionalidades de proteção.
  • Configurar as soluções de tal forma que monitorem o sistema de arquivos, o registro, a memória e os protocolos e serviços de rede subjacentes.
  • Habilitar proteção opcional contra outros tipos de software que não sejam malware per se (por exemplo, Aplicações Potencialmente Inseguras, Aplicações Potencialmente Indesejadas, etc.).
  • Habilitar múltiplas tecnologias disponíveis nestas para cobrir cenários de pré-execução, execução e pós-execução de malware, ou seja, proteção multicamadas.
  • Avaliar o uso de tecnologias adicionais presentes nestas, como Controle de Dispositivos, Controle de Aplicações e Filtragem de Conteúdo Web.
  • Programar digitalizações abrangentes de computadores sob demanda regularmente (pelo menos mensalmente).
  • Instalas estas soluções em vários sistemas operacionais (Windows, Linux, BSD, Android, OSx).
  • Configurar a proteção por senha da configuração de produtos de segurança para evitar que pessoas mal-intencionadas com credenciais administrativas as desinstalem ou façam modificações indesejadas nelas.
Exemplo de como diferentes tecnologias e funcionalidades em soluções de segurança podem detectar e bloquear sinais de ataques avançados.

 

Auditoria e registros de eventos

Os registros de auditoria fornecem informações sobre eventos e modificações feitas nos sistemas. Diferentes dispositivos e usuários em uma rede geram logs baseados em eventos que geralmente estão relacionados a uma sequência ou atividades específicas, permitindo visibilidade e rastreabilidade dos eventos. Eles tipicamente capturam eventos que nos permitem registrar onde ocorreu uma atividade, quem a realizou, que atividade realizaram e como o sistema respondeu. Na maioria dos casos, eles nos ajudam a responder três perguntas-chave: quem, como e quando.

  • Garantir que computadores e vários serviços utilizem um número suficiente de verificações de login para que os eventos de segurança registrados forneçam informações detalhadas.
  • Habilitar e instalar atualizações de software que permitam auditorias adicionais das execuções de comandos no Windows.
  • Permitir configurações básicas de auditoria de segurança em sistemas Windows via diretriz.
  • Use um serviço de login de registros de eventos do tipo Syslog.
  • Considere a implementação de sistemas de correlação de eventos (SIEM). Para organizações mais maduras, é aconselhável avaliar a implementação de sistemas de orquestração de segurança, administração e resposta (SOAR).
  • Considere a implementação de soluções EDR, especialmente para ativos críticos ou altamente expostos. Integrar-se com Syslog, SIEM ou SOAR.
  • Considere a adoção de soluções DLP, que permitem um maior controle sobre o fluxo de dados organizacionais, podendo categorizar informações sensíveis. Integre-os com Syslog, SIEM ou SOAR.

Segurança ofensiva

Para poder defender-se melhor, é necessário aprender como os adversários atacam. Embora a segurança ofensiva não esteja estritamente relacionada à defesa em profundidade, a defesa em profundidade é indispensável para testar a resistência desta estratégia. Neste sentido, o mundo da segurança ofensiva oferece uma grande variedade de possibilidades que são aplicáveis a organizações com diferentes níveis de maturidade em termos de segurança. Entre as várias opções estão Vulnerability Scanning, Vulnerability Assesments, Penetration Tests e Exercícios de Red & Purple team, tais como Emulação Adversária.

Dicas específicas para alguns dos protocolos e serviços mais comuns

RDP

  • Desativar o serviço de RDP caso não seja necessário.
  • Implementar uma solução 2FA/MFA.
  • Restringir o acesso aos usuários, IPs e hosts que realmente precisam dele (lista branca).
  • A utilização de uma porta diferente da padrão (3389) ajudará a evitar ataques automatizados.
  • Aplicar a autenticação em nível de rede (NLA).
  • Considere a implementação de soluções wail2ban ou similares.

SMB/ Recursos compatilhados

  • Desativar o serviço SMB/SAMBA e o compartilhamento de arquivos, caso não sejam necessários.
  • Criar uma regra no firewall do Windows para bloquear conexões de entrada nas portas 445 e 139 ou restringir o acesso a usuários, IPs e hosts que realmente precisam dela (lista branca).
  • Configurar recursos compartilhados com permissões específicas e os menores privilégios de acesso possíveis, pois pode ser o caso de computadores com unidades de rede compartilhadas com o resto dos computadores e de haver uma máquina maliciosa ou desprotegida na rede com privilégios de acesso que pode abusar desses recursos.
  • Desabilitar versões inseguras do protocolo, como SMBv1.
  • Forçar a assinatura de conexões via SMB.
  • Desativar as sessões nulas das SMB.

SSH

  • Desabilitar o login através do usuário root/administrador.
  • Desabilitar a autenticação do usuário/senha (de preferência, usar métodos mais robustos como o esquema PKI: chave pública + chave privada, ou métodos alternativos).
  • Adicione um 2FA/MFA.
  • Restringir o acesso ao serviço aos usuários e IPs que realmente precisam dele (lista branca).
  • Alterar a porta padrão (22) para evitar ataques automatizados.
  • Implementar soluções do tipo fail2ban

Servidores de Banco de Dados: Servidor MySQL/MS-SQL

  • Desativar login via usuário root/sa.
  • Adicione um 2FA/MFA.
  • Mudar as portas padrão para evitar ataques automáticos (3306, 1433, 14222).
  • Conexões tunalizadas via SSH.
  • A menos que necessário, é importante que o servidor de banco de dados não seja acessível por outros hosts fora da mesma máquina/servidor onde a aplicação que utilizará o banco de dados está localizada (quanto mais expor este serviço na Internet). Recomenda-se configurar o servidor de banco de dados para ouvir apenas no localhost (127.0.0.1) ou criar regras nas firewalls de acordo, permitindo a conexão com usuários e IPs que realmente precisam dele.

Servidores Web (protocolos HTTP/HTTPS)

  • Manter servidores web em versões atualizadas e com suporte ativo para evitar a exploração de vulnerabilidades conhecidas.
  • Manter somente os métodos necessários para a finalidade específica do servidor web habilitados. Em particular, é recomendado verificar se métodos como TRACE & TRACK, POST, PUT, DELETE e CONNECT estão habilitados e se são necessários.
  • Desativar a listagem e a navegação nos diretórios dos servidores web.
  • Desativar consultas por métodos depreciados, como HTTP 1.0.
  • Desativar módulos desnecessários. Por exemplo: algumas soluções vêm com módulos de proxy e caching. Se você não precisar destes recursos, é melhor desativá-los.
  • Desativar as informações fornecidas pelo servidor web através do banner de serviço: a versão do servidor web e o Sistema Operacional no qual ele está rodando.
  • Validar as entradas dos usuários e as interações que eles podem realizar com os recursos do servidor web.
  • Implementar um WAF (Web Application Firewall). Existem opções livres como o ModSecurity ou soluções comerciais mais robustas.
  • Implementar SSL/TLS com robustos conjuntos de cifras e desabilitar SSL v2 e v3.
  • Implementar soluções do tipo fail2ban.

Protocolo/Serviço FTP

  • Utilizar alternativas mais seguras como o SFTP (onde o tráfego é encapsulado via SSH). Se possível, desabilite o protocolo FTP como tal caso você use uma variante dele sem mecanismos de criptografia.
  • Restringir o acesso aos usuários, IPs e hosts que realmente precisam dele.
  • Alterar a porta default para evitar ataques automatizados (20 e 21).
  • Desabilitar o login através do usuário anônimo.
  • Desabilitar a leitura, listagem e navegação de diretórios se isso não for necessário.

Ferramentas e recursos externos