我想拒绝某些应用程序的互联网许可。因此,我首先尝试拒绝 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 文件权限 & co 位于: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
exmaple 配置文件,强制通过
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调整其他适当的