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 ?
Réponses
Trop de publicités?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.
Firejail est assez récent et en développement constant. Facile à utiliser.
Vous pouvez simplement :
sudo apt-get install firejail
firejail app
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.
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.
- Réponses précédentes
- Plus de réponses