Avec toute la paranoïa qui accompagne les révélations de la NSA et tout le reste, je me demande pourquoi le mécanisme d’installation du paquet Debian ne prend pas en charge le protocole HTTPS pour son transport, sans parler de l’utiliser par défaut.
Je sais que les paquets debian ont une sorte de validation de signature utilisant GPG, mais je ne pense toujours pas qu’utiliser le transport HTTPS au lieu de HTTP serait trop difficile, compte tenu de l’importance cruciale que cela a pour la sécurité.
Edit: Je veux surtout me protéger des attaques MitM (y compris uniquement du reniflage du trafic), et non des administrateurs en miroir Debian. Les référentiels HTTP mettent toute la configuration du système sur la table, si quelqu'un m'inflige du trafic sur mes miroirs Debian.
Réponses:
Il y a. Vous devez installer le package
apt-transport-https
. Ensuite, vous pouvez utiliser des lignes commedans votre
sources.list
dossier. Mais en général, cela n’est pas nécessaire, car l’ensemble du contenu est public et ajoute une surcharge de chiffrement et de la latence. Puisque vous ne faites pas confiance à la clé publique d'un attaquant, même le trafic http est à l'abri des attaques MitM.apt
vous avertit et ne parvient pas à installer les packages lorsqu'un attaquant injecte des packages manipulés.EDIT: Comme mentionné dans les commentaires, il est effectivement plus sûr d’utiliser le référentiel TLS . Les recherches montrent que l'utilisation d'apt sur des référentiels non chiffrés peut en effet poser un risque de sécurité, car le transport HTTP est vulnérable aux attaques par rejeu.
la source
Votre hypothèse est fausse: vous pouvez utiliser les téléchargements HTTPS. Vous devez juste trouver un miroir qui le supporte et mettre son URL dans votre liste de sources. Vous aurez besoin d'installer le
apt-transport-https
paquet.Debian ne facilite pas les téléchargements HTTPS car il y a très peu d'avantages. La distribution de paquets Debian inclut déjà un mécanisme de vérification des paquets: tous les paquets sont signés avec Gpg . Si un intermédiaire actif redirige votre trafic vers un serveur dont les packages sont corrompus, la corruption sera détectée car les signatures GPG ne seront pas valides. L'utilisation de GPG plutôt que de HTTPS présente l'avantage de protéger contre davantage de menaces: non seulement contre l'homme actif au milieu de la connexion de l'utilisateur final, mais également contre un miroir non fiable ou infecté ou d'autres problèmes n'importe où dans la chaîne de distribution de paquets. .
HTTPS offre un léger avantage en termes de confidentialité en masquant les packages que vous téléchargez. Cependant, un observateur passif peut toujours détecter le trafic entre votre ordinateur et un serveur de paquets, afin de savoir que vous êtes en train de télécharger des paquets Debian. Ils pourraient également avoir une bonne idée des paquets que vous téléchargez à partir de la taille des fichiers.
Le seul endroit où HTTPS aiderait serait pour l’amorçage de la confiance, pour obtenir une image d’installation valide connue. Debian ne semble pas fournir cela: il existe des sommes de contrôle du support d'installation , mais uniquement via HTTP.
la source
Récemment, j'ai rencontré le problème avec le référentiel apt de mon entreprise. Le problème était que si nous utilisions le transport http standard, tout le monde pourrait facilement obtenir un paquet. Comme la société empaquette son propre logiciel propriétaire et ne veut pas la partager avec tout le monde, le transport http devient un problème. Pas une tragédie mais un problème. Il existe différentes manières de limiter l'accès aux packages: pare-feu, restriction d'accès au niveau du serveur Web, utilisation de ssh en tant que transport. Vous trouverez assez facilement la lecture sur ce sujet ici: Restreindre l'accès à votre référentiel Debian privé
Dans notre cas, nous avons décidé d’utiliser le transport https + authentification par certificat client. En bref, il suffit de:
Configurez le serveur Web auquel le référentiel frontal n'accepte que https; Dans le cas de nginx, cela pourrait ressembler à:
Placez le certificat client, la clé client et le certificat ca dans / etc / apt / ssl et, dans le cas d’Ubuntu, ajoutez le fichier 00https à /etc/apt/apt.conf.d:
Debug::Acquire::https "true"; Acquire::https::example.com { Verify-Peer "true"; Verify-Host "false"; CaInfo "/etc/apt/ssl/ca.crt"; SslCert "/etc/apt/ssl/client.crt"; SslKey "/etc/apt/ssl/client.key"; };
N'oubliez pas que si vous utilisez un certificat auto-signé, il est important de désactiver la vérification de l'hôte.
Verify-Host "false";
Si vous ne le faites pas, vous obtiendrez une erreur:SSL: certificate subject name (blah-blah-blah) does not match target host name 'example.com'
Et voilà, il n'y a plus d'accès non autorisé au référentiel. C'est donc une chose très utile et puissante.
la source
Notez qu'en raison de vulnérabilités telles que
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1647467
... qui contourne la signature InRelease, il est probablement préférable de configurer le protocole HTTPS.
la source
Pour le cas d'utilisation "anonymat", il existe également une
apt-transport-tor
possibilité qui vous permet de mettre des URI commetor+http://
dans les fichiers sources.list. C'est une bien meilleure protection de l'anonymat que le simple cryptage de la connexion à votre miroir.Par exemple, un observateur local sait toujours que vous mettez à jour ou installez un logiciel même avec HTTPS, et peut probablement deviner de façon décente lequel de ceux que vous êtes en train de faire (et peut-être même quels paquets, en fonction de leur taille).
Debian fournit des référentiels APT via Tor "Onion Services" afin que vous puissiez obtenir un cryptage de bout en bout (similaire à TLS) sans avoir à faire confiance au système de noms de domaines. Consultez onion.debian.org pour tous les services Debian disponibles de cette manière. Le référentiel FTP principal de Debian est à
vwakviie2ienjx6t.onion
la source