Forense Digital com Linux – Técnicas Práticas – Parte 16

SELinux (Security-Enhanced Linux) é um módulo de segurança do kernel Linux que fornece um mecanismo para suportar políticas de controle de acesso obrigatório (MAC). Embora o SELinux não seja uma ferramenta específica para detecção de malware, ele pode ajudar a prevenir e mitigar atividades maliciosas ao restringir o acesso de processos e usuários a recursos do sistema.

No entanto, o SELinux pode ser usado em conjunto com outras ferramentas para monitorar e analisar atividades suspeitas que possam indicar a presença de malware. Abaixo, descrevo como configurar e usar o SELinux no Rocky Linux 9 para melhorar a segurança e detectar atividades suspeitas.

 

Pré-requisitos

Antes de começar, certifique-se de que o ambiente atenda aos seguintes requisitos:

  • Sistema Operacional:

    • Rocky Linux 9 instalado e atualizado.

  • Acesso:

    • Acesso root ou um usuário com privilégios sudo.

  • Conectividade:

    • Conexão à internet para baixar pacotes e dependências.

 

Passos para configurar e usar o SELinux no Rocky Linux 9

1. Verificar o status do SELinux

  • Verificar se o SELinux está Instalado:

    • O SELinux geralmente vem pré-instalado no Rocky Linux. Verifique se ele está presente:

       
      rpm -q selinux-policy
  • Verificar o Status do SELinux:

    • Verifique o status atual do SELinux:

       
      sestatus
    • A saída deve mostrar o modo atual do SELinux (Enforcing, Permissive ou Disabled).

 

2. Configurar o modo do SELinux

O SELinux pode operar em três modos:

  • Enforcing: Aplica as políticas de segurança e nega acesso não autorizado.

  • Permissive: Registra violações, mas não nega acesso.

  • Disabled: Desativa o SELinux.

 

  • Alterar o modo do SELinux:

    • Para alterar o modo do SELinux, edite o arquivo de configuração:

      sudo nano /etc/selinux/config
    • Altere a linha SELINUX= para o modo desejado:

      SELINUX=enforcing
  • Reiniciar o Sistema:

    • Reinicie o sistema para aplicar as alterações:

      sudo reboot
  • Verificar o Modo Atual:

    • Após a reinicialização, verifique o modo do SELinux novamente:

      sestatus


3. Monitorar logs do SELinux

O SELinux registra violações de segurança no arquivo de log /var/log/audit/audit.log. Esses logs podem ser usados para identificar atividades suspeitas.

  • Instalar Ferramentas de Análise:

    • Instale o setroubleshoot e o audit para facilitar a análise de logs:

      sudo dnf install -y setroubleshoot audit
  • Verificar Logs de Violações:

    • Use o comando ausearch para pesquisar violações do SELinux:

      sudo ausearch -m avc -ts recent
    • Isso mostrará as violações de acesso (AVC – Access Vector Cache) recentes.

  • Analisar Logs com sealert:

    • Use o sealert para gerar relatórios detalhados sobre violações:

      sudo sealert -a /var/log/audit/audit.log


4. Criar políticas personalizadas (opcional)

Se o SELinux bloquear um processo legítimo, você pode criar políticas personalizadas para permitir o acesso.

  • Gerar um Módulo de Política:

    • Use o audit2allow para gerar um módulo de política a partir dos logs:

      sudo grep <process_name> /var/log/audit/audit.log | audit2allow -M mypolicy
  • Carregar o Módulo de Política:

    • Carregue o módulo gerado:

      sudo semodule -i mypolicy.pp


5. Usar o SELinux para prevenir atividades maliciosas

O SELinux pode ajudar a prevenir atividades maliciosas ao restringir o acesso de processos a recursos do sistema. Aqui estão algumas práticas recomendadas:

  • Restringir Serviços:

    • Use o SELinux para restringir serviços a seus contextos de segurança apropriados. Por exemplo, configure o contexto de segurança para o servidor web:

      sudo chcon -t httpd_sys_content_t /var/www/html
  • Usar Políticas Estritas:

    • Aplique políticas estritas para serviços críticos, como bancos de dados e servidores web.

  • Monitorar Alterações de Contexto:

    • Verifique regularmente os contextos de segurança de arquivos e diretórios críticos:

      ls -Z /var/www/html


6. Integrar com outras ferramentas de segurança

O SELinux pode ser usado em conjunto com outras ferramentas de segurança, como:

  • AIDE: Para verificar a integridade de arquivos.

  • ClamAV: Para escanear arquivos em busca de malware.

  • Fail2Ban: Para bloquear IPs maliciosos.

 

Conclusão

O SELinux é uma camada poderosa de segurança que pode ajudar a prevenir e mitigar atividades maliciosas no Rocky Linux 9 e demais distros Linux. Ao configurar e monitorar o SELinux, você pode melhorar a segurança do sistema e detectar atividades suspeitas que possam indicar a presença de malware.

 

Referencia Bibliográfica

Para mais detalhes, consulte a documentação oficial do SELinux.