← Painel de Estudos Bastionamento Linux e Windows (CIS Benchmarks)
Trilha 2: Segurança Defensiva • Estudo 06

Bastionamento de Sistemas Linux e Windows (CIS Benchmarks)

Instalações padrão de sistemas operacionais priorizam conveniência e compatibilidade retroativa, mantendo portas desnecessárias abertas, serviços legados ativos e configurações permissivas de fábrica. O processo metódico de Hardening (Bastionamento) reduz drasticamente a superfície de ataque, implementando as diretrizes normativas dos CIS Benchmarks (Center for Internet Security) nos níveis Nível 1 e Nível 2. Dominar a configuração restritiva do SSH, a blindagem de parâmetros do kernel via sysctl.conf, o confinamento com SELinux/AppArmor, a proteção da memória do LSASS no Windows e o descarte de protocolos legados (como SMBv1) é a fundação inegociável da defesa em profundidade de host.

NIST CSF 2.0: Protect (PR.PS / PR.AC) MITRE ATT&CK: TA0005, TA0004, T1548, T1053, T1078 Tempo Estimado: ~50 minutos Carreiras: Blue Team • SysAdmin • DevSecOps
01

O que é Hardening e o Padrão Normativo CIS Benchmarks

Hardening (Bastionamento) é o processo contínuo de engenharia de segurança dedicado a eliminar vulnerabilidades potenciais em um sistema operacional ou aplicação através da desativação sistemática de funções, portas, protocolos, contas e privilégios não essenciais à sua finalidade operacional estrita.

A Ilusão da "Instalação Limpa": O Risco das Configurações Padrão de Fábrica

Sistemas operacionais recém-instalados (sejam distribuições Linux ou Windows Server) contêm centenas de configurações projetadas para funcionar "out-of-the-box" sem atritos. Isso inclui autenticação por senha ativada, login direto de administrador permitido, compartilhamentos administrativos de rede abertos (como C$ e ADMIN$) e protocolos legados de descoberta de rede respondendo a qualquer requisição. Para um atacante, uma máquina sem hardening é um convite para escalação de privilégios e evasão de defesas.

O Center for Internet Security (CIS) e os Dois Níveis de Conformidade

O Center for Internet Security (CIS) é a autoridade global mais respeitada na definição de guias prescritivos de endurecimento de configurações (os CIS Benchmarks). Desenvolvidos por consenso comunitário entre governos, desenvolvedores e especialistas em segurança cibernética, os benchmarks dividem suas recomendações em dois níveis fundamentais:

CIS Nível 1 (Level 1 - Linha de Base Essencial)

Recomendações fundamentais de segurança aplicáveis a qualquer ambiente operacional. Projetadas para serem implementadas com impacto mínimo ou nulo na compatibilidade e funcionalidade das aplicações.
Exemplos: Desativar login root direto via SSH, exigir complexidade mínima de senhas, habilitar logs de auditoria, desativar protocolos legados obsoletos.

CIS Nível 2 (Level 2 - Defesa em Profundidade / Alta Segurança)

Configurações rigorosas para ambientes com alta sensibilidade de dados (setor financeiro, militar, infraestrutura crítica). Pode introduzir atritos operacionais e quebrar softwares legados se aplicado sem planejamento de compatibilidade.
Exemplos: Confinamento estrito de SELinux em modo restritivo, desativação de módulos de USB no kernel, criptografia obrigatória de tráfego de gerenciamento, isolamento estrito de memória.

O Perigo do "Configuration Drift" (Desvio de Configuração)

O bastionamento não é um evento único realizado no provisionamento inicial do servidor. Ao longo dos meses, administradores alteram permissões temporárias para testes e esquecem de revogá-las, atualizações de pacotes sobrescrevem arquivos de configuração e novas dependências abrem portas desnecessárias. Esse fenômeno é chamado de Configuration Drift. Ambientes maduros utilizam ferramentas de Infraestrutura como Código (IaC) e conformidade contínua (como Ansible, Puppet e OpenSCAP) para reforçar diariamente a linha de base do CIS Benchmark.

