• [^] # Re: Restreindre les droits utilisateurs ou avoir un utilisateur avec certains droits admins?

    Posté par . En réponse à la dépêche Capsicum, une séparation fine des privilèges pour UNIX. Évalué à 6.

    question pour qq un comme moi, ça :p

    1) cette solution permet-elle de restreindre les droits utilisateurs simples
    2) donner quelques droits supplémentaires à un utilisateur (qui sont normalement réservés à root), mais pas tous

    C'est marqué au dessus : le développeur d'une application pourra choisir, avec capsicum : le but n'est pas de resteindre les droits, mais d'implémenter une solution pertinente (et facile d'usage pour les dev, voir le "portage facile") afin d'atteindre un but de séparations conforme à l'esprit POLA (coir ci dessus).

    3) _ si je veux lancer un programme en m'assurant que ce problème ne puisse pas du tout lire dans le système de fichier_
    Dés éléments de réponses sont apportés ci dessus. Le chroot par exemple (mais sa mise en oeuvre en le fortifiant un peu n'est pas aisé, du moins, moins que l'utilisation des solutions implémentées par des distributions). SELinux permet cela. AppArmor également.
    Souvent le plus simple est d'utiliser les ... utilisateurs de ton système. Ainsi par exemple créer un utilisateur "webuser" qui ne fera que lancer chromium... Ce chromium là ne pourra alors lire ton dossier /home de ton utilisateur courant, par simple droit sur ces dossiers.

    4) n'est cependant pas intéressant pour moi
    Si car c'est exactement la cible : avoir par défaut un comportement du "plus petit droit possible", donc, par rebond, que l'utilisateur n'est pratiquement pas à s'en soucier. Même pas besoin d'avoir une commande spécifique préalable pour lancer un programme.

    Bref, relis bien cette dépêche, et regarde du côté de la séparation des droits basiques, des limites que l'on peux attribuer, puis des ajouts spécifiques. Capsicum viendra ensuite (peut être) en complément, et par défaut, sans qu'il y ai besoin d'une intervention de l'administrateur. A aucun moment capsicum ne prendra leur place, même s'il s'avère que des possibilités se chevauchent. Puisque toutes les autres solutions demandent l'intervention de l'admin, donc TA configuration du système. Tandis que Capsicum offre de nouveaux outils pour une bonne pratique possible et aisée, au service des développeurs.

    Exemple IRL : chromium a besoin pour le moment du bit suid pour pouvoir faire son sandboxing. Ce qui veux dire qu'une faille bien exploité, mettons dans un flash, pourra peut être avoir les droits root sur ta machine. Faille dans Flash, puis dans chromium = root facile. Egal, pakool :p. C'est un exemple typique de opensource vs closed-source, par ailleurs. S'il est plus facile de repérer des failles des failles dans un programme open-source, celles ci sont corrigées plus vite. Tandisque s'il est plus difficile de repérer des failles dans un programme closed-source, ces failles resteront bien plus longtemps en status zero day... Et hop, un troll de tué. L'open-source n'est pas plus sécurisé en général, mais il permet une meilleure sécurisation en particulier.

    Voilà, j'espère ne pas avoir dit de bêtise, et avoir un poil éclairé tes questions.

    ps : je profite de ce commentaire pour dire MERCI pour cette dépêche, claire et passionnante.