Forum Linux.général Isoler les données de chaque application

Posté par . Licence CC by-sa
2
28
nov.
2015

Bonjour,

Le système de permissions d'Android est un truc qui me plaît beaucoup, et que j'aimerais bien reproduire dans ma Debian. Plus précisément, je voudrais pouvoir choisir à quelles données certaines applications peuvent accéder.

Et j'aimerais faire ça parce que ça me paraît être un bon moyen de protéger mes données d'un exploit quelconque, surtout dans les programmes qui accèdent à Internet. Par exemple, donner à Firefox l'accès à uniquement ~/.mozilla et ~/Téléchargements permettrait de moins exposer mes ~/Images et ~/Documents.

En fait j'aimerais savoir, plus généralement, pourquoi les grandes distributions Linux sur PC ne proposent pas le genre de protections qui sont apparues il y a quelques années avec les smartphones et les magasins d'applications. Pourquoi le système n'isole-t-il pas plus les données par défaut ?

J'ai entendu parler de SELinux, sans bien comprendre son but et son fonctionnement. Est-ce qu'il fait ce que je cherche ? Et si oui, est-ce que quelqu'un a réussi à le faire fonctionner sans casser la moitié de ses applications, et pourrait me donner quelques conseils ?

Et sinon, existe-t-il d'autres solutions pour "isoler" mes fichiers ?

Merci.

  • # SELinux le fait

    Posté par . Évalué à 4.

    Oui SELinux est fait pour ça. C'est même certainement le plus utilisé avec AppArmor d'Ubuntu puisqu'il est activé directement sur certaines distributions genre RedHat.

    Pour ma part, j'utilise Tomoyo qui est un autre système de gestion d'accès d'un processus.

    Ce qui est sympa c'est qu'il est possible de le lancer en mode learning, il va alors générer une liste de règles pour un binaire que tu peux ensuite vérifier avant de l'activer réellement. Les autres le font peut être aussi mais je ne les ai jamais utilisés.

    • [^] # Re: SELinux le fait

      Posté par . Évalué à 1.

      Merci :D

      Si j'ai une liste de dossiers/fichiers à whitelister pour certains binaires, il y a un moyen de créer une policy rapidement pour SELinux ou c'est long et compliqué ?

  • # re

    Posté par . Évalué à 2. Dernière modification le 29/11/15 à 02:13.

    Le sujet m'intéresse j'aimerais aussi appliquer.

    Depuis peu, pour chaque grosse application lié à internet j'utilise pour chacun d'eux un système chrooté.
    Donc: 1 application = 1 système sous chroot avec 1 utilisateur simple avec son home vide ou seule fichiers lié à l'application.
    Au besoin, voir automatiser, faire un mount bind, pour avoir un dossier partagé entre le système principale et celui du système chroot de l'application.

    Surtout après file:/// dans la barre de firefox..

    "Comme ta création n’est pas en vain, la création de ces événements n’est pas non plus en vain." Bediüzzaman

    • [^] # Re: re

      Posté par . Évalué à 1.

      Tu peux préciser comment tu as monté ça ? Tu installes un système complet dans un dossier, tu chroot dedans, et après ?

      • [^] # Re: re

        Posté par . Évalué à 3.

        un système complet

        Sans noyau.

        Pour Debian il y a un programme pour ne pas avoir à le faire à la main, c’est expliqué en français ici.

        tu chroot dedans, et après ?

        Après tu y installes ton (tes) programmes avec apt-get.

      • [^] # Re: re

        Posté par . Évalué à 2. Dernière modification le 29/11/15 à 16:20.

        Je lance: debootstrap --include locales --arch i386(ouamd64) jessie /location/à/un/dossier/cible http://ftp.debian.com/debian

        Une fois installation terminé: chroot /location/à/un/dossier/cible /bin/bash, j'ai la ligne de commande dans le système chrooté.

        Pour le bon fonctionnement un petit dpkg-reconfigure locales choisir pour ma part: us en utf8, puis mettre à jours le système (normalement il doit l'être), vérifier sources.list qui est incomplet (non-free pour plugin flash, ligne sur dépôt sécurité absent si je me souviens bien).

        Je mount pas trop de chose comme le font dans les tutoriels en générale c'est pas notre objectif.
        Je fais celui du proc et sys: mount -t proc none /chroot/cible/proc mount -t sysfs sys /chroot/cible/sys
        Je ne mount pas mon /dev/ du système principale dans le système chrooté, mais juste celui du /dev/snd/ pour avoir le son dans firefox via mount --bind /dev/snd /chroot/cible/dev/snd en créant au préalable le répértoire snd dans /chroot/cible/dev/, mais pour d'autre application tu n'auras probablement pas besoin.

        En fin d'utilisation umount le tout: umount -l /chroot/cible/dev/snd, umount -l /chroot/cible/proc, umount -l /chroot/cible/sys.

        Et faire les installations logiciels dedans en minimale, ta pas besoin d'installer un environnement de bureau.

        "Comme ta création n’est pas en vain, la création de ces événements n’est pas non plus en vain." Bediüzzaman

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.