Estou procurando uma maneira de reverter facilmente uma única linha /var/log/syslog
relatada pelo AppArmor para um perfil no modo de reclamação. Eu vi que usando aa-genprof
isso 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-das
perfil, 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 docker
em oposição a mount
(o que ocorre ao usar comandos de montagem nativos).
Infelizmente, não consigo aa-genprof
ajudar 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).