12. Auditoria e conformidade para Ubuntu Server: práticas recomendadas

Introdução

Garantir auditoria e conformidade em ambientes de servidores Ubuntu é um passo fundamental para organizações que buscam proteger dados sensíveis, cumprir normas regulatórias e responder com eficácia a incidentes de segurança. Normas de conformidade como PCI-DSS, GDPR, HIPAA e ISO/IEC 27001 exigem mecanismos robustos de auditoria, registro e relatórios para garantir a responsabilização e a proteção de dados.

Este artigo oferece um guia completo para configurar regras de auditoria, gerar relatórios, identificar atividades suspeitas e implementar práticas recomendadas para manter a conformidade em servidores Ubuntu 22.04.


Artigos anteriores:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar o seu primeiro servidor Ubuntu: guia para iniciantes – SysOSX: AI & Cloud

03. Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gerenciamento de usuários e permissões no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

05. Fundamentos de rede para Ubuntu Server: um guia completo – SysOSX: AI & Cloud

06. Instalar e gerenciar software no Ubuntu Server: um guia completo – SysOSX: AI & Cloud

07.Aplicar patches e atualizar o Ubuntu Server: um guia completo – SysOSX: AI & Cloud

08. Proteger o seu servidor Ubuntu: etapas práticas de reforço e proteção – SysOSX: AI & Cloud

09. Auditoria e registro do servidor Ubuntu

10. Ferramentas de monitoramento de sistema para Ubuntu Server: um guia completo – SysOSX: AI & Cloud

11. Registro centralizado para servidores Ubuntu: um guia indispensável – SysOSX: AI & Cloud



Por que as auditorias de conformidade importam


78% das organizações falharam nas auditorias iniciais de PCI-DSS devido a registro inadequado (relatório Verizon 2023)

Exemplo real de violação:
Um prestador de serviços de saúde enfrentou multas de HIPAA de US$ 1,2 milhão após não auditar o acesso a prontuários de pacientes armazenados em servidores Ubuntu. Regras adequadas de auditctl poderiam ter detectado o acesso não autorizado.


Folha de referência dos requisitos das normas de conformidade

NormaPrincipais requisitos de auditoria do UbuntuFerramentas relevantes
PCI-DSSMonitoramento de integridade de arquivos, logs de atividade de usuáriosauditd + AIDE
GDPRRastreamento de acesso a dados, notificação de violações em 72 horasaureport + ELK
HIPAAMonitoramento de acesso a ePHI, retenção de logs por 6 anosauditctl + Splunk
ISO 27001Prova de avaliação de riscos, logs de controle de acessoLynis + OpenSCAP

Uso de auditctl para configurar regras de auditoria (conceitos básicos)

O framework de auditoria do Linux, disponível no Ubuntu 22.04, é uma ferramenta poderosa para monitorar as atividades do sistema. O auditctl comando é usado para criar e gerenciar regras de auditoria que rastreiam eventos específicos no seu servidor.

Etapa 1: Instalar o framework de auditoria

Antes de configurar regras de auditoria, verifique se o framework de auditoria está instalado:

sudo apt update
sudo apt install auditd

Etapa 2: Definir regras de auditoria

As regras de auditoria especificam quais atividades monitorar. Aqui estão exemplos comuns:

  • Monitorar o acesso a arquivos:
    Acompanhe modificações em arquivos críticos, como /etc/passwd:
sudo auditctl -w /etc/passwd -p wa -k passwd_changes

Esta regra monitora operações de escrita (w) e alterações de atributos (a) no arquivo /etc/passwd .

  • Monitorar eventos de login e logout:
    Acompanhe a atividade de login/logout dos usuários:
