Commit graph

628 commits

Author SHA1 Message Date
Julian Andres Klode
3d842ddb82 postifx-common: Allow access to dynamicmaps, most seems to use it 2018-11-30 14:23:56 +01:00
Steve Beattie
01648c6a61
profiles/postfix-master: use profile name instead of match pattern
Convert postfix's master profile to use a named profile
(postfix-master) rather than the exec path match pattern. Adjust
postfix-common abstraction to take this into account. Rename profile
name in the profiles/apparmor/profiles/extras/ directory to match
the profile name.

Signed-off-by: Steve Beattie <steve.beattie@canonical.com>
2018-11-29 15:14:52 -08:00
Vincas Dargis
2438179b76 Use @{sys} tunable in profiles and abstractions
Commit aa06528790 made @{sys} tunable
available by default.

Update profiles and abstractions to actually use @{sys} tunable for
better confinement in the future (when @{sys} becomes kernel var).

Closes LP#1728551
2018-11-08 20:04:46 +02:00
Christian Boltz
b77116e6af
Add profile names to all profiles with {bin,sbin} attachment
Also adjust the signal rules in the dovecot-common and apache2-common
abstractions to match the profile names, and to really do that
(peer=...{bin,sbin}... didn't work, the correct syntax would have been
peer=...\{bin,sbin\}...)

This fixes the regression introduced by !149 / commit
4200932d8f
2018-10-15 20:57:33 +02:00
Christian Boltz
d4afbccb6a
nmbd profile: allow writing to /run/systemd/notify
References: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1719354
(comment 8)
2018-10-12 23:48:13 +02:00
John Johansen
a992a22668 Merge branch 'cboltz-dovecot-ssl-params' into 'master'
add new location for ssl-params file

(probably Ubuntu-only? The ssl-params file doesn't exist on my openSUSE
installation)

References: https://bugs.launchpad.net/apparmor-profiles/+bug/1796966
I propose this patch for 2.10..master

PR: https://gitlab.com/apparmor/apparmor/merge_requests/231
Acked-by: John Johansen <john.johansen@canonical.com>
2018-10-09 23:52:53 +00:00
Christian Boltz
772a8702e0 Merge branch 'sys-by-default' into 'master'
Make @{sys} available by default

See merge request apparmor/apparmor!228

Acked-by: Christian Boltz <apparmor@cboltz.de> for 2.10..master
2018-10-09 22:30:10 +00:00
Christian Boltz
16a98d26d0
add new location for ssl-params file
(probably Ubuntu-only? The ssl-params file doesn't exist on my openSUSE
installation)

References: https://bugs.launchpad.net/apparmor-profiles/+bug/1796966
2018-10-09 23:24:51 +02:00
Vincas Dargis
aa06528790 Make @{sys} available by default
Move @{sys} into tunables/kernelvars to make it readily available for
all profiles by default. In order to avoid duplicate variable
declaration, other tunable includes where modified accordingly.
Additionally, apparmor_api/is_enable has updated comment with regards to
@{sys} availability. tunables/sys is now marked as deprecated and should
not be used as it is noop, left only for backwards compatibility.

This is preparation for fixing bug:
https://bugs.launchpad.net/apparmor/+bug/1728551

Thanks to Christian Boltz for original idea to implement this in
non-breaking manner.
2018-10-09 19:27:55 +03:00
Petr Vorel
025c7dc6a1
dnsmasq: Add permission to open log files
--log-facility option needs to have permission to open files.
Use '*' to allow using more files (for using more dnsmasq instances).

Signed-off-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Jamie Strandboge <jamie@canonical.com>
Signed-off-by: Steve Beattie <steve.beattie@canonical.com>
2018-10-09 09:02:25 -07:00
John Johansen
5718aa04ed Merge branch 'opencl-nvidia-update' into 'master'
Use nvidia_modprobe named profile inside opencl-nvidia abstraction

Commit 8f9bd5b0 rightfully removed PUx
transition into nvidia-modprobe executable due to security concerns. To
overcome this, commit 327420b1 added
named nvidia_modprobe profile, which allows to use this abstraction
without requiring additional rules to make OpenCL work with NVIDIA
drivers.

