Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 061

AppArmor

Revisado porCybersecurity entrepreneur & security researcher

O que é AppArmor?

AppArmorSistema de controlo de acesso obrigatório baseado em caminhos para Linux, usado pelo Ubuntu e pela SUSE como alternativa mais simples ao SELinux para confinar programas individuais.


O AppArmor é um Linux Security Module (LSM) que impõe controlo de acesso obrigatório através de perfis por programa expressos em termos de caminhos de ficheiro, capabilities e primitivas de rede, em vez das etiquetas de inode usadas pelo SELinux. Originário do Immunix e mantido pela SUSE e pela Canonical, o AppArmor é a framework MAC predefinida no Ubuntu e no openSUSE desde o final da década de 2000 e faz parte do kernel principal desde a versão 2.6.36. Os perfis residem em /etc/apparmor.d e podem ser carregados em modo enforce ou complain (apenas registo), com auxiliares como aa-genprof, aa-logprof e aa-easyprof. O seu desenho baseado em caminhos costuma ser mais fácil de escrever e auditar do que a política do SELinux, à custa de uma semântica mais fraca perante mudanças de nome, bind mounts e chroots.

Em contentores, o Docker gera e carrega um perfil docker-default em tmpfs para cada contentor em modo enforce, salvo se for substituído com --security-opt apparmor=; este bloqueia escritas em caminhos sensíveis como /proc/sysrq-trigger e /sys, atuando em conjunto com o seccomp e a remoção de capabilities como defesa em profundidade. O AppArmor é também usado pelo snapd, libvirt, LXD e Firefox. Os seus limites são reais: como as regras correspondem a caminhos e não ao objeto subjacente, os hard links e os truques de montagem podem por vezes contornar um perfil, e um perfil só é tão bom quanto as suas regras — globs demasiado abrangentes (por exemplo, permitir /** rwk) anulam todo o propósito. A CVE-2019-5736 (a sobrescrita do binário host do runc) ilustrou que as fugas de contentor podem ocorrer em áreas que um perfil predefinido não cobre, razão pela qual o AppArmor é combinado com seccomp, espaços de nomes de utilizador e montagens só de leitura, em vez de se confiar nele isoladamente.

flowchart TB
  P[Execução de processo] --> K[Hook LSM do kernel]
  K --> Q{Perfil carregado?}
  Q -- No --> U[Não confinado: DAC normal]
  Q -- Yes --> M{Ação no perfil?}
  M -- Modo enforce --> R{Permitida?}
  R -- Yes --> A[Permitir]
  R -- No --> D[Negar + registo de auditoria]
  M -- Modo complain --> L[Permitir + registar violação]

Um fluxo de trabalho típico executa um novo perfil em modo complain, exercita a aplicação e depois usa aa-logprof para transformar os acessos registados em regras antes de passar para enforce.

Exemplos

  1. 01

    O Ubuntu inclui por predefinição perfis AppArmor para Firefox, MySQL e Evince.

  2. 02

    O snapd usa AppArmor (além de seccomp) para confinar cada pacote snap instalado.

Perguntas frequentes

O que é AppArmor?

Sistema de controlo de acesso obrigatório baseado em caminhos para Linux, usado pelo Ubuntu e pela SUSE como alternativa mais simples ao SELinux para confinar programas individuais. Pertence à categoria Criptografia da cibersegurança.

O que significa AppArmor?

Sistema de controlo de acesso obrigatório baseado em caminhos para Linux, usado pelo Ubuntu e pela SUSE como alternativa mais simples ao SELinux para confinar programas individuais.

Como se defender contra AppArmor?

As defesas contra AppArmor costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.

Quais são outros nomes para AppArmor?

Nomes alternativos comuns: AA.

Termos relacionados

Ver também