web-dev-qa-db-fra.com

Comment bloquer Internet pour une application utilisant un profil personnalisé apparmor?

J'essaie de bloquer l'accès à Internet pour une application parce qu'elle demande toujours un achat ou une mise à jour, même si c'est gratuit. J'ai créé un profil apparmor pour cette application et je l'ai appliqué, mais après l'application, l'application ne démarre pas.

Voici le profil dans /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,
}

J'ai inclus les répertoires dont cette application pourrait avoir besoin. Qu'est-ce que je fais mal?

2
Shantanu Bedajna

Vous avez besoin de beaucoup plus pour lancer ce type d'application. Lorsqu'il manque quelque chose dans votre profil, il n'y a pas accès. Sublimetext doit avoir accès à des éléments tels que:

  • Serveur X
  • polices système
  • Fichier Xauthority
  • dconf
  • facile
  • etc ...

La meilleure façon de créer votre propre profil consiste à installer apparmor-utils

Sudo apt-get install apparmor-utils

puis créez votre profil en utilisant l'outil Générer un profil:

Sudo aa-genprof /opt/sublime_text/sublime_text  

En ce moment, il crée un profil de sous-texte dans /etc/apparmor.d/ et écoute les actions du programme. Ce profil est en mode complain et se connecte à /var/log/syslog. Vous devez maintenant lancer votre sublimetext et effectuer certaines actions, telles que l’ouverture et la sauvegarde de fichiers, etc. Toutes ces actions seront enregistrées dans un fichier journal utilisé par aa-genprof pour créer des règles. Lorsque vous avez terminé vos activités, appuyez sur la touche s et répondez aux questions relatives à accès ou refuser à vos ressources. Une fois terminé, utilisez la touche f pour enregistrer le profil que vous venez de créer et le faire passer en mode enforce.


Cependant, il est assez facile que cet outil ne fonctionne pas parfaitement. Il ne comprendra pas tout et vous devez ajouter manuellement quelque chose comme un accès à X
Dans /etc/apparmor.d/opt.sublime_text.sublime_text:

include <abstractions/X>  

Si des modifications ont été apportées, vous devez recharger le fichier de configuration:

Sudo apparmor_parser r /etc/apparmor.d/opt.sublime_text.sublime_text      
2
EdiD