02

Bastionamento Profundo em Ambientes Linux

O ecossistema Linux é a espinha dorsal de servidores corporativos e ambientes de nuvem. O bastionamento de um servidor Linux corporativo engloba quatro camadas principais de proteção:

1. Bastionamento do Serviço SSH (`/etc/ssh/sshd_config`)

O Secure Shell (SSH) é a principal porta de entrada administrativa em servidores Linux e o alvo mais visado por botnets e ataques de força bruta. A configuração recomendada pelos CIS Benchmarks inclui:

Diretivas Seguras para /etc/ssh/sshd_config
# 1. Proibição categórica de login direto do superusuário root
PermitRootLogin no

# 2. Desativação de autenticação baseada em senha (obriga chaves assimétricas ed25519/RSA-4096)
PasswordAuthentication no
PermitEmptyPasswords no

# 3. Limite de tentativas de autenticação antes de desconectar
MaxAuthTries 3

# 4. Desativação de encaminhamentos desnecessários e superfície gráfica
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no

# 5. Restrição explícita de quais usuários ou grupos podem conectar
AllowGroups ssh-users-admin

# 6. Cifras e algoritmos modernos recomendados (rejeição de 3DES, CBC e SHA-1)
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group16-sha512
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com

2. Parâmetros de Segurança do Kernel (`/etc/sysctl.conf`)

O subsistema de rede e memória do kernel Linux possui parâmetros configuráveis via sysctl que aumentam a resiliência contra ataques de rede em Camada 3/4 e exploração de memória:

Parâmetros Recomendados de Hardening em /etc/sysctl.conf
# Prevenção contra spoofing de roteamento e pacotes forjados
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Proteção ativa contra ataques de negação de serviço TCP SYN Flood
net.ipv4.tcp_syncookies = 1

# Habilitação forçada de ASLR Completo (Address Space Layout Randomization)
# 0 = Desativado | 1 = Conservador | 2 = Aleatorização Completa de Heap, Stack e Bibliotecas
kernel.randomize_va_space = 2

# Restrição de mensagens de diagnóstico do dmesg para usuários sem privilégios de root
kernel.dmesg_restrict = 1

# Prevenção contra ataques de escalação de privilégios com links simbólicos e hardlinks
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

3. Permissões de Arquivos, umask e Binários SUID/SGID

4. Módulos de Segurança de Controle de Acesso Mandatório (MAC)

Diferente das permissões tradicionais DAC (onde o dono do arquivo decide quem tem acesso), os módulos MAC do kernel restringem as ações de um processo com base em políticas rígidas, mesmo que o processo esteja rodando como root:

03

Bastionamento em Ambientes Windows Server e Active Directory

Em ambientes corporativos baseados em Microsoft Windows Server e domínios de Active Directory (AD), o hardening é aplicado centralizadamente através de Objetos de Política de Grupo (GPO - Group Policy Objects). Os seguintes pilares representam o núcleo dos CIS Benchmarks para ecossistemas Windows:

1. Desativação do SMBv1

O protocolo Server Message Block versão 1 é obsoleto e vulnerável a execução remota de código (vetor histórico dos malwares WannaCry e NotPetya). Deve ser categoricamente desativado no Windows Server via PowerShell:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

2. Erradicação de NTLMv1 e Protocolos de Descoberta

NTLMv1: Utiliza cifras fracas de 56 bits facilmente quebradas em minutos. Force o uso exclusivo de NTLMv2 e Kerberos.
LLMNR e NetBIOS: Protocolos de difusão de rede explorados por ferramentas ofensivas (como Responder) para capturar hashes de autenticação de máquinas Windows via envenenamento de rede (WPAD/LLMNR Poisoning).

3. Blindagem de Memória do Processo LSASS

