AppArmor 로그 줄을 규칙으로 되돌리기

AppArmor 로그 줄을 규칙으로 되돌리기

/var/log/syslog불평 모드의 프로필에 대해 AppArmor가 보고 한 한 줄을 쉽게 되돌릴 수 있는 방법을 찾고 있습니다 . 나는 aa-genprof이를 사용하여 규칙 생성을 돕기 위해 syslog에 보고된 내용을 사용한다는 것을 확인했습니다 . 대부분의 경우 필요한 것을 허용하기 위해 규칙을 직접 작성할 수 있었지만 이제 syslog에 다음 두 줄이 붙어 있습니다.

[88529.103991] 감사: 유형=1400 감사(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, 바인딩"

[88529.104010] 감사: 유형=1400 감사(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" 플래그="rw, 비공개"

내 프로필에 다음 줄(및 조작하는 동안 여러 변형)을 추가하려고 시도했지만 docker-das아무 소용이 없습니다.

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

이것이 작동하지 않는다는 것을 알 수 있는 유일한 이유는 (기본 마운트 명령을 사용할 때) 와 반대이기 때문 comm입니다 .dockermount

불행하게도 나는 어떤 도움도 받을 수 없는 것 같고 aa-genprof(프로파일의 이름이 비표준 이름이기 때문이라고 생각합니다) AppArmor 문서(비록 도움이 되긴 했지만 위키에서 올바른 페이지를 찾았습니다)는 엉망입니다.

필요한 라인을 생성하는 쉬운 방법이 있다면 그것은 훌륭한 지식이 될 것입니다. 그렇지 않으면 누구든지 규칙의 문제점을 확인하거나 로그에 표시된 마운트를 허용하는 데 필요한 규칙을 알아낼 수 있습니다. 내가 원하는 것은 어떤 부분이 필요하지 않은지 결정할 수 있도록 로그 라인에 대해 가장 강한 일치를 갖는 것입니다.

답변1

완전한 솔루션은 아니지만(모든 로그 라인에서 일치 규칙을 생성할 수 있는 문제는 해결되지 않음) 다음은 특정 문제에 대해 제가 생각해낼 수 있는 최선의 솔루션이며 충분히 안전해야 합니다.

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

그러나 로그 항목에 대해 가장 강력한 일치 항목을 얻은 다음 이를 사용하거나 (원하는 경우) 약하게 만들 수 있다면 여전히 좋을 것입니다.

관련 정보