web-dev-qa-db-ja.com

AppArmorでSpotifyを保護するにはどうすればよいですか?

これらの手順 に従って、Spotifyをリポジトリからインストールしました。

しかし、私は自分のマシンでプロプライエタリコードを実行することによるセキュリティの影響について心配しています-独立したレビューでは利用できず、Spotifyはセキュリティの欠陥を修正する責任を完全に負っています。

AppArmorを使用してセキュリティを確保し、影響を軽減したいと思います。インターネットでいくつかのAppArmorプロファイルを見つけましたが、どれも適切に機能しませんでした。 ( AppArmorの詳細

1
seanlano

自分に合ったプロファイルが見つからなかったので、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プロファイルを更新して、これらの変更を許可する必要があります。

1
seanlano

AppArmorのSpotifyプロファイルをGitHubに投稿しました: https://github.com/ruudkoot/spotify-apparmor

1
Ruud Koot