O Local Security Authority Subsystem Service (LSASS) gerencia as credenciais ativas do sistema na memória RAM. É o alvo primário de ferramentas de extração de credenciais como o Mimikatz.
LSA Protection: Habilite o modo RunAsPPL = 1 no Registro para transformar o LSASS em processo protegido.
Credential Guard: Utiliza virtualização (VBS) para isolar segredos NTLM e tickets Kerberos em uma VM segura invisível ao SO.

4. Hardening do PowerShell e Linha de Comando

O PowerShell é uma das ferramentas administrativas mais exploradas em ataques "Living off the Land" (LotL).
Constrained Language Mode (CLM): Restringe APIs sensíveis e reflexão do .NET para usuários não administrativos.
Script Block Logging (Event ID 4104): Registra o conteúdo exato de cada script executado, mesmo se obfuscado.

Desativação do Provedor de Segurança WDigest

O provedor WDigest (usado para autenticação HTTP Digest legada) mantinha senhas de usuários em texto claro na memória do processo LSASS. Em sistemas modernos, deve-se garantir explicitamente no registro do Windows que o WDigest não retenha credenciais desprotegidas:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /v UseLogonCredential /t REG_DWORD /d 0 /f

04

Automação Contínua de Conformidade e Linhas de Base

Executar comandos manuais em centenas de servidores em produção é inviável e sujeito a erros humanos graves. A indústria de segurança utiliza frameworks de Compliance-as-Code (Conformidade como Código):

05

Laboratório Interativo: Auditor de Configuração de Servidor (CIS Benchmark)

Avalie na prática o nível de segurança e conformidade de arquivos reais de configuração corporativos. Neste laboratório desenvolvido em Vanilla JavaScript, você pode carregar snippets de configuração comumente encontrados em servidores vulneráveis, disparar uma auditoria de conformidade com os CIS Benchmarks, analisar os achados técnicos de segurança e aplicar correções automáticas de bastionamento com um único clique.

LAB PRÁTICO INTERATIVO

Auditor Interativo de Linha de Base e CIS Benchmarks

Inspecione configurações vulneráveis de SO, calcule o score de conformidade e aplique hardening em tempo real.

Selecione o Arquivo de Configuração do Servidor para Auditar:
(Você pode editar o texto livremente abaixo)

Resultado da Auditoria de Conformidade CIS

Pressione o botão de auditoria para avaliar o snippet.
Índice de Bastionamento
-- %
Severidade Parâmetro Auditado Valor Atual Recomendação CIS Risco Técnico Associado
06

Checklist de Aplicação Prática: Auditoria de Hardening de Servidores

Utilize este checklist técnico durante implantações de servidores em produção, homologação de novas imagens douradas (Golden Images) ou revisões de auditoria para assegurar que diretrizes fundamentais de bastionamento foram observadas:

07

Questões de Fixação e Concursos Públicos

Consolide seu conhecimento respondendo a questões baseadas em provas de concursos públicos de alto escalão (Tribunais, Carreiras Policiais de Perícia em Computação Forense) e certificações de segurança (CompTIA Linux+, Red Hat RHCSA Security, Microsoft SC-200):

Questão 1 • CIS Benchmarks e Níveis de Conformidade

Ao planejar a implementação de linhas de base de segurança em uma organização bancária, o analista de segurança avalia a aplicação dos CIS Benchmarks para servidores Linux. Ele observa que o guia divide suas recomendações em dois níveis: CIS Nível 1 e CIS Nível 2. Considerando a finalidade e as características desses níveis, assinale a afirmativa correta sobre o escopo do CIS Nível 2:

Ver resposta comentada

Gabarito: O CIS Nível 2 é voltado para ambientes de alta sensibilidade e defesa em profundidade, aplicando restrições mais agressivas que podem impactar a funcionalidade de softwares caso não haja planejamento de compatibilidade prévio.

