GNU/Linux >> Tutoriels Linux >  >> Linux

Existe-t-il un shell qui vérifie que le code est signé ?

Oui et non.

La distribution de logiciels Linux fonctionne quelque peu différemment de la distribution de logiciels Windows. Dans le monde Linux (non embarqué), la principale méthode de distribution de logiciels se fait via une distribution (Ubuntu, Debian, RHEL, Fedora, Arch, etc.). Toutes les principales distributions signent systématiquement leurs packages depuis environ une décennie.

Lorsque le logiciel est distribué indépendamment, c'est au fournisseur de décider comment il expédiera son logiciel. Les bons fournisseurs fournissent des sources de paquets compatibles avec les principales distributions (il n'existe pas de mécanisme de distribution unifié pour l'ensemble de Linux :la distribution de logiciels est l'un des principaux points de différenciation entre les distributions) et qui sont signés avec la clé du fournisseur. Les distributions Linux agissent rarement en tant qu'autorité de signature pour les fournisseurs tiers (Canonical le fait avec les partenaires Ubuntu, mais cela couvre très peu de fournisseurs), et je pense que toutes les distributions majeures utilisent le Web de confiance PGP plutôt que l'infrastructure à clé publique TLS, donc c'est à l'utilisateur de déterminer s'il veut faire confiance à une clé.

Il n'existe aucun mécanisme spécial qui distingue les packages logiciels constitués d'un seul script des packages logiciels constitués d'un exécutable natif, d'un fichier de données ou de plusieurs fichiers. De plus, aucune vérification de signature n'est intégrée à un interpréteur de script commun, car la vérification d'un progiciel est une préoccupation complètement orthogonale à l'exécution d'un script.

Je pense que Windows annote les fichiers avec leur origine et nécessite la confirmation de l'utilisateur pour exécuter un fichier dont l'origine est "téléchargée" plutôt que "locale". Linux n'a pas vraiment de mécanisme similaire. La chose la plus proche est l'autorisation d'exécution :un fichier téléchargé n'a pas d'autorisation d'exécution, l'utilisateur doit l'activer explicitement (chmod +x sur la ligne de commande, ou l'action équivalente dans un gestionnaire de fichiers).


Si vous bloquez la capacité des utilisateurs à exécuter des scripts via sudo alors vous pouvez utiliser le digest Fonctionnalité.
Vous pouvez spécifier le hachage d'un script/exécutable dans sudoers qui sera vérifié par sudo avant d'être exécuté. Ainsi, bien que ce ne soit pas la même chose que la signature, cela vous donne une garantie de base que le script n'a au moins pas été modifié sans que les sudoers ne soient également modifiés.

Si un nom de commande est précédé d'un Digest_Spec, la commande ne correspondra correctement que si elle peut être vérifiée à l'aide du résumé SHA-2 spécifié. Cela peut être utile dans les situations où l'utilisateur appelant sudo a un accès en écriture à la commande ou à son répertoire parent. Les formats de résumé suivants sont pris en charge :sha224, sha256, sha384 et sha512. La chaîne peut être spécifiée au format hexadécimal ou base64 (base64 est plus compact). Il existe plusieurs utilitaires capables de générer des résumés SHA-2 au format hexadécimal, tels que openssl, shasum, sha224sum, sha256sum, sha384sum, sha512sum.

http://www.sudo.ws/man/1.8.13/sudoers.man.html


Linux ne permet pas de limiter l'exécution de scripts bash basés sur des signatures numériques.

Il y a du travail sur l'authentification des exécutables binaires. Voir https://lwn.net/Articles/488906/ pour plus d'informations.


Linux
  1. 3 outils open source qui font de Linux le poste de travail idéal

  2. Alias ​​de ligne de commande dans le shell Linux

  3. Linux - Parties propriétaires ou fermées du noyau ?

  4. Comment changer le shell par défaut sous Linux

  5. Les 5 meilleurs logiciels de blogs pour Linux Desktop

Comment changer le shell par défaut dans le système Linux

Les 10 systèmes d'exploitation basés sur Unix qui ne sont pas Linux

Les 15 meilleurs logiciels de sauvegarde pour Linux Desktop

Les 15 meilleurs logiciels Fractal pour Linux Desktop

Les 30 meilleurs logiciels d'assistance pour les entreprises utilisant Linux

Les 15 meilleurs logiciels de gestion de références Linux à utiliser