AppArmor

O AppArmor é um aprimoramento do kernel para limitar os programas a um conjunto limitado de recursos. Ele vincula atributos de controle de acesso a programas em vez de usuários.

Esta é uma alternativa ao SELinux em sistemas baseados em Debian. No entanto, ao contrário de fazer parte do sistema central, o apparmor é um serviço adicional que pode ser instalado ou removido, assim como ter seus status como started ou stoped.

Apparmor marca o registro e solicita que o usuário execute o programa e exerça sua funcionalidade.

Partes do AppArmor

PARTE

DESCRIÇÃO

Kernel Module

Faz o trabalho atual

Policies

Define o comportamento e contenção

Parser

Carrega as políticas do kernel

Utilities

Programas em modo de usuário, para interagir com o AppArmor

Modos de Operação

MODO

DESCRIÇÃO

Enforcement

Perfis carregados no modo de aplicação, que resultam na aplicação da política definida no perfil, bem como relatar tentativas de violação de política para syslogd

Complain

Os perfis carregados no modo complain não impõem a política. Em vez disso, ele relatará tentativas de violação de política. Este modo é conveniente para desenvolver perfis

Disable

Perfis desativados

Comandos Básicos

Resumo dos comandos.

COMANDO

DESCRIÇÃO

aa-status

Verifica o status atual

aa-enforce

Define o perfil para o modo Enforce

aa-complain

Define o perfil para o modo Complain

apparmor_parser

Carrega ou recarrega alguma política (necessário quando for alterada)

aa-genprof <file>

Cria um novo perfil. Esses perfis são arquivos de textos simples usados pelo AppArmor para impor políticas MAC em um programa ou binário

aa-easyprof <file> > /etc/apparmor.d/<bin.file>

Cria um novo perfil para um determinado binário, mas por padrão tudo será desabilitado para esse arquivo. Utilize o apparmor_parser após isso

aa-logprof

Usado para alterar a política quando o binário/programa é alterado

aa-mergeprof

Utilizado para mesclar políticas

aa-notify

Logs gerados

apparmor_parser

Esse utilitário é utilizado para carregar (load), descarregar (unload), debugar (debug), remover (remove) e substituir (replace) o perfil do apparmor. Sendo assim, suporta as seguintes opções:

OPÇÃO

EXEMPLO

DESCRIÇÃO

a

Ação feita por padrão para carregar um novo perfil no modo Enforced

C

Carrega um novo perfil no modo Complain

r

Sobrescreve um perfil

R

apparmor_parser -R /etc/apparmor.d/<bin>

Remove um perfil do kernel

V

apparmor_parser -V

Exibe a versão do apparmor_parser

h

apparmor_parser -h

Help

Criando perfil

Existem duas maneiras de criar perfil no apparmor:

Stand-Alone Profile Creation

O utilitário aa-genprof é utilizado para criar um perfil afetando um único programa/binário que é executado durante um certo período de tempo, como por exemplo, um navegador web ou um mail client.

Gerando um perfil com aa-genprof, será executado o aa-autodeep de um específico programa/binário para criar um perfil aproximado, define para o modo complain e faz um reload.

Systemic Profile Creation

O utilitário aa-autodeep é utilizado para criar um perfil afetando múltiplos programas e/ou aplicações que executam por período indefinido ou continuamente em reinicializações, como por exemplo, servidores de rede.

Logs

aa-notify

O parâmetro -s, define a quantidade de dias atrás

aa-notify -s 1 -v

tail

tail -f /var/log/audit/audit.log | grep apparmor

Last updated