From c990e3f2ed88637ac084d32c08f658b211298b61 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 8 Feb 2023 22:07:10 +0100 Subject: [PATCH] contrib/apparmor: remove version-dependent rules These conditions were added in docker in https://github.com/moby/moby/commit/8cf89245f5b5f9abb066f599cb69bfe0202bae5d to account for old versions of debian/ubuntu (apparmor_parser < 2.8.95) that lacked some options; > This allows us to use the apparmor profile we have in contrib/apparmor/ > and solves the problems where certain functions are not apparent on older > versions of apparmor_parser on debian/ubuntu. Those patches were from 2015/2016, and all currently supported distro versions should now have more current versions than that. Looking at the oldest supported versions; Ubuntu 18.04 "Bionic": apparmor_parser --version AppArmor parser version 2.12 Copyright (C) 1999-2008 Novell Inc. Copyright 2009-2012 Canonical Ltd. Debian 10 "Buster" apparmor_parser --version AppArmor parser version 2.13.2 Copyright (C) 1999-2008 Novell Inc. Copyright 2009-2018 Canonical Ltd. This patch removes the version-dependent rules. Signed-off-by: Sebastiaan van Stijn --- contrib/apparmor/template.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/contrib/apparmor/template.go b/contrib/apparmor/template.go index ccf4a263d..63e50d299 100644 --- a/contrib/apparmor/template.go +++ b/contrib/apparmor/template.go @@ -53,14 +53,12 @@ profile {{.Name}} flags=(attach_disconnected,mediate_deleted) { capability, file, umount, -{{if ge .Version 208096}} # Host (privileged) processes may send signals to container processes. signal (receive) peer=unconfined, # Manager may send signals to container processes. signal (receive) peer={{.DaemonProfile}}, # Container processes may send signals amongst themselves. signal (send,receive) peer={{.Name}}, -{{end}} deny @{PROC}/* w, # deny write for all files directly in /proc (not in a subdir) # deny write to files not in /proc//** or /proc/sys/** @@ -82,11 +80,9 @@ profile {{.Name}} flags=(attach_disconnected,mediate_deleted) { deny /sys/firmware/** rwklx, deny /sys/kernel/security/** rwklx, -{{if ge .Version 208095}} # allow processes within the container to trace each other, # provided all other LSM and yama setting allow it. ptrace (trace,tracedby,read,readby) peer={{.Name}}, -{{end}} } `