특정 애플리케이션에 대한 인터넷 권한을 거부하고 싶습니다. 그래서 먼저 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를 통해 기타 적절하게 조정