AppArmor 프로필: 인터넷 액세스가 거부되었습니다.

AppArmor 프로필: 인터넷 액세스가 거부되었습니다.

특정 애플리케이션에 대한 인터넷 권한을 거부하고 싶습니다. 그래서 먼저 ping에 대한 인터넷 권한을 거부하려고 시도했지만 작동하지 않았습니다.

소개는 이렇습니다/etc/apparmor.d/bin.ping

/{usr/,}bin/ping {
  #include <abstractions/base>
    # block ipv4 acces
    deny network inet,
    # ipv6 
    deny network inet6,
    # raw socket
    deny network raw,
}

apparmor하지만 다시 시작한 후에도 ping이 계속 발생합니다.

/etc/init.d/boot.apparmor restart
 ping google.de
PING google.de (64.15.112.99) 56(84) bytes of data.
64 bytes from cache.google.com (64.15.112.99): icmp_seq=1 ttl=57 time=11.8 ms
64 bytes from cache.google.com (64.15.112.99): icmp_seq=2 ttl=57 time=15.3 ms

편집: OpenSuse 13.1을 실행하고 있다는 사실을 언급하는 것을 잊어버렸습니다.

답변1

구성 파일을 정의하기 전에 이 줄을 제거하거나 파일 맨 위에 줄을 추가해야 합니다 #include <abstractions/base>. #include <tunables/global>이는 abstractions/base가 tunables/global에 정의된 변수를 사용하기 때문입니다.

답변2

문서는 여기에 있습니다:https://gitlab.com/apparmor/apparmor/-/wikis/Documentation 파일 권한 및 공동 위치는 다음과 같습니다.https://gitlab.com/apparmor/apparmor/-/wikis/QuickProfileLanguage#file-permissions

부드러운 소개로 시청하는 것이 좋습니다.https://www.youtube.com/watch?v=PRZ59lxLlOY

샘플 atril pdf 뷰어를 선택하고 구성 파일이 존재하지 않으면 하나를 생성합니다.

sudo aa-genprof /usr/bin/atril # do stuff in the app to elicit events
sudo aa-logprof # to adjust profile, written to /etc/apparmor.d/usr.bin.atril 

프로필 예를 들어 강제 통과 sudo aa-enforce /etc/apparmor.d/usr.bin.atril하고 PDF의 링크를 클릭하면 감사 결과가 sudo dmesg -w표시됩니다 .apparmor="DENIED"

# Last Modified: Sun Dec 13 23:28:03 2020
#include <tunables/global>

/usr/bin/atril {
  #include <abstractions/base>
  #include <abstractions/lightdm>

    # block ipv4 acces
    deny network inet,
    # ipv6 
    deny network inet6,
    # raw socket
    deny network raw,

    owner /** rwm,
}

응용프로그램 차단: 도움말->정보->웹사이트 열기, aa-logproof를 통해 기타 적절하게 조정

관련 정보