• [^] # Re: Intégration app store

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Sortie d’Ubuntu 16.10 Yakkety Yak. Évalué à 10.

    Est-ce vraiment un bien de pouvoir installer des paquets sans droits d'administrations ?

    Ben oui carrêment. C'est plutôt la question inverse qu'il faudrait poser: pourquoi aurait-on besoin de droits d'administration pour la plupart des programmes? C'est une aberration sécuritaire, en un sens. Bien sûr, ce n'est pas tout à fait vrai en remettant en contexte: à l'époque où les systèmes de paquetage classique (.rpm, .deb...) ont été créé, on pensait encore l'informatique avec l'opposition "un admin pointu qui connaît tout sur tout (ahahah)" d'un côté et des "utilisateurs idiots" de l'autre. Dans ce contexte, l'admin choisissait pour ses utilisateurs et il savait (normalement) ce qu'il faisait et aussi pouvait peser la légitimité de la source d'un programme, voire lire les dites-sources (re-ahahah).
    Depuis les choses ont évolué et on se rend compte de plus en plus que le plus gros de l'utilisation, c'est: "un seul utilisateur par machine, qui est aussi l'admin". L'informatique personnelle en somme. Souvent cet utilisateur n'a pas particulièrement de connaissance, même si je pense qu'il serait bien de le rendre un peu plus responsable plutôt que totalement soumis (le rêve des GAFAM est qu'ils deviennent les administrateurs du monde et que l'ensemble des utilisateurs restent "idiots" sans chercher à comprendre).

    Dans ce nouveau contexte, pouvoir installer un nouveau programme sans droits d'administration est un must.
    Le fait est que les utilisateurs Linux installent depuis des années maintenant des logiciels sans droit d'administration: soit en les compilant soi-même, soit en téléchargeant une archive sur un site web (par exemple, on fait cela pour Blender, afin d'avoir une version récente), etc.
    Quitte à faire cela, autant le faire de manière sécurisé et avec une intégration au bureau (je déteste avoir à aller chercher un binaire dans un dossier et double-cliquer pour devoir lancer un programme!).

    En outre, tu dis plus bas:

    Mais la sécurité ce n'est pas que ça. C'est aussi la sécurité des données.

    Ben c'est justement là où flatpak va exceller. Un logiciel en sandbox n'a accès aux données que si ce droit lui a été donné. Ce genre de paquetage est 100 fois plus sécurisé pour les données que les systèmes à l'ancienne (lesquels n'ont tout simplement quasiment aucune sécurité, hormis l'utilisateur et le groupe, ce qui ne protège justement absolument pas les données qui auront le même utilisateur que l'exécution). Ils ont accès aux données, au réseau, l’interaction avec les autres processus, etc. Ensuite y a d'autres mécanismes, comme les capabilities POSIX, mais c'est plus complexe et très peu de logiciels "grand public" vont en faire usage. Les logiciels de tous les jours ont un peu tous les pouvoirs au final.
    Avec une sandbox dont les permissions sont visibles par l'utilisateur, les choses sont déjà plus claires pour l'utilisateur et plus simple pour le développeur et packageur.

    Cela ne risque-t'il pas de détruire la cohérence d'une distribution, en ayant de multiples versions de libs de provenance diverses dont il sera difficile de savoir si elles sont à jour par rapport à des failles de sécurités ?

    Alors soyons clair, je préférerai de loin n'avoir besoin que des dépôts de distribution, qu'une seule version par librairie, etc. Mais la réalité a montré les limites de ce système. Au final on se retrouve régulièrement à vouloir installer une version plus récente que ce qu'il y a sur le dépôt, voire même carrément à ne pas trouver dans le dépôt un logiciel. Ça m'est encore arrivé y a 2 jours: je lis une description d'un logiciel libre qui pourrait m'être utile, je me tiens "tiens testons le", il n'était pas dans les dépôts. Et le projet upstream ne proposait qu'un binaire .deb, ainsi qu'une archive qui nécessitait une version différente d'une bibliothèque Python. Au final je n'ai pas pu tester, et j'ai abandonné (j'aurais pu insister et réussir, sans aucun doute. Mais franchement j'ai estimé l'effort comparé à mon besoin et ai décidé que ça ne valait pas le coup). Ça m'a clairement attristé.

    Quant à la sécurité, même si l'usptream avait fourni un .rpm que j'aurais pu installer en un clic — avec mon mot de passe root! — quelle sécurité aurais-je eu? Niet, nada, zip! Le programme s'installerait dans mon système et une fois lancé aurait simplement accès à toutes mes données, à mon interface réseau, etc. Je dois avouer l'inavouable: je n'ai pas minutieusement inspecté le code de ce logiciel, même s'il est libre et que j'avais donc accès à tout (ceci dit, la version dans le rpm aurait pu être différente du code public! Donc même si j'avais inspecté le code, ça n'aurait pas forcément servi). Au final, il pourrait tout aussi bien contenir un gros malware qui serait passé comme une lettre à la poste (je l'ai peut-être échappé belle en échouant, qui sait!).
    Si ça avait été un flatpak, j'aurais pu vérifier à quoi il avait accès: tiens pourquoi un accès réseau? Ce logiciel doit-il vraiment avoir accès à mon home complet? Etc.
    Avec Wayland, j'aurais aussi pu avoir la certitude qu'il ne peut lire mon clavier ou faire un screenshot d'autres programmes (bye-bye keyloggers et assimilés), etc.

    Franchement Flatpak améliore la sécurité dans ce cas de figure.
    Oui on n'a plus le beau système avec chaque librairie partagée. C'est très triste et franchement cela ne me fait pas plaisir. Mais il faut aller de l'avant. J'ai envie de dire que c'est seulement le monde de l'informatique desktop, mais en fait sur le serveur, ils ont connu cela bien plus tôt, déjà avec les machines virtuelles, puis plus récemment avec docker.

    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]