Auteur Sujet: Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https  (Lu 11324 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« le: 01 décembre 2018 à 13:57:41 »
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https

Pourquoi passer en https ?
Cela peut être nécessaire sur certaines connexions WiFi non neutres qui bloquent ou brident les transferts http.


Ces deux commandes vont passer toutes les lignes installées par défaut en https : (je suppose que votre miroir est celui par défaut pour la France: fr.archive.ubuntu.com)
sudo sed -i -e "s/http:\/\/fr.archive.ubuntu.com/https:\/\/fr.archive.ubuntu.com/g" /etc/apt/sources.list
sudo sed -i -e "s/http:\/\/security.ubuntu.com/https:\/\/fr.archive.ubuntu.com/g" /etc/apt/sources.list


Exemple concret :

J'ai ré-essayé plusieurs fois de faire le téléchargement, mais en http, ce fichier a systématiquement une somme de contrôle de hachage incohérente :


Une fois passé en https, tout se passe bien :


Le fichier linux-firmware_1.157.21_all.deb étant systématiquement en échec

J'ai copié le fichier sur mon serveur pour pouvoir reproduire le problème, même quand le fichier ne sera plus sur le miroir Ubuntu.

- http://ipv4.lafibre.info/test/linux-firmware_1.157.21_all.deb => systématiquement en échec vers la fin après plus de 40 Mo téléchargé
- http://46.227.16.8/test/linux-firmware_1.157.21_all.deb => systématiquement en échec vers la fin après plus de 40 Mo téléchargé
- https://ipv4.lafibre.info/test/linux-firmware_1.157.21_all.deb => OK
Et la somme de contrôle - https://ipv4.lafibre.info/test/sha256sum.txt

Le pb est reproductible en téléchargeant le fichier via Firefox.

La coupure (le fichier n'est pas téléchargé en entier) n'interviens pas toujours au même moment : 42 877 Kio, 46 313 Kio, 46 640 Kio,...
Quand le fichier et complet, c'est 48 628 Kio

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #1 le: 01 décembre 2018 à 13:58:13 »
Voici un autre exemple, en WiFi, à l'aéroport de Marrakech-Ménara au Maroc :


Quand je charge la page http://fr.archive.ubuntu.com/ avec Firefox, je comprends le problème :


En https, tout est ok :


vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #2 le: 01 décembre 2018 à 13:58:26 »
Voici pour information la page de connexion du Wi-FI de l'aéroport de Marrakech-Ménara :


L'IPv4 obtenue (pas d'IPv6)


Conditions générales d'utilisation du service hotspots publics office national des aéroports (ONDA) :
(cliquez sur la miniature ci-dessous - le document est au format PDF)


Capture wireshark du trafic WiFi : (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #3 le: 01 décembre 2018 à 14:32:46 »
Les discussions (en angais) sur le fait de proposer systématiquement du https : https://bugs.launchpad.net/ubuntu/+bug/1464064

J'ai observé des problèmes (échec de mise à jour Ubuntu) sur un point d’accès géré par https://www.arubanetworks.com/fr/
Le pb est reproductible en téléchargeant le fichier via Firefox.

Si vous savez ce qui gêne Arubanetworks dans un fichier tel que http://ipv4.lafibre.info/test/linux-firmware_1.157.21_all.deb je suis intéressé.

Ubuntu 18.04 et supérieurs supportent le https, y compris pour faire une mise à jour vers une nouvelle version d'Ubuntu :


Le bug corrigé : https://bugs.launchpad.net/ubuntu/+source/update-manager/+bug/1823410

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #4 le: 23 janvier 2019 à 13:04:38 »
Une nouvelle faille dans APT : Remote Code Execution in apt/apt-get
=> https://justi.cz/security/2019/01/22/apt-rce.html (rédigé en anglais par Max Justicz)

"apt, à partir de la version 0.8.15, décode les URL cibles des redirections, mais ne les vérifie pas pour les nouvelles lignes, permettant aux attaquants MiTM (ou miroirs de dépôts) d'injecter des en-têtes arbitraires dans le résultat retourné au processus principal. Si l'URL incorpore des hachages du fichier supposé, elle peut donc être utilisée pour désactiver toute validation du fichier téléchargé, car les faux hachages seront pré-placés devant les bons hachages."

Preuve de concept :



Utiliser https permet de réduire certains risques lié a cette faille tout comme celle découverte par Jann Horn en 2016 et qui a le même impact.

Je pense comme Max Justicz que cela vaut la peine de mettre les dépots Debian / Ubuntu par défaut en https tout en laissant la possibilité de permettre aux utilisateurs de rétrograder leur sécurité en passant en http s'ils le souhaitent (l'utilisation de https rend plus facile la mise en cache du contenu).

Le correctif est disponible :

Ubuntu 18.04 LTS :


Ubuntu 18.10 :


butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 587
  • FTTH orange
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #5 le: 23 janvier 2019 à 13:41:10 »
et on applaudit debian pour la non disponibilité des dépots en https

curl https://ftp.fr.debian.org/debian/
curl: (7) Failed to connect to ftp.fr.debian.org port 443: Connexion refusée

curl https://ftp.debian.org
curl: (60) SSL certificate problem: self signed certificate in certificate chain

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #6 le: 23 janvier 2019 à 13:58:08 »
Les gens sont parfois vraiment passionnés par le débit http / https pour les dépôts de mises à jour. Il existe des sites Web à usage unique qui expliquent pourquoi l'utilisation de https est inutile dans le contexte d'APT :  "Si les manifestes des packages sont signés, pourquoi se soucier d'utiliser https ?"

Pour moi, c'est comme la double authentification rajouter plusieurs couches de sécurité permet de limiter les dégâts en cas de faille

Dans de nombreuses attaques informatique, il ne suffit pas d'une vulnérabilité zero-day, mais il en faut plusieurs pour que cela soit exploitable.

Bref, https augmente un peu la complexifié mais à cout nul ou presque, donc pourquoi s'en priver ?

La réponse de Canonical vu que j'avais posé la question :
Question posée à Canonical en marge d'un échange sur push mirroring : Is-it possible to reference on https://launchpad.net/ubuntu/+mirror/bouygues-telecom hosting Ubuntu mirror in http secure (https in addition of http and rsync)

Would it be possible to remove ftp, which is an obsolete protocol, and to add the possibility to the mirrors that wish to propose https in addition to http?

Note that Debian will no longer offer FTP from 1 November 2017: https://www.debian.org/News/2017/20170425.en.html the FTP protocol is inefficient and requires adding awkward kludges to firewalls and load-balancing daemons.


La  réponse : So, short answer, there's no reason you can't drop FTP, as far as I know it's not a requirement for even a country mirror.  In terms of adding HTTPS, there's quite a bit of complexity there and it's something we've been discussing but haven't reach a point where there's a good path going forward.  We'd have to manage the SSL certificate for you, for example, if you wanted to support HTTPS on the fr.archive.ubuntu.com virtual host, among other things.  It is something we're actively working on supporting and have a strong interest in doing, though I can't give you a timeline for it.

Traduction rapide de la réponse : Donc, pour répondre rapidement, il n'y a aucune raison pour laquelle vous ne pouvez pas abandonner le FTP, pour autant que je sache que ce n'est même pas une obligation pour un miroir de pays. Pour ce qui est de l'ajout du protocole HTTPS, cela entraîne beaucoup de complexité et c'est quelque chose dont nous avons discuté, mais qui n'est pas prêt. Nous devrons gérer le certificat SSL pour vous, par exemple, si vous souhaitez prendre en charge HTTPS sur l'hôte virtuel fr.archive.ubuntu.com, entre autres choses. C'est quelque chose que nous travaillons activement à soutenir et qui nous intéresse vivement, même si je ne peux pas vous donner un échéancier.



Il me semble plus simple de continuer sur le bug https://bugs.launchpad.net/ubuntu/+bug/1464064 ( Ubuntu apt repos are not available via HTTPS )

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 587
  • FTTH orange
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #7 le: 23 janvier 2019 à 14:13:14 »
j'ai vraiment du mal à comprendre leur position.

le surcout de TLS est pas négligeable mais presque de nos jours.
Une pauvre petite VM haproxy avec offload ssl peut gérer un trafic considérable en entrée d'une plateforme web.

Pour les certificats
un coup de let's encrypt et c'est fini...

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #8 le: 23 janvier 2019 à 14:20:08 »
Tu as tous les arguments sur un site dédié à la cause du http pour les mises à jour : https://whydoesaptnotusehttps.com/

A noter que ce n'est pas le site d'un inconnu : c'est un site de Chris Lamb, le Chef du Projet Debian (DPL Debian Project Leader).
C'est donc est le représentant officiel du projet Debian et pour lui, https, c'est non, non, non et non.

doctorrock

  • Abonné Orange Fibre
  • *
  • Messages: 956
  • Draguignan 83
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #9 le: 23 janvier 2019 à 14:58:47 »
Il a des arguments, et pour moi ils sont valides.

vivien

  • Administrateur
  • *
  • Messages: 47 889
    • Twitter LaFibre.info
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #10 le: 23 janvier 2019 à 15:03:34 »
J'ai deux arguments à rajouter pour l'utilisation d'https :

- https permet proposer un autre protocole, pour ceux qui ont des limitations sur le port 80, à cause d'un proxy qu'ils ne contrôlent pas. (cf les exemples au début de ce sujet)

- https permet de cacher la version du système d’exploitation que vous utilisez (visiblement directement dans le user-agent) si une personne écoute le trafic émis :

Comment connaître la version d'Ubuntu via le user Agent ?

Sur un total de 14 676 485 lignes de log (2,5 Gio) dont 14 443 900 pour APT-HTTP/1.3 et 36 115 pour Apt-Cacher

Début de l'user-agent des requêtes des utilitaires d’installation des paquets (apt, aptitude, logithèque) :
warty => Ubuntu 4.10
hoary => Ubuntu 5.04 => "Ubuntu APT-HTTP/1.3""
breezy => Ubuntu 5.10 => "Ubuntu APT-HTTP/1.3""
dapper => Ubuntu 6.06 LTS => "Ubuntu APT-HTTP/1.3""
edgy => Ubuntu 6.10 => "Ubuntu APT-HTTP/1.3""
feisty => Ubuntu 7.04 => "Ubuntu APT-HTTP/1.3 (0.6.46.4ubuntu"
gutsy => Ubuntu 7.10 => "Ubuntu APT-HTTP/1.3 (0.7.6ubuntu"
hardy => Ubuntu 8.04 LTS => "Ubuntu APT-HTTP/1.3 (0.7.9ubuntu" (987 lignes)
intrepid => Ubuntu 8.10 => "Ubuntu APT-HTTP/1.3 (0.7.14ubuntu"
jaunty => Ubuntu 9.04 => "Ubuntu APT-HTTP/1.3 (0.7.20.2ubuntu"
karmic => Ubuntu 9.10  => "Ubuntu APT-HTTP/1.3 (0.7.23.1ubuntu"
lucid => Ubuntu 10.04 LTS => "Ubuntu APT-HTTP/1.3 (0.7.25.3ubuntu" (1323 lignes)
maverick => Ubuntu 10.10 => "Debian APT-HTTP/1.3 (0.8.3ubuntu"
natty => Ubuntu 11.04 => "Debian APT-HTTP/1.3 (0.8.13.2ubuntu" (45 285 lignes)
oneiric => Ubuntu 11.10 => "Debian APT-HTTP/1.3 (0.8.16~exp5ubuntu" (544 lignes)
precise => Ubuntu 12.04 LTS => "Debian APT-HTTP/1.3 (0.8.16~exp12ubuntu"  (333 059 lignes soit 2,31%)
quantal => Ubuntu 12.10 => "Debian APT-HTTP/1.3 (0.9.7.5ubuntu" (45 248 lignes)
raring => Ubuntu 13.04 => "Debian APT-HTTP/1.3 (0.9.7.7ubuntu" (51 476 lignes)
saucy => Ubuntu 13.10 => "Debian APT-HTTP/1.3 (0.9.9.1~ubuntu" (284 554 lignes)
trusty => Ubuntu 14.04 LTS : 2 user-agent
=> "Debian APT-HTTP/1.3 (0.9.15.4ubuntu" (1 222 lignes)
=> "Debian APT-HTTP/1.3 (1.0.1ubuntu" (11 696 413 lignes soit 80,98%)
utopic => Ubuntu 14.10 => "Debian APT-HTTP/1.3 (1.0.9.2ubuntu" (116 827 lignes soit 0,81%)
vivid => Ubuntu 15.04
=> "Debian APT-HTTP/1.3 (1.0.9.3ubuntu" (64 lignes)
=> "Debian APT-HTTP/1.3 (1.0.9.7ubuntu" (334 448 lignes soit 2,32% alors que plus supporté)
wily => Ubuntu 15.10
=> "Debian APT-HTTP/1.3 (1.0.9.9ubuntu" (1968 lignes)
=> "Debian APT-HTTP/1.3 (1.0.9.10ubuntu" (276 lignes)
=> "Debian APT-HTTP/1.3 (1.0.10.2ubuntu" (1 394 622 lignes soit 9,66%)
xenial => Ubuntu 16.04 LTS pas de "ubuntu" pour les versions de dev
=> "Debian APT-HTTP/1.3 (1.1" (13 157 lignes)
=> "Debian APT-HTTP/1.3 (1.2" (120 106 lignes soit 0,83%)
yakkety => Ubuntu 16.10
=> "Debian APT-HTTP/1.3 (1.3"
zesty => Ubuntu 17.04
=> "Debian APT-HTTP/1.3 (1.4"
artful => Ubuntu 17.10
=> "Debian APT-HTTP/1.3 (1.5"
bionic => Ubuntu 18.04 LTS
=> "Debian APT-HTTP/1.3 (1.6"

Tout ce trafic est normalement en http 1.1 (quand il n'est pas intercepté par un proxy)

User-agent de Apt-Cacher-Server

(Utilitaire pour créer un serveur miroir Ubuntu)



precise => Ubuntu 12.04 => "Debian Apt-Cacher-NG/0.7.2" (0 ligne)
trusty => Ubuntu 14.04 => "Debian Apt-Cacher-NG/0.7.26" (31890 lignes)
vivid => Ubuntu 15.04 => "Debian Apt-Cacher-NG/0.8.0" (273 lignes)
wily => Ubuntu 15.10 => "Debian Apt-Cacher-NG/0.8.5" (3952 lignes)
xenial => Ubuntu 16.04 => "Debian Apt-Cacher-NG/0.8.9" ou "Debian Apt-Cacher-NG/0.9.1"
zesty => Ubuntu 17.04 => "Debian Apt-Cacher-NG/2"
artful => Ubutu 17.10 => "Debian Apt-Cacher-NG/3"
bionic => Ubuntu 18.04 =>

Debian squeeze => Debian 6 => "Debian Apt-Cacher-NG/0.5.1" (0 ligne)
Debian wheezy =>Debian 7 => "Debian Apt-Cacher-NG/0.7.11" (0 ligne)
Debian jessie => Debian 8 => "Debian Apt-Cacher-NG/0.8.0" (273 lignes)
Debian stretch => Debian 9 => "Debian Apt-Cacher-NG/0.8.9" ou "Debian Apt-Cacher-NG/2"

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 185
  • Paris (75)
Tutoriel pour mettre les dépôts logiciels d'Ubuntu en https
« Réponse #11 le: 23 janvier 2019 à 15:14:29 »
http ca permet le cache local (via un proxy par exemple) sans modifier les sources ou CA sur les machines. Quand on a plein de machines ca  peut jouer sur la connexion Internet.