Justificativa: O CIS Nível 1 destina-se a estabelecer uma barreira básica de proteção com impacto mínimo ou nulo na operabilidade padrão. O CIS Nível 2 (Defense in Depth) introduz medidas altamente restritivas (como desativação de módulos USB no kernel, políticas estritas de confinamento e auditoria agressiva) recomendadas para setores militares, financeiros ou de infraestrutura crítica, exigindo testes prévios para evitar quebra de compatibilidade em aplicações corporativas.

Questão 2 • Proteção do LSASS e Dumping de Credenciais no Windows

Durante uma simulação de ataque adversário (Red Team), um invasor obteve privilégios administrativos locais em uma estação Windows de um analista financeiro. Ele tentou executar a ferramenta Mimikatz para extrair senhas em texto claro e hashes de memória através da injeção de DLL no processo lsass.exe, porém a operação foi bloqueada pelo sistema com erro de acesso negado. Qual configuração de hardening implementada na estação impediu essa ação?

Ver resposta comentada

Gabarito: Habilitação do LSA Protection (Protected Process Light - RunAsPPL), associada à desativação do provedor WDigest e Credential Guard.

Justificativa: Quando o LSA Protection é ativado (valor RunAsPPL = 1 na chave de registro HKLM\SYSTEM\CurrentControlSet\Control\Lsa), o processo LSASS é executado como um Protected Process Light. Isso impede que qualquer processo não assinado digitalmente pela Microsoft (mesmo executando com privilégios de administrador ou SYSTEM) abra handles com direitos de leitura de memória ou injeção de código contra o LSASS, neutralizando ataques comuns de dumping de credenciais via Mimikatz.

Questão 3 • sysctl e Proteção de Memória no Linux

Em um servidor Linux corporativo, um analista de segurança precisa assegurar que a técnica de proteção contra exploração de vulnerabilidades de corrupção de memória e buffer overflow conhecida como ASLR (Address Space Layout Randomization) esteja operando com o mais alto nível de aleatorização para a pilha (stack), área de memória dinâmica (heap) e bibliotecas compartilhadas carregadas. Qual parâmetro e valor deve constar no arquivo /etc/sysctl.conf para garantir essa proteção?

Ver resposta comentada

Gabarito: kernel.randomize_va_space = 2

Justificativa: O parâmetro kernel.randomize_va_space controla a aleatorização do espaço de endereçamento virtual no Linux. O valor 0 desativa completamente o ASLR. O valor 1 ativa o modo conservador (aleatoriza a pilha, bibliotecas dinâmicas e o mapeamento mmap, mas não o heap do processo). O valor 2 representa a aleatorização completa recomendada pelos CIS Benchmarks, incluindo também a aleatorização do heap gerado via brk(), dificultando a previsibilidade de endereços de memória por atacantes em tentativas de exploração binária.

08

Fatos Essenciais • Transição da Trilha 2: Segurança Defensiva

Superfície de Ataque Mínima

Desative tudo o que não for estritamente obrigatório. Menos serviços e portas abertas significam menos vetores para exploração adversária.

CIS Benchmarks São a Referência Global

Nível 1 garante segurança sem quebra de compatibilidade operacional; Nível 2 aplica restrições profundas para ativos de altíssima sensibilidade.

SSH Chaves-Apenas e Sem Root

Configure PermitRootLogin no e PasswordAuthentication no. O uso exclusivo de chaves ed25519 elimina ataques automatizados de força bruta.

sysctl e ASLR Total (Nível 2)

kernel.randomize_va_space = 2 aleatoriza pilha, heap e bibliotecas na memória, frustrando ataques de buffer overflow e ROP chains.

LSASS Blindado com RunAsPPL

No Windows Server, proteja o processo LSASS contra dumping de credenciais com LSA Protection, Credential Guard e desativação do WDigest.

Próximo Estudo da Trilha 2

No Estudo 07 (Seguranca-de-Redes-Defesa), avançaremos para sistemas ativos de detecção e prevenção (IDS/IPS Snort/Suricata, WAF e VPNs seguras).