Como posso proteger o Spotify com o AppArmor?

1

Eu tenho o Spotify instalado em seu repositório, seguindo estas instruções .

Mas estou preocupado com as ramificações de segurança de ter código proprietário em execução na minha máquina - já que ele não está disponível para revisão independente, e o Spotify é totalmente responsável por corrigir quaisquer falhas de segurança.

Gostaria de protegê-lo usando o AppArmor para reduzir o impacto que ele poderia ter. Eu encontrei alguns perfis do AppArmor na Internet, mas nenhum funcionou corretamente para mim. (mais informações sobre o AppArmor )

    
por seanlano 23.08.2015 / 12:00

2 respostas

1

Como não consegui encontrar um perfil que funcionasse para mim, analisei o Spotify e criei o meu próprio perfil. Isso não impedirá que o binário do Spotify consiga acessar tudo o que você talvez não queira, mas é melhor que nada. Eu não dou garantias, use isso por sua conta e risco.

Isso funciona para mim no Ubuntu 14.04 e no 15.04 e no Spotify versão 0.9.17.1. Eu estou usando o GNOME padrão e desktop LightDM, eu não testei isso com o KDE ou XFCE etc.

0. Pré-requisitos

Ao trabalhar com o AppArmor, acho incrivelmente útil ter o pacote apparmor-utils instalado. Em um terminal:

sudo apt-get install apparmor-utils

1. Criar perfil

Vamos começar copiando o perfil para o local apropriado. Primeiro, abra o gedit com permissões de root:

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

Copie isso para a nova janela:

# 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,
}

Em seguida, salve e saia.

2. Ativar perfil

Agora tudo o que precisamos fazer é ativar o novo perfil:

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

E isso é tudo que existe para isso! Spotify tem acesso a todas as coisas que precisa para funcionar corretamente, incluindo o seu diretório ~ / Music - e espero que nenhuma das coisas que ele não deveria estar acessando.

Se você tiver alguma melhoria neste perfil, por favor mencione nos comentários!

Desativar perfil do AppArmor

Se você quiser desativar o AppArmor de confinar o Spotify, você pode executar

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

Isso pode ser necessário se uma nova versão do aplicativo Spotify for alterada e começar a travar com esse perfil. Se esse for o caso, você precisará atualizar o perfil do AppArmor para permitir quaisquer alterações.

    
por seanlano 23.08.2015 / 12:00
1

Publicamos o meu perfil do Spotify para o AppArmor no GitHub: link .

    
por Ruud Koot 24.08.2015 / 22:31