如何使用 AppArmor 保护 Spotify 安全?

如何使用 AppArmor 保护 Spotify 安全?

我已经从他们的仓库安装了 Spotify,方法如下这些说明

但我担心在我的计算机上运行专有代码会带来安全后果 - 因为它无法进行独立审查,而且 Spotify 完全负责修复任何安全漏洞。

我想使用 AppArmor 来保护它,以减少它可能造成的影响。我在互联网上找到了一些 AppArmor 配置文件,但对我来说都不起作用。(有关 AppArmor 的更多信息

答案1

我已在 GitHub 上发布了我的 AppArmor Spotify 个人资料:https://github.com/ruudkoot/spotify-apparmor

答案2

由于我找不到适合自己的配置文件,所以我对 Spotify 进行了配置文件,并创建了自己的配置文件。这不会阻止 Spotify 二进制文件访问您可能不希望它访问的所有内容,但总比没有好。我不提供任何保证,使用此配置文件需要您自担风险。

对我来说,这在 Ubuntu 14.04 和 15.04 以及 Spotify 版本 0.9.17.1 上都有效。我使用的是标准 GNOME 和 LightDM 桌面,尚未使用 KDE 或 XFCE 等进行测试。


0. 先决条件

使用 AppArmor 时,我发现安装该apparmor-utils软件包非常有用。在终端运行:

sudo apt-get install apparmor-utils

1. 创建个人资料

让我们首先将配置文件复制到适当的位置。首先,使用 root 权限打开 gedit:

sudo gedit /etc/apparmor.d/opt.spotify.spotify-client.spotify

然后将其复制到新窗口中:

# Created by Sean Lanigan. Released to the Public Domain. 
# Retrieved from https://askubuntu.com/a/664812/237387 
# Last Modified: Sun 30 Aug 2015

#include <tunables/global>

/opt/spotify/spotify-client/spotify {
  #include <abstractions/audio>
  #include <abstractions/base>
  #include <abstractions/dbus-strict>
  #include <abstractions/ibus>
  #include <abstractions/lightdm>
  #include <abstractions/gnome>
  #include <abstractions/dconf>
  #include <abstractions/nameservice>

  # Give some access to some user things
  /home/*/.config/Trolltech.conf rwk,
  /home/*/.pki/nssdb/* rw,
  /home/*/.pki/nssdb/cert9.db rwk,
  /home/*/.pki/nssdb/key4.db rwk,

  # Give some access to some system things
  @{PROC}/*/auxv r,
  @{PROC}/*/oom_score_adj rw,
  @{PROC}/sys/kernel/shmmax r,

  # Allow read, write and lock access to Spotify config and cache files
  owner @{HOME}/.cache/spotify/ rw,
  owner @{HOME}/.cache/spotify/** rwk,
  owner @{HOME}/.config/spotify/ rw,
  owner @{HOME}/.config/spotify/** rwk,
  owner @{HOME}/.local/share/spotify/ rw,
  owner @{HOME}/.local/share/spotify/** rwk,

  # Read local music, no write permission given
  owner @{HOME}/Music/ r,
  owner @{HOME}/Music/** r,
}

然后保存并退出。


2. 启用个人资料

现在我们要做的就是启用新的配置文件:

sudo aa-enforce /opt/spotify/spotify-client/spotify

这就是全部了!Spotify 可以访问其正常工作所需的所有内容,包括您的 ~/Music 目录 - 但愿它不能访问任何它不应该访问的内容。

如果您对此个人资料有任何改进,请在评论中提及!


禁用 AppArmor 配置文件

如果你想禁止 AppArmor 限制 Spotify,你可以运行

sudo aa-disable /opt/spotify/spotify-client/spotify

如果 Spotify 应用程序的新版本发生更改并开始使用此配置文件崩溃,则可能需要这样做。如果是这种情况,您需要更新 AppArmor 配置文件以允许这些更改。

相关内容