Add rule to allow Px transition into nvidia_modprobe profile for
nvidia-modprobe executable.

I propose this for 2.13..master (opencl* are only available in 2.13...). Please check if nvidia_modprobe is already backported.

https://gitlab.com/apparmor/apparmor/merge_requests/219

Acked-by: John Johansen <john.johansen@canonical.com>
2018-10-05 06:46:43 +00:00
Christian Boltz
f76a718f28 Merge branch 'profile-usr.sbin.smbd' into 'master'
Add missing paths to usr.sbin.nmbd, usr.sbin.smbd and abstractions/samba

See merge request apparmor/apparmor!210

Acked-by: Christian Boltz <apparmor@cboltz.de> for 2.10..master
2018-10-04 20:34:06 +00:00
Vincas Dargis
e4b1cadf63 Use nvidia_modprobe named profile inside opencl-nvidia abstraction
Commit 8f9bd5b0e3 rightfully removed PUx
transition into nvidia-modprobe executable due to security concerns. To
overcome this, commit 327420b151 added
named nvidia_modprobe profile, which allows to use this abstraction
without requiring additional rules to make OpenCL work with NVIDIA
drivers.

Add rule to allow Px transition into nvidia_modprobe profile for
nvidia-modprobe executable.
2018-10-03 19:59:21 +03:00
John Johansen
e7133731cf Merge branch 'nvidia-modprobe' into 'master'
Add nvidia_modprobe named profile

nvidia-modprobe is setuid executable is used to create various device
files and load the the NVIDIA kernel module
(https://github.com/NVIDIA/nvidia-modprobe).
Add named profile to be used in application profiles for confining
potentially risky setuid application.
I propose this to 2.10..master.

PR: https://gitlab.com/apparmor/apparmor/merge_requests/213

Acked-by: Christian Boltz <apparmor@cboltz.de>
Acked-by: John Johansen <john.johansen@canonical.com>
2018-10-03 06:45:16 +00:00
John Johansen
dada29a50c Merge branch 'profile-usr.sbin.dnsmasq' into 'master'
usr.sbin.dnsmasq: add /srv/tftp

See merge request apparmor/apparmor!211

Acked-by: John Johansen <john.johansen@canonical.com>
2018-10-03 06:40:51 +00:00
Vincas Dargis
327420b151 Add nvidia_modprobe named profile
nvidia-modprobe is setuid executable is used to create various device
files and load the the NVIDIA kernel module
(https://github.com/NVIDIA/nvidia-modprobe).

Add named profile to be used in application profiles for confining
potentially risky setuid application.
2018-10-02 20:29:10 +03:00
nl6720
80e98f2d93 Update usr.sbin.nmbd & usr.sbin.smbd
Add missing paths.
2018-10-02 11:58:57 +03:00
nl6720
6d670a3ca9 usr.sbin.dnsmasq: add /srv/tftp 2018-09-30 13:55:44 +03:00
Vincas Dargis
bd33cdd19a Include qt5 into kde abstraction
Currently, kde abstraction has rules relevant to Qt 3 and Qt 4
libraries, but are missing rules against latest Qt 5.

Include read-only Qt 5 abstraction to fix styling and similar issues for
software running on KDE 5 desktop.

Fixes https://bugs.launchpad.net/apparmor/+bug/1787201
2018-09-30 13:03:59 +03:00
Vincas Dargis
cba10db7e7 Add uid and uids kernel var placeholders
Add @{uid} and @{uids} variables to allow migrating profiles in advance
while awaiting path mediation implementation, based on current user id,
in kernel side.
2018-09-29 17:43:13 +03:00
Jamie Strandboge
6e014ab8a9 similar change for user-files 2018-09-27 15:11:54 -05:00
Jamie Strandboge
bbe0f9af78 private-files{,-strict}: disallow writes to parent dirs too 2018-09-27 14:42:14 -05:00
Emerson Bernier
afdd4f2189 abstractions/private-files: disallow access to the dirs of private files
Reference:
https://launchpad.net/bugs/1794820
2018-09-27 19:07:21 +00:00
Vincas Dargis
cee9527fa8 ubuntu-email: allow running Thunderbird wrapper script
gio-launch-desktop helper tries to execute /usr/bin/thunderbird wrapper
script, not the /usr/lib/thunderbird... directly.

Add rule allowing to execute /usr/bin/thunderbird.
2018-09-27 21:04:32 +03:00
Jamie Strandboge
5efd257585 we don't need to adjust keyring**. Thanks cboltz 2018-09-27 12:13:04 -05:00
Jamie Strandboge
ea2429dab5 ubuntu-browsers.d/user-files: disallow access to the dirs of private files 2018-09-27 12:09:09 -05:00
Jamie Strandboge
503d2904dc abstractions/private-files: disallow writes to thumbnailer dir (LP: #1788929) 2018-09-27 11:56:09 -05:00
Jamie Strandboge
d1937093f7 abstractions/private-files-strict: disallow access to the dirs of private files
Reference:
https://launchpad.net/bugs/1794820
2018-09-27 11:55:37 -05:00
Jamie Strandboge
8f9bd5b0e3 abstractions/opencl-nvidia: don't allow PUx on nvidia-modprobe 2018-09-27 11:38:51 -05:00
Jamie Strandboge
ae771b475a remove antiquated abstractions/launchpad-integration 2018-09-27 11:29:11 -05:00
John Johansen
bfd5445870 Revert "Update ubuntu-email for launching Thunderbird wrapper script"
This reverts commit ab7459ed40.

This commit was meant to go to a branch to setup a merge request in
gitlab. Revert until the commit has gone through the regular review
process.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2018-09-24 03:01:46 -07:00
Vincas Dargis
ab7459ed40 Update ubuntu-email for launching Thunderbird wrapper script 2018-09-21 16:46:48 +00:00
John Johansen
884041605c Merge branch 'profile-usr.sbin.ntpd' into 'master'
usr.sbin.ntpd: add openntpd drift and socket files

See merge request apparmor/apparmor!192

Acked-by: John Johansen <john.johansen@canonical.com>
2018-09-18 11:35:28 +00:00
John Johansen
50c9901d62 Merge branch 'profile-usr.sbin.dnsmasq' into 'master'
usr.sbin.dnsmasq: add paths for NetworkManager connection sharing

dnsmasq needs to access additional paths when used for connection sharing by NetworkManager.
Additionally it needs read permissions to /usr/share/dnsmasq/trust-anchors.conf which contains the DNSSEC trust anchors.

See merge request apparmor/apparmor!193

Acked-by: John Johansen <john.johansen@canonical.com>
2018-09-18 11:34:13 +00:00
John Johansen
20de92c5d6 Merge branch 'qt-settings-write' into 'master'
Add qt5 writing abstractions

Qt-based applications stores QFileDialog (latest browsed directory) and
other shared user settings inside ~/.config/QtProject.conf. Currently
available qt abstraction only allows to read it (by design), so this
patch introduces abstraction that grants permissions for writing.
Relevant denies discovered with KDE Dragon Player:
/var/log/audit/audit.log.1:type=AVC msg=audit(1533485161.999:981): apparmor="DENIED" operation="mknod" profile="/usr/bin/dragon" name="/home/vincas/.config/QtProject.conf.lock" pid=29911 comm="dragon" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
type=AVC msg=audit(1533486419.266:1141): apparmor="DENIED" operation="file_lock" profile="/usr/bin/dragon" name="/home/vincas/.config/QtProject.conf.lock" pid=30406 comm="dragon" requested_mask="k" denied_mask="k" fsuid=1000 ouid=1000
/var/log/audit/audit.log.1:type=AVC msg=audit(1533485206.575:1006): apparmor="DENIED" operation="link" profile="/usr/bin/dragon" name="/home/vincas/.config/QtProject.conf.Gflpds" pid=29946 comm="dragon" requested_mask="l" denied_mask="l" fsuid=1000 ouid=1000 target="/home/vincas/.config/#12982163"
In addition, added new qt-compose-cache-write abstraction as some applications wants to write compose cache. qt5 abstraction is appended with read-only rule (that's enough for LibreOffice using KDE file dialog).

See merge request apparmor/apparmor!159

Acked-by: John Johansen <john.johansen@canonical.com>
2018-09-18 10:03:08 +00:00
nl6720
5bc7a9fbd6 usr.sbin.dnsmasq: add paths for NetworkManager connection sharing
Also add /usr/share/dnsmasq/, DNSSEC trust anchors are kept there.
2018-09-18 12:57:22 +03:00
nl6720
b3c4a73e2f usr.sbin.ntpd: add openntpd drift and socket files 2018-09-18 11:53:36 +03:00
John Johansen
c6e704529d Merge branch 'cboltz-php-icu' into 'master'
abstractions/php: allow ICU (unicode support) data tables

See merge request apparmor/apparmor!184

  abstractions/php: allow ICU (unicode support) data tables

  Reported by darix on IRC, and also something I noticed in my own usage of PHP.

  I propose this addition for 2.10..master.

Acked-by: John Johansen <john.johansen@canonical.com>
2018-09-12 00:19:06 +00:00
Cameron Nemo
6e28a94ace profiles: support void-specific binary names for openntpd, traceroute, and ping 2018-09-11 09:54:33 -07:00
Christian Boltz
e396f9dae9
abstractions/php: allow ICU (unicode support) data tables
Reported by darix on IRC, and also something I noticed in my own usage
of PHP.
2018-09-02 15:46:43 +02:00
segfault
548de2f3b8 abstractions/python: allow /usr/local/lib/python3 2018-08-15 15:06:10 +02:00
Vincas Dargis
67816c42cf Add qt5-compose-cache-write abstraction
Qt GUI applications that uses "platforminputcontexts"-class of plugins
might need reading and/or writing compose cache. Add read-only rule in
qt5 abstraction and create new writing dedicated for compose cache
writing.
2018-08-15 13:25:19 +03:00
Vincas Dargis
69c4cabb93 Add qt5-write abstraction
Qt-based applications stores QFileDialog (latest browsed directory) and
other shared user settings inside ~/.config/QtProject.conf. Currently
available qt abstraction only allows to read it (by design), so this
patch introduces abstraction that grants permissions for writing.
2018-08-15 13:02:21 +03:00
John Johansen
533b4ab5b6 Merge branch 'drg-mods-1' into 'master'
Abstractions need write access to create/update some common config dirs

See merge request apparmor/apparmor!165

Acked-by: John Johansen <john.johansen@canonical.com>
2018-08-14 23:58:25 +00:00
Vincas Dargis
94014c09f0 Add kde-icon-cache-write abstraction
KIconLoader uses ~/.cache/icon-cache.kcache, and it is opened in
read-write mode. Because access to it does not seem to be critical, and
read-only mode is not used, rules for accessing this cache is added to
it's own new "write" abstraction, instead of making kde abstraction more
permissive by default.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2018-08-14 16:49:30 -07:00
Vincas Dargis
7345f61e9c Add kde-language-write abstraction
Currently, kde abstraction only allows reading
~/.config/klanguageoverridesrc file (by design). Some KDE applications
has option to change language for it's interface, and this needs write
access. This is fixed by introducing new abstraction.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2018-08-14 16:49:16 -07:00
Vincas Dargis
fae93f1b6c Add kde-globals-write abstraction
Currently, kde abstraction only allows reading ~/.config/kdeglobals (by
design), though some applications might need to update it's contents
such as KFileDialog settings. This patch fixes it by introducing new
abstraction.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2018-08-14 16:49:07 -07:00
John Johansen
ec86a15322 Merge branch 'recent-documents-write' into 'master'
Add recent-documents-write abstraction

See merge request apparmor/apparmor!163

Acked-by: John Johansen <john.johansen@canonical.com>
2018-08-14 23:26:02 +00:00
Daniel Richard G
7972c038d7 Updated abstractions to allow writing to some common config dirs 2018-08-14 16:38:18 -04:00
Daniel Richard G
094dc741ee Updated abstractions to allow creating some common config dirs 2018-08-14 16:38:18 -04:00