La plupart des distributions que je connais ont une sorte de fonctionnalité de référentiel où de nouveaux packages peuvent être téléchargés après l'installation. Quelles distributions le font de manière sécurisée et lesquelles ne le font pas de manière sécurisée.
Je pense en particulier aux vecteurs d'attaque comme l'homme au milieu et aux problèmes comme la violation de la sécurité sur le méta-serveur du référentiel et les miroirs de fichiers du référentiel.
J'ai entendu dire que Slackware et Arch Linux sont très vulnérables car ils manquent de signature de package. Est-ce vrai? Existe-t-il d'autres distributions Linux majeures qui sont vulnérables aux attaques simples d'homme au milieu?
Réponses:
Ce n'est pas une réponse directe à votre question, mais vous pouvez faire plusieurs choses pour atténuer ce risque. Le plus simple est de comparer vos packages téléchargés avec les sommes de contrôle d'un miroir différent de celui que vous avez téléchargé.
Lorsque mon gestionnaire de packages (
poldek
) télécharge un package, je l'ai configuré pour conserver une copie du rpm téléchargé dans un dossier de cache. Il vérifie automatiquement la somme de contrôle du téléchargement par rapport au référentiel de packages et avertit / abandonne en cas de non-concordance, mais si vous craigniez que l'homme du milieu soit attaqué contre votre référentiel de distribution, il serait facile d'écrire un script secondaire qui a parcouru tous vos packages téléchargés et vérifiez-les par rapport aux sommes de contrôle que vous téléchargez à partir d'un autre miroir. Vous pouvez même exécuter votre première installation en tant qu'exécution à sec afin que les packages soient téléchargés mais pas installés, puis exécutez votre script de vérification, puis effectuez l'installation réelle.Cela n'empêche pas un package compromis d'entrer dans le référentiel de la distribution, mais la plupart des distributions ont d'autres moyens d'atténuer cela, et même les packages signés ne garantissent pas que cela n'a jamais été un problème. Ce qu'il fait, c'est d'étouffer le vecteur d'attaque ciblé de l'homme du milieu. En utilisant une source distincte et en téléchargeant sur un canal séparé, vous tuez la facilité avec laquelle un paquet compromis pourrait être déposé sur une ligne tapée.
la source
paccheck
qui fait cela, compare les packages à différents miroirs avant l'installation et avertit de toute divergence.Les paquets Debian sont des sommes de contrôle et les sommes de contrôle sont signées par une clé dans le trousseau de clés Debian. Le
apt
gestionnaire de packages s'assure que le package téléchargé a la somme de contrôle correcte et que le fichier de somme de contrôle a été signé correctement.la source
Les packages Fedora sont signés et additionnés. Même les référentiels tiers tels que rpmfusion signent leurs packages.
Yum (le gestionnaire de paquets) nécessite un drapeau spécial (
--nogpgcheck
) pour installer les paquets qui n'ont pas été signés.la source
Tous les packages Arch Linux utilisent une somme md5 ou sha1 pour vérifier que tous les bits sont en place. C'est au mainteneur du package de choisir l'algorithme de hachage. Les packages installés depuis AUR (souvent juste un petit fichier texte PKGBUILD) sont censés être vérifiés par l'installee avant d'être installés. Les référentiels contenant les packages binaires officiels sont supervisés par des utilisateurs de confiance (TU).
Mise à jour : Arch a maintenant introduit la signature de packages avec pacman 4
la source
Qui a dit que Slackware n'avait pas de signature de package?
Les packages Slackware sont signés avec une clé publique de Slackware. Ainsi, chaque paquet a sa signature avec extension
.asc
. Non seulement les packages, mais d'autres fichiers sont également signés, commeCHECKSUMS.MD5
. Il contient la liste des sommes de contrôle des packages.La distribution dispose d'un outil officiel appelé
slackpkg
pour télécharger / installer des packages à partir d'un miroir. Après la mise à jour de la base de données repo locale avecslackpkg update
l'outil vérifie la validité de la signature du nouveau fichier MD5 et du journal des modifications, etc ...Après avoir téléchargé un package (mais avant l'installation), la signature et le MD5 du package sont vérifiés.
On peut obtenir la clé publique avec
slackpkg update gpg
ou simplement l'importer depuis le CD d'installation avecgpg --import GPG-KEY
Il existe un autre outil non officiel
slapt-get
pour Slackware. Il prend également en charge les contrôles GPG! De la même manière queslackpkg
.la source
OpenBSD de loin. L'ensemble du projet est dédié à la sécurité, l'équipe a même mis en place un correctif de plus de 5000 lignes sur l'apache d'origine car ils ne pensaient pas qu'il était suffisamment sécurisé pour être utilisé. C'est via pkg_add mais je n'ai jamais eu de problème avec ça.
la source