Revertendo a linha de log do AppArmor para governar

Revertendo a linha de log do AppArmor para governar

Estou procurando uma maneira de reverter facilmente uma única linha /var/log/syslogrelatada pelo AppArmor para um perfil no modo de reclamação. Eu vi que usando aa-genprofisso ele usa o que é relatado ao syslog para ajudar a gerar regras. Na maior parte do tempo, consegui escrever minhas regras à mão para permitir o que é necessário, mas agora estou preso a estas duas linhas do meu syslog:

[88529.103991] auditoria: type=1400 auditoria(1414408592.500:5298): apparmor="ALLOWED" operation="mount" info="failed type match" error=-13 profile="docker-das" name="/var/lib /docker/btrfs/" pid=9289 comm="docker" srcname="/var/lib/docker/btrfs/" flags="rw, bind"

[88529.104010] auditoria: type=1400 auditoria(1414408592.500:5299): apparmor="ALLOWED" operation="mount" info="failed type match" error=-13 profile="docker-das" name="/var/lib /docker/btrfs/" pid=9289 comm="docker" flags="rw, privado"

Tentei adicionar a seguinte linha (e diversas variantes enquanto mexia) ao meu docker-dasperfil, mas sem sucesso:

mount fstype=btrfs -> /var/lib/docker/btrfs/

A única razão pela qual vejo que isso não funcionaria é que commé igual a dockerem oposição a mount(o que ocorre ao usar comandos de montagem nativos).

Infelizmente, não consigo aa-genprofajudar em nada (acredito que devido ao perfil ter um nome fora do padrão) e a documentação do AppArmor (embora útil agora que encontrei a página certa em seu wiki) está uma bagunça.

Se houver uma maneira fácil de gerar a linha necessária, seria um ótimo conhecimento, caso contrário, alguém pode ver o que há de errado com a regra ou descobrir qual regra eu preciso para permitir as montagens mostradas nos logs. O que eu gostaria é ter a correspondência mais forte para uma linha de log para poder decidir quais partes não são necessárias.

Responder1

Embora não seja uma solução completa (não resolve a possibilidade de gerar uma regra correspondente a partir de qualquer linha de log), a seguinte é a melhor solução que consegui encontrar para o problema específico e deve ser segura o suficiente:

deny mount /dev/**,
mount -> /var/lib/docker/btrfs/

Mas ainda seria bom poder obter a correspondência mais forte possível para a entrada do log, para que eu possa usá-la ou torná-la mais fraca (se desejar).

informação relacionada