Como bloquear a Internet para um aplicativo usando um perfil personalizado do apparmor?

3

Estou tentando bloquear o acesso à Internet de um aplicativo, pois ele sempre pede uma compra ou uma atualização, embora seja gratuito. Eu criei um perfil apparmor para esse aplicativo e o apliquei, mas depois de aplicar, o aplicativo não está sendo iniciado.

Este é o perfil em /etc/apparmor.d/opt.sublime_text.sublime_text :

/opt/sublime_text/sublime_text {

        deny network inet,
        deny network inet6,
        deny network raw,  #include <abstractions/base>

        /opt/sublime_text/sublime_text mr,
        /opt/sublime-text/ rw,
        /home/shady/.config/sublime-text-3/ rw,
}

Eu incluí os diretórios que esse aplicativo pode precisar. O que estou fazendo errado?

    
por Shantanu Bedajna 14.04.2016 / 12:30

1 resposta

2

Você precisa de muito mais para iniciar esse tipo de aplicativo. Quando há algo faltando no seu perfil, ele não tem acesso a ele. Sublimetext deve ter acesso a coisas como:

  
  • servidor X
  •   
  • fontes do sistema
  •   
  • Arquivo Xauthority
  •   
  • dconf
  •   
  • simplificado
  •   
  • etc ...
  •   

A maneira mais fácil e fácil de criar seu próprio perfil é instalar apparmor-utils

sudo apt-get install apparmor-utils

crie seu perfil usando a ferramenta de geração de perfil:

sudo aa-genprof /opt/sublime_text/sublime_text  

Neste momento, ele cria um perfil de sublimetext em /etc/apparmor.d/ e está ouvindo as ações do programa. Este perfil está no modo complain e está registrando em /var/log/syslog . Agora você precisa lançar seu sublimetext e fazer algumas ações como abrir e salvar arquivos, etc. todas essas ações serão salvas no arquivo de log que é usado por aa-genprof para criar regras. Quando você terminar as atividades, clique em s key e responda para perguntas sobre acesso ou negue aos seus recursos. Quando terminar, use a tecla f para salvar seu perfil recém-criado e transformá-lo no modo enforce .

No entanto, é bastante fácil que esta ferramenta não esteja funcionando perfeitamente. Não incluirá tudo e você deve adicionar algo manualmente, como o acesso a X
Em /etc/apparmor.d/opt.sublime_text.sublime_text :

include <abstractions/X>  

Se alguma alteração tiver sido feita, você precisará recarregar o arquivo de configuração:

sudo apparmor_parser r /etc/apparmor.d/opt.sublime_text.sublime_text      
    
por EdiD 15.04.2016 / 11:35