# SPDX-License-Identifier: AGPL-3.0-or-later # # PASTA - Pack A Subtle Tap Abstraction # for network namespace/tap device mode # # contrib/apparmor/usr.bin.pasta - AppArmor profile example/template for pasta # # Copyright (c) 2022 Red Hat GmbH # Author: Stefano Brivio abi , include /usr/bin/pasta flags=(attach_disconnected) { include # Interactive shell include include include owner /proc/**/ns/user r, / r, capability sys_ptrace, # bash capability dac_read_search, capability dac_override, @{etc_ro}/** r, /usr/** r, /lib/** r, owner @{HOME}/** rw, owner /tmp/** rw, /proc/*/net/tcp r, # procfs_scan_listen(), util.c /proc/*/net/tcp6 r, /proc/*/net/udp r, /proc/*/net/udp6 r, /dev/net/tun rw, # tap_ns_tun(), tap.c capability net_admin, # for network namespace only capability setpcap, # drop_caps(), util.c capability sys_admin, # sandbox(), passt.c mount "" -> "/", # sandbox(), passt.c mount "" -> "/tmp/", pivot_root "/tmp/" -> "/tmp/", umount "/", network netlink raw, # netlink.c network inet stream, # tcp.c network inet6 stream, network inet dgram, # udp.c network inet6 dgram, network unix stream, # tap.c network unix dgram, # __openlog(), util.c owner /proc/*/gid_map w, # pasta_setup_ns() owner /proc/*/setgroups w, owner /proc/*/uid_map w, owner /proc/sys/net/ipv4/ping_group_range w, /{usr/,}bin/** mrix, # spawning shell /usr/bin/pasta.avx2 ix, # arch_avx2_exec(), arch.c }