sudo auditctl -a always,exit -F arch=b64 -S execve -F key=login_activity
  • Monitorar o acesso não autorizado:
    Detecte tentativas de acesso a diretórios sensíveis:
 sudo auditctl -w /var/www/html -p rwxa -k web_access

    Etapa 3: Persistir as regras de auditoria

    As regras de auditoria são temporárias, a menos que sejam persistidas. Adicione regras a /etc/audit/audit.rules para torná-las permanentes:

    -w /etc/passwd -p wa -k passwd_changes
    -a always,exit -F arch=b64 -S execve -F key=login_activity
    

    Reinicie o daemon de auditoria para aplicar as alterações, sudo systemctl restart auditd não funciona, você precisa encerrá-lo e iniciá-lo novamente para que a nova configuração tenha efeito:

    sudo systemctl kill auditd
    sudo systemctl start auditd
    

    Etapa 4: Verificar as regras de auditoria ativas

    Liste todas as regras de auditoria ativas para confirmar que foram aplicadas:

    sudo auditctl -l
    

    Regra avançada para auditorias de conformidade

    Regras de PCI-DSS (/etc/audit/rules.d/pci-dss.rules):

    # Monitor payment processing directory  
    -w /var/lib/payment_processor -p rwxa -k pci_processing  
    
    # Track sudo usage  
    -a always,exit -F arch=b64 -S execve -C uid!=euid -F key=sudo_esc  
    

    Regras de GDPR (/etc/audit/rules.d/gdpr.rules):

    # Monitor database access  
    -w /var/lib/mysql -p rw -k gdpr_data  
    
    # Log user account changes  
    -w /etc/shadow -p wa -k user_changes  
    

    3. Manter as regras após reinicializações

    sudo auditctl -R /etc/audit/rules.d/pci-dss.rules  
    sudo augenrules --load  
    

    Gerar relatórios de auditoria e identificar atividades suspeitas

    Depois que as regras de auditoria estiverem configuradas, o próximo passo é analisar os logs e gerar relatórios para identificar atividades suspeitas ou violações de conformidade.

    1. Ver os logs de auditoria

    Os logs de auditoria são armazenados em /var/log/audit/audit.log. Use o ausearch comando para consultar os logs:

    sudo ausearch -k passwd_changes
    

    Isto recupera todos os eventos marcados com a palavra-chave passwd_changes.

    2. Gerar relatórios com aureport

    A aureport ferramenta simplifica a análise dos logs de auditoria ao gerar relatórios legíveis para humanos:

    • Resumo de logins/logouts de usuários:
    sudo aureport -l
    

    Este relatório resume os eventos de login/logout dos usuários.

    • Resumo de acessos a arquivos:
     sudo aureport -f
    
    • Tentativas de login com falha:
     sudo aureport --failed
    

      3. Identificar atividades suspeitas

      Use ausearch para identificar anomalias, como tentativas de login com falha ou modificações de arquivos não autorizadas:

      • Tentativas de login com falha:
       sudo ausearch -m USER_LOGIN -sv no
      
      • Acesso não autorizado a arquivos:
       sudo ausearch -w /etc/passwd -sv no
      

        4. Centralizar os logs de auditoria

        Em ambientes de grande escala, centralize os logs usando ferramentas como rsyslog ou integre plataformas como:

        • ELK Stack (Elasticsearch, Logstash, Kibana): Para análise avançada de logs e visualização.
        • Splunk: Para monitoramento de logs em tempo real e relatórios de conformidade.
        • Graylog: Para agregação de logs e alertas.

        Medidas de segurança adicionais para conformidade

        Além de configurar regras de auditoria, implementar medidas de segurança adicionais pode melhorar ainda mais a conformidade:

        1. Ativar o monitoramento de integridade de arquivos

        Use ferramentas como AIDE (Advanced Intrusion Detection Environment) para detectar alterações de arquivos não autorizadas:

        sudo apt install aide
        sudo aideinit
        

        Agende verificações regulares de integridade para detectar adulterações.

        2. Configurar registro seguro

        Garanta que os logs estejam protegidos contra acesso não autorizado:

        • Restrinja o acesso a /var/log/audit/ usando permissões: sudo chmod 600 /var/log/audit/audit.log

        3. Automatizar a rotação de logs

        Evite que os logs de auditoria consumam espaço em disco em excesso configurando a rotação de logs:

        sudo nano /etc/logrotate.d/audit
        

        Exemplo de configuração:

        /var/log/audit/audit.log {
            daily
            rotate 7
            compress
            missingok
            notifempty
        }
        

        4. Monitorar o desempenho do sistema

        As regras de auditoria podem afetar o desempenho do sistema. Use ferramentas como htop ou top para monitorar o uso de recursos:

        sudo apt install htop
        htop
        

        Ferramentas avançadas de conformidade

        1. Varreduras automatizadas de vulnerabilidades

        # Install OpenSCAP  
        sudo apt install libopenscap8 ssg-debian  
        
        # Run PCI-DSS scan  
        oscap xccdf eval --profile pci-dss /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml  
        

        2. Alertas em tempo real com Auditd

        # Email alerts for root logins  
        -a always,exit -F arch=b64 -S execve -F euid=0 -k root_cmd -F exe=/usr/bin/mailx  
        
        

        3. Logs de auditoria imutáveis

        #Configure audit.log as append-only  
        sudo chattr +a /var/log/audit/audit.log  
        
        

        Perguntas frequentes: desafios comuns de conformidade

        P: Por quanto tempo devemos manter os logs de auditoria para HIPAA?
        R: No mínimo 6 anos. Use logrotate com:

        /var/log/audit/*.log {  
          monthly  
          rotate 72  
          compress  
        }  
        
        

        P: O auditd pode afetar o desempenho do servidor?
        R: Sim. Monitore com:

        watch "grep 'auditd' /proc/slabinfo | awk '{print \$2,\$3}'"  
        
        

        P: Como comprovar a conformidade durante auditorias?
        R: Use estes comandos:

        # Generate evidence package  
        tar czvf compliance-proof-$(date +%F).tar.gz \  
          /var/log/audit/ /etc/audit/ /var/lib/aide/  
        

        Lista de verificação de manutenção de conformidade

        •  Validação mensal das regras de auditoria:
        auditctl -l | grep -E 'pci|gdpr'
        
        •  Atualizações trimestrais do banco de dados AIDE:
        aideinit && mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
        
        •  Revisão semestral das regras de firewall:
         sudo ufw status numbered
        
        •  Teste de penetração anual:
        nikto -h yourdomain.com
        

          Para manter a conformidade e a segurança, siga estas práticas recomendadas:

          • Revisões regulares de logs: Agende revisões de rotina dos logs de auditoria para detectar anomalias e garantir a conformidade.
          • Controle de acesso baseado em funções: Restrinja o acesso aos logs de auditoria e a arquivos sensíveis com base nas funções dos usuários.
          • Relatórios automatizados: Use scripts ou ferramentas para automatizar a geração de relatórios de auditoria para requisitos regulatórios.
          • Gerenciamento de patches: Atualize o seu servidor regularmente para corrigir vulnerabilidades e manter a conformidade.
          • Testar as regras de auditoria: Teste periodicamente as regras de auditoria para garantir que elas capturem os eventos necessários sem causar problemas de desempenho.

          Conclusão

          A auditoria e a conformidade são essenciais para proteger servidores Ubuntu 22.04 e cumprir os requisitos regulatórios. Ao aproveitar ferramentas como auditctl, ausearch e aureport os administradores podem configurar regras de auditoria, monitorar a atividade do sistema e gerar relatórios para garantir a conformidade com normas como PCI-DSS, GDPR e HIPAA. Combinar essas práticas com registro centralizado, automação e medidas de segurança adicionais garante um ambiente de servidor robusto e em conformidade.

          Fique atento ao próximo artigo!

          Na próxima parte da nossa série, vamos mergulhar em Serviços web e de arquivos. Nosso próximo artigo, “Configuração de um servidor web no Ubuntu Server” vai guiá-lo na instalação e configuração de Apache ou Nginx para hospedar um site. Também veremos como proteger o seu site com SSL/TLS usando Let’s Encrypt proteger. Não perca!