AppArmor 구성 파일에서 "ptrace(trace) Peer="는 무엇을 의미합니까?

AppArmor 구성 파일에서 "ptrace(trace) Peer="는 무엇을 의미합니까?

나는 AppArmor 구성 파일을 작성해 왔습니다.새로운 프로필을 만들 때마다 이전에 본 적이 없는 고급 규칙을 접하게 됩니다.

이 예에서는 PulseAudio에 대한 구성 파일을 생성합니다. SMPlayer에 대한 프로필도 있지만 PulseAudio 프로필을 생성할 때 SMPlayer에서 특정 영화를 보고 싶을 때 AppArmor에서 다음과 같이 말합니다.

kernel: audit: type=1400 audit(1505370398.880:1005): apparmor="DENIED" operation="capable" profile="/usr/bin/smplayer" pid=40033 comm="pacmd" capability=19  capname="sys_ptrace"
Sep 14 08:26:38 morfikownia kernel: audit: type=1400 audit(1505370398.880:1006): apparmor="DENIED" operation="ptrace" profile="/usr/bin/smplayer" pid=40033 comm="pacmd" peer="/usr/bin/pulseaudio"

이 문제는 다음을 추가하여 해결할 수 있습니다.SMPlayer 구성 파일에:

  capability sys_ptrace,
  ptrace (trace) peer=/usr/bin/pulseaudio,

하지만 이에 대해 두 가지 질문이 있습니다.

  1. 지금 SMPlayer에 규칙이 필요한 이유는 무엇입니까? 한동안 이에 대한 구성 파일이 있었는데 SMPlayer는 규칙을 요청한 적이 없습니다. PulseAudio용으로 생성된 구성 파일 때문이라는 것을 알고 있지만 그 이유를 설명할 수 있는 사람이 있습니까?

  2. 이 규칙은 실제로 무엇을 의미합니까? 추가하지 않으면 어떻게 되나요? SMPlayer는 CAP 및 ptrace규칙 없이도 잘 작동하는 것 같습니다 .

답변1

AppArmor문서추적 규칙그들의 위키에서. 읽다확증하다파일 내의 파일로 /proc/<pid>인해 추적 요청 거부 메시지가 로그에 나타날 수 있습니다.

귀하의 로그에서 발췌한 내용에 따르면 pulseaudio( comm=pacmd,profile /usr/bin/pulseaudio)는 액세스가 거부되는 반면 생성된 규칙은 액세스를 허용합니다(이런 일이 발생하는 이유에 대해 답변할 만큼 pulseaudio의 세부 사항에 익숙하지 않습니다). 최근에 pulseaudio용 AppArmor 프로필을 활성화한 경우 이전에 이 감사 메시지를 받지 못한 이유가 설명됩니다.

문제가 없거나 발견된 경우에는 액세스를 허용할 필요가 없습니다. AppArmor가 로그를 채우는 것을 방지하려면규칙을 거부하다. 거부 규칙에 의해 액세스가 거부되면 로그에 메시지가 생성되지 않습니다.

deny ptrace (trace) peer=/usr/bin/pulseaudio,

그러나 액세스를 허용하기로 결정한 경우 먼저 권한 부여만으로 ptrace (trace) peer=/usr/bin/pulseaudio충분한지 확인해야 합니다. capability sys_ptrace하나 더하다능력 규칙SMPlayer의 경우 이는 필요하지 않을 가능성이 높습니다.

관련 정보