79 votes

Comment mettre les applications en sandbox ?

Je veux exécuter de petits programmes non fiables, mais leur interdire l'accès à tout fichier en dehors de leur dossier, l'accès au réseau et tout ce dont ils n'ont pas vraiment besoin. Quel est le moyen le plus simple d'y parvenir ?

31voto

leon Points 656

S'ils ne sont vraiment pas fiables et que vous voulez être sûr, vous pouvez installer une boîte séparée. Soit réellement, soit virtuellement.

De plus, si vous êtes assez paranoïaque, vous ne voulez pas que cette boîte soit dans le même réseau que vos affaires importantes. Dans toutes les solutions, il faudrait configurer un utilisateur distinct sans droits, afin de ne pas ouvrir trop d'outils au comprometteur potentiel.

  • L'option la plus sûre serait donc un boîtier séparé, physiquement éloigné de votre réseau.
  • Vous pouvez céder un peu en l'ajoutant au réseau physique, mais sur un sous-réseau différent : pas de connexion "réelle" à l'intérieur.
  • Une machine virtuelle serait une option, mais il faudrait peut-être renoncer à certaines performances.

Si vous tenez à les faire fonctionner sur la même boîte, vous avez par exemple cette option

  • chroot . Il s'agit d'une option par défaut pour de nombreuses personnes, et pour des menaces non spécifiques, elle peut même fonctionner. Mais ce n'est PAS une option de sécurité et elle peut être facilement contournée. Je vous suggère de l'utiliser comme prévu, c'est-à-dire pas pour la sécurité.

En fin de compte, il se peut que vous ayez besoin de mettre en place un modèle de sandboxing spécifique sans les inconvénients de la virtualisation ou des boîtes séparées, ou la situation toujours à risque du chroot . Je doute que ce soit ce que vous vouliez dire, mais regardez à ce lien pour des informations plus approfondies.

24voto

penguinforsupper Points 241

Firejail est assez récent et en développement constant. Facile à utiliser.

Vous pouvez simplement :

sudo apt-get install firejail
firejail app

13voto

Warren Hill Points 21074

Virtualisation/émulation complète (VirtualBox)

Une solution possible est un logiciel de virtualisation tel que VirtualBox que vous pouvez trouver dans le centre de logiciels.

  • Installer une boîte virtuelle
  • Créer une machine virtuelle avec la mise en réseau activée
  • Installez Ubuntu ou peut-être un bureau plus léger comme Lubuntu.
  • Mise à jour complète du système d'exploitation installé (à l'intérieur de Virtual box)
  • Désactiver la mise en réseau sur la machine virtuelle
  • Prenez un instantané

Vous pouvez maintenant installer le logiciel auquel vous ne faites pas confiance pour voir ce qu'il fait. Il ne peut pas perturber le monde extérieur ou votre système d'exploitation hôte car il n'y a pas accès.

Il se peut cependant que votre machine virtuelle soit détruite, mais si c'est le cas, vous pouvez simplement restaurer à partir de votre snapshot.

Il existe peut-être d'autres méthodes pour limiter le pouvoir destructeur des logiciels non fiables, mais c'est la méthode la plus robuste à laquelle je pense.

Virtualisation basée sur les conteneurs (Docker/LXC)

Une autre option peut être LXC plus d'informations aquí

LXC est le paquet de contrôle de l'espace utilisateur pour Linux Containers, un mécanisme de système virtuel léger parfois décrit comme "chroot sur les stéroïdes".

LXC se construit à partir de chroot pour mettre en œuvre des systèmes virtuels complets, en ajoutant des mécanismes de gestion des ressources et d'isolation à l'infrastructure existante de gestion des processus de Linux.

Il est disponible dans le centre logiciel. Je n'ai cependant aucune expérience en la matière.

13voto

HojouHuman Points 265

Docker vous aidera à mettre en place des conteneurs que vous pourrez faire fonctionner à partir de votre noyau actuel, tout en les maintenant à l'écart du reste de votre système. Cela semble assez avant-gardiste mais il y a une concentration sur Ubuntu et une bonne documentation.

9voto

0x78 Points 101

mbox

Mbox est un mécanisme de sandboxing léger que tout utilisateur peut utiliser sans privilèges spéciaux dans les systèmes d'exploitation de base.

Je l'ai utilisé pour plusieurs choses de manière fiable.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X