Segurança Avançada em Ambientes Linux: SELinux, AppArmor e Auditorias
A segurança é uma preocupação constante para administradores de sistemas e engenheiros DevOps. Este artigo explora técnicas avançadas para proteger ambientes Linux, focando em SELinux, AppArmor e auditorias de segurança. Vamos além dos comandos básicos e mergulhamos no "por que" e "como" essas ferramentas funcionam, fornecendo exemplos práticos e configuráveis.
Introdução ao SELinux
O Security-Enhanced Linux (SELinux) é uma implementação de políticas de segurança de acesso obrigatório (MAC) para Linux. Ele fornece um mecanismo para suportar várias políticas de segurança, permitindo um controle mais granular sobre os recursos do sistema.
Configurando o SELinux
Para habilitar e configurar o SELinux, você precisa editar o arquivo /etc/selinux/config:
SELINUX=enforcing
SELINUXTYPE=targeted
Reinicie o sistema para aplicar as mudanças. Para verificar o status do SELinux, use o comando:
getenforce
# Output esperado: Enforcing
Criando Políticas Personalizadas
Você pode criar políticas personalizadas para aplicativos específicos. Por exemplo, para permitir que um aplicativo acesse um diretório restrito:
chcon -t httpd_sys_content_t /path/to/directory
# Isso define o contexto de segurança do diretório para ser acessível pelo Apache
Introdução ao AppArmor
O AppArmor é outra ferramenta de segurança MAC para Linux, focada em confinar programas para prevenir comportamentos indesejados. Ele usa perfis para definir permissões.
Configurando o AppArmor
Para habilitar o AppArmor, você pode usar:
sudo systemctl enable apparmor
sudo systemctl start apparmor
Criando um Perfil AppArmor
Um perfil AppArmor típico para um serviço web pode ser configurado assim:
sudo aa-genprof /usr/sbin/apache2
# Isso gera e aplica um perfil para o Apache
Auditorias de Segurança
As auditorias de segurança são cruciais para identificar vulnerabilidades e garantir a conformidade. Ferramentas como auditd podem ser usadas para monitorar atividades do sistema.
Configurando o Auditd
Para configurar o auditd, edite o arquivo /etc/audit/auditd.conf e defina:
[auditd]
log_file = /var/log/audit/audit.log
log_group = root
Inicie o serviço com:
sudo systemctl start auditd
sudo systemctl enable auditd
Criando Regras de Auditoria
Para criar uma regra de auditoria para monitorar execuções de binários, use:
sudo auditctl -a exit,always -S execve -k execve-watch
# Isso monitora todas as execuções de binários e marca com 'execve-watch'
Por que isso importa / Quando usar
Implementar SELinux, AppArmor e auditorias é crucial em ambientes de produção para proteger contra ameaças internas e externas. Use essas ferramentas quando precisar de um controle de acesso detalhado e monitoramento contínuo de atividades do sistema.
Conexão com Certificações LPI/CompTIA
Dominar essas técnicas de segurança avançada é essencial para obter certificações LPI e CompTIA, que valorizam conhecimentos profundos em segurança de sistemas Linux. Preparar-se com esses conceitos não apenas fortalece suas habilidades, mas também melhora suas chances de sucesso nas certificações.