Como verificar se um perfil AppArmor está ativo no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar o status dos perfis do AppArmor em um sistema Linux. AppArmor é um módulo de segurança que utiliza perfis para restringir as ações de aplicativos, aprimorando a segurança do sistema. Você explorará três métodos para determinar se os perfis do AppArmor estão ativos e como eles são configurados.

Especificamente, você usará o comando aa-status para listar os perfis carregados e seus modos (enforce ou complain), examinará o conteúdo do diretório /etc/apparmor.d para ver os arquivos de perfil disponíveis e inspecionará o status do AppArmor dentro do sistema de arquivos /sys/kernel/security. Essas etapas fornecerão uma compreensão abrangente de como verificar o estado operacional do AppArmor.

Listar perfis AppArmor com aa-status

Nesta etapa, você aprenderá como listar os perfis do AppArmor ativos em seu sistema usando o comando aa-status. AppArmor é um módulo de segurança que fornece controle de acesso obrigatório (MAC - Mandatory Access Control) confinando programas a um conjunto limitado de recursos.

Pense nos perfis do AppArmor como políticas de segurança para aplicativos específicos. Eles definem quais arquivos, recursos de rede e outras capacidades do sistema um aplicativo tem permissão para acessar. Isso ajuda a impedir que software malicioso ou aplicativos comprometidos causem danos generalizados.

Para ver quais perfis estão atualmente carregados e em vigor, abra seu terminal e digite o seguinte comando:

sudo aa-status

Você precisa usar sudo porque verificar o status do AppArmor requer privilégios administrativos.

Após executar o comando, você verá uma saída semelhante a esta:

apparmor module is loaded.
...
profiles are loaded.
...
profiles are in enforce mode.
...
profiles are in complain mode.
...
processes are unconfined.
...

A saída fornece um resumo do status do AppArmor:

  • apparmor module is loaded: Indica que o módulo do kernel do AppArmor está ativo.
  • profiles are loaded: Mostra o número total de perfis do AppArmor carregados no kernel.
  • profiles are in enforce mode: Lista os perfis que estão restringindo ativamente o comportamento dos aplicativos associados. Se um aplicativo tentar fazer algo não permitido por seu perfil em modo enforce, a ação é bloqueada e uma mensagem de log é gerada.
  • profiles are in complain mode: Lista os perfis que estão monitorando o comportamento dos aplicativos associados, mas não estão aplicando restrições. Se um aplicativo tentar fazer algo não permitido por seu perfil em modo complain, a ação é permitida, mas uma mensagem de log é gerada. Este modo é útil para desenvolver e testar perfis.
  • processes are unconfined: Mostra o número de processos em execução que não estão sendo gerenciados por um perfil do AppArmor.

Compreender a saída de aa-status é o primeiro passo para gerenciar o AppArmor e entender a postura de segurança do seu sistema.

Clique em Continuar para prosseguir para a próxima etapa.

Verificar perfis em /etc/apparmor.d

Na etapa anterior, você viu uma lista de perfis do AppArmor carregados usando aa-status. Agora, vamos explorar onde esses perfis são armazenados no sistema de arquivos.

Os perfis do AppArmor estão tipicamente localizados no diretório /etc/apparmor.d/. Este diretório contém os arquivos de perfil, que são arquivos de texto simples que definem as regras para cada aplicativo confinado.

Para listar o conteúdo deste diretório, use o comando ls:

ls /etc/apparmor.d/

Você verá uma lista de arquivos e diretórios. Cada arquivo neste diretório (que não está em um subdiretório como abstractions ou tunables) geralmente representa um perfil específico do AppArmor para um aplicativo.

Exemplo de saída:

bootchartd             usr.sbin.tcpdump
...

Esses nomes de arquivos geralmente correspondem ao caminho do executável que eles são projetados para confinar. Por exemplo, usr.sbin.tcpdump é o perfil para o comando /usr/sbin/tcpdump.

Você pode visualizar o conteúdo de um arquivo de perfil usando um editor de texto como nano. Vamos olhar para o perfil de usr.sbin.tcpdump. Digite o seguinte comando:

nano /etc/apparmor.d/usr.sbin.tcpdump

Isso abrirá o arquivo de perfil no editor nano. Você verá linhas definindo regras de acesso a arquivos, permissões de rede e outras restrições. Não se preocupe em entender cada linha agora; o objetivo é apenas ver a estrutura de um arquivo de perfil.

Para sair do nano, pressione Ctrl + X. Se você fez alguma alteração, ele perguntará se você deseja salvar. Pressione N para Não, e depois Enter para confirmar.

Explorar os arquivos em /etc/apparmor.d/ fornece informações sobre as políticas de segurança específicas aplicadas a diferentes aplicativos em seu sistema.

Clique em Continuar para prosseguir.

Inspecionar o status do AppArmor em /sys/kernel/security

Além do comando aa-status, você também pode inspecionar o status do AppArmor diretamente através do sistema de arquivos /sys. O sistema de arquivos /sys fornece uma interface para as estruturas de dados do kernel e inclui informações sobre módulos de segurança como o AppArmor.

O diretório relevante para o status do AppArmor dentro de /sys é /sys/kernel/security/apparmor/.

Vamos listar o conteúdo deste diretório para ver quais informações estão disponíveis:

ls /sys/kernel/security/apparmor/

Você verá arquivos e diretórios que fornecem detalhes sobre o estado do AppArmor, como perfis carregados, regras de política e status de aplicação.

Exemplo de saída:

features  profiles  policy  revision  ...

Um arquivo particularmente útil é profiles. Você pode visualizar seu conteúdo usando o comando cat:

cat /sys/kernel/security/apparmor/profiles

Este arquivo lista os perfis do AppArmor atualmente carregados e seu status (por exemplo, enforce, complain ou unconfined). A saída é semelhante à lista de perfis que você viu com aa-status, mas é uma visualização direta do estado do kernel.

Exemplo de saída:

/usr/sbin/tcpdump (enforce)
...

Inspecionar o diretório /sys/kernel/security/apparmor/ e seus arquivos fornece uma maneira de nível inferior de entender o status do AppArmor e pode ser útil para depuração ou análise avançada.

Você agora aprendeu três maneiras diferentes de verificar o status e a presença de perfis do AppArmor em um sistema Linux.

Clique em Continuar para concluir o laboratório.

Resumo

Neste laboratório, você aprendeu como verificar se um perfil do AppArmor está ativo no Linux. Você começou usando o comando aa-status com sudo para listar os perfis do AppArmor carregados e entender seu status, incluindo se eles estão no modo enforce ou complain. Este comando fornece uma visão geral rápida do estado do módulo AppArmor e do número de perfis que gerenciam ativamente os processos.

O laboratório também abordou como inspecionar o diretório /etc/apparmor.d para visualizar os arquivos de perfil do AppArmor disponíveis, que representam as políticas de segurança para diferentes aplicativos. Finalmente, você aprendeu como examinar o caminho /sys/kernel/security para confirmar a presença e o status do módulo do kernel AppArmor dentro da estrutura de segurança do sistema.