URL: https://linuxfr.org/news/openbsd-5-7-blues-brothers Title: OpenBSD 5.7 « Blues Brothers » Authors: Stéphane Aulery BAud, palm123, Loïc Blot, Xavier Teyssier, karchnu, Nils Ratusznik, Dareg, Nÿco, Benoît Sibaud, zurvan, Rolinh, claudex, Ellendhel, Cédric Krier et ZeroHeure Date: 2015年03月27日T19:02:43+01:00 License: CC By-SA Tags: bsd, openbsd, libressl, sécurité, theo_de_raadt, libreoffice et firefox Score: 53 Le premier mai, OpenBSD est de sortie, comme chaque année. OpenBSD est un système d'exploitation orienté sécurité et réseau, dont les principaux avantages sont la stabilité, grâce aux audits sur le code source, mais également l'ensemble très large de fonctionnalités réseau qu’il fournit. Le changement majeur de cette version est dans la continuité du fork d’OpenSSL, LibreSSL (cf. Bob Beck, _[LibreSSL - The first 30 days and the Future](http://www.openbsd.org/papers/bsdcan14-libressl/index.html)_, BSDcan 2014 ; Ted Unangst, _[LibreSSL: More Than 30 Days Later](http://www.openbsd.org/papers/eurobsdcon2014-libressl.html)_, EuroBSDCon 2014). En effet, neuf jours après la sortie d'OpenBSD 5.6, la [vulnérabilité POODLE](https://linuxfr.org/news/cve-2014-3566-vulnerabilite-poodle) a pointé son nez. Adieu SSL 3, SSH 1 et MD5 ! Ont contribué à cette dépêche (par ordre de dispersion) : BAud, karchnu, Loïc Blot, Xavier Teyssier, palm123, zurvan, Cédric Krier, Rolinh, Xavier Claude, Ellendhel, Dareg, Nÿco, Stéphane Aulery. Aucune moule n'a été blessée durant la rédaction.  ---- [Site officiel : openbsd.org](http://www.openbsd.org) [OpenBSD Release Notes](http://www.openbsd.org/57.html) [OpenBSD 5.6 to 5.7 changes](http://www.openbsd.org/plus57.html) [OpenBSD Europe Store](https://www.openbsdstore.com) [OpenBSD 5.7 errata](http://www.openbsd.org/errata57.html) [Chanson officielle d’OpenBSD 5.7 : « Source Fish »](http://www.openbsd.org/lyrics.html#57) [DLFP : OpenBSD 5.6](http://linuxfr.org/news/openbsd-5-6) ---- # Mises à jour ## Logiciels Dans les grandes lignes, OpenBSD, accompagné de ses ports, c'est : - xserver 1.16.4 ; - GCC 4.8.4 et 4.9.2 ; - Gnome 3.14.2 ; - Go 1.4.1 ; - Libreoffice 4.3.5 ; - LLVM/CLANG 3.5 ; - Firefox 35.0.1 et 31.4.0-ESR ; - Mono 3.12.0 ; - Perl 5.20 ; - PHP 5.3.29, 5.4.38, 5.5.22 et 5.6.5 ; - Xfce 4.10 ; - et bien d'autres... (plus de 9 000 ports) ## Réseau - la couche des mbufs bénéficie désormais du multi-processing de manière sécurisée ; - les interfaces carp nécessitent obligatoirement l’option carpdev ; - il est possible de changer la taille de la file d’attente des paquets IPv6. ## Sécurité - l’espace d’adressage du noyau a été renforcé au moyen des mécanismes W\^X (aucun emplacement mémoire n’est à la fois accessible en exécution et en écriture) ; - il n’est plus possible de charger des modules noyau ; - `procfs` a été supprimé ; - `/var/tmp` est maintenant un lien symbolique vers `/tmp` ; ce n’est qu'un premier pas vers la réduction de la surface d’attaque de la partition `/var` ; - SHA512 remplace MD5 pour les séquences initiales de TCP ainsi que dans le générateur de nombres aléatoires ; - le passwd ne gère plus que le chiffrement [Blowfish](http://fr.wikipedia.org/wiki/Blowfish) ; - SSLv2/3 ont été complètement retirés d’OpenBSD au profit de TLS (y compris pour OpenSMTPD), ils sont aussi désactivés par défaut dans LibreSSL ; - LibreSSL gère des algorithmes AEAD et le PFS par défaut ; - toutes les architectures bénéficient enfin (débuté en 2003 par les libraires) de PIE, le système d’allocation en position aléatoire des programmes en mémoire (cf. Pascal Stumpf, _Converting OpenBSD to PIE_, AsiaBSDCon 2015 : [transparents](http://www.openbsd.org/papers/asiabsdcon2015-pie-slides.pdf), [papier](http://www.openbsd.org/papers/asiabsdcon2015-pie-paper.pdf)). ## Pilotes Parmi une trentaine de nouveaux pilotes on remarque notamment : - controlleurs USB 3.0 (USB eXtensible) ; - modem USB de l’[Arduino Leonardo](http://arduino.cc/en/Main/arduinoBoardLeonardo). ## Serveur web Nginx a été retiré de `base`. Si vous souhaitez l’utiliser il faut passer par les packages. Il a été remplacé par httpd inclus dans `base` lors de la sortie de la version précédente. Le module FastCGI a été notablement amélioré rendant httpd compatible avec davantage d’applications web courantes (cf. Reyk Flöter, _OpenBSD's new httpd_, AsiaBSDCon 2015 : [transparents](http://www.openbsd.org/papers/httpd-asiabsdcon2015.pdf), [papier](http://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.pdf)). Entré en septembre 2011 et sorti en mai 2015, après moins de quatre ans, Nginx n’aura pas fait long feu, alors qu’Apache avait rendu service pendant seize ans. Pour rappel, httpd n’offre pas toutes les fonctionnalités de Nginx mais seulement celles utiles au projet — ce qui devrait suffire au commun des mortels évidemment. Pour 10 000 lignes de code, la chose est honnête : - fichiers statiques : sert les fichiers et répertoires statiques via l'option auto-indexing ; - fastCGI : FastCGI direct (pas de cache) et asynchrone via des sockets UNIX ou locaux ; - sécurité : sécurité avant tout, chrooté avec privsep par défaut ; - SSL/TLS : connexions sécurisées en TLS 1.2 via LibreSSL ; - serveurs virtuels : serveurs virtuels par nom ou IP ; - reconfiguration : rafraîchissement de la configuration sans interruption ; - journalisation : journalisation pour chaque serveur via des fichiers de log ou syslog ; - accès : blocage, ralentissement et redirection de connexions. L’ajout de Server Name Indication ([SNI](http://fr.wikipedia.org/wiki/Server_Name_Indication)) et des certificats client est envisagé. ## Installation - il est possible de booter sur les architectures PowerMac7,2 et PowerMac7,3 avec un noyau multiprocesseur ; - les interfaces réseau virtuelles [trunk](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/trunk.4?query=trunk&sec=4) (agrégation de liens physiques) sont disponibles durant les mises à jour ; - les fonctionnalités cryptographiques ont été retirées du ramdisk — également compilé sans optimisation — afin de récupérer de l’espace pour d’autres fonctionnalités ; - les ensembles etcXX.tgz et xetcXX.tgz ont été fusionnés avec baseXX.tgz et xbaseXX.tgz. ## Divers Mandoc prend en charge les codages UTF-8 et ISO-8859-1. Les programmes man et apropos sont maintenant des façades de mandoc (cf. Ingo Schwarze, _[New trends in mandoc](http://www.openbsd.org/papers/eurobsdcon2014-mandoc-slides.pdf)_, BSDcan 2014). L’implémentation des opérations atomiques a été complétée pour toutes les architectures avec les nouvelles primitives : - atomic_cas_uint ; - atomic_swap_uint ; - atomic_add_int ; - atomic_sub_int ; - atomic_inc_int ; - atomic_dec_int et membar_sync. Les développeurs travaillent activement à supprimer le verrou global du noyau. Sans cela, il est impossible d’exploiter correctement une machine multi-processeur. Pour le moment, seuls 20 appels système sur 208 sont sans verrou. Par contre, le sous-système audio est déjà sans verrou, ainsi que le pilote réseau myx. L’usage des fonctions d’allocation de mémoire (propres à OpenBSD : `reallocarray()` et `mallocarray()`) a été généralisé pour prévenir les débordements d’entier, en lieu et place de la politique précédente concernant calloc(). Elles offrent un compromis entre la flexibilité de realloc() et la lenteur de calloc() — cette dernière initialise systématiquement la totalité de la mémoire allouée, sans considération d'utilité. # Ci-gisent hp300, mvme68k et mvme88k La prise en charge de [plusieurs architectures a été retirée d'OpenBSD 5.5](http://marc.info/?l=openbsd-cvs&m=139518232903722&w=2) : [hp300](http://www.openbsd.org/hp300.html), [mvme68k](http://www.openbsd.org/mvme68k.html), [mvme88k](http://www.openbsd.org/mvme88k.html). Le fait n’avait pas été signalé. Les disques durs des machines du responsable de ces ports ont rendu leur dernier soupir. Il a décidé de ne pas réanimer ces infortunés Lazare.> Noone sane will mourn these ports anyway. So long, and thanks for the fish. — Miod Vallat _Aucune personne qui soit saine (d’esprit ?) ne pleurera ces ports de toute façon. [Salut, et encore merci pour le poisson](http://fr.wikipedia.org/wiki/Salut,_et_encore_merci_pour_le_poisson)_ — Miod Vallat _NdM : de toute façon Miod Vallat maintient un grand nombre de ports sur [toutes sortes de machines](http://gentiane.org/~miod/machineroom/years/2011/index.html)._ # Passage de GCC à llvm / clang ? FreeBSD intègre clang dans `base` depuis la version 9 (janvier 2012), permettant la [compilation quasi complète (World et le noyau GENERIC) pour certaines architectures](https://wiki.freebsd.org/BuildingFreeBSDWithClang#Status) (i386, AMD64, ARM, PowerPC, PowerPC64). Clang n’est pas encore le compilateur par défaut, [excepté pour l'architecture x86](http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037610.html) depuis novembre 2012. NetBSD, quant à lui, propose [clang comme alternative depuis mars 2014](http://blog.netbsd.org/tnf/entry/first_ports_switched_to_gcc) pour les architectures i386, AMD64 et ARM. Et OpenBSD dans tout ça ? La question revient régulièrement sur les listes de discussion avec le même constat. Clang manque encore de prise en charge pour les architectures autres que X86, ARM et PowerPC, ce qui freine son adoption en l’état. Toutefois ce n’est pas le seul obstacle. En juillet 2013, Miod Vallat, le mainteneur des patchs d’OpenBSD pour GCC, a fait part de l’[état d’esprit des développeurs sur la question](http://marc.info/?l=openbsd-misc&m=137530560232232). Une poignée d’entre eux se familiarise avec les entrailles de llvm / clang espérant dans quelques mois / années pouvoir compiler les architectures principales. La route sera longue. Toutefois, une question de fond a été soulevée. OpenBSD recherche d’abord et avant tout un compilateur proposant les standards de C / C++ au complet, un support de longue durée (LTS) et une optimisation du code qui n’introduise pas de bogues — pas trop agressive. Tout se résume à une question de confiance envers le compilateur qui devrait être quasi exempt de bogues et produire des programmes exactement conformes à leur code source. OpenBSD travaille d’arrache-pied pour que sa version de GCC s’approche le plus possible de cet idéal. Une bascule vers clang remettrait en cause tous ces efforts. Il faut bien constater qu’à ce jour, aucun compilateur libre ne répond à tous ces critères pourtant légitimes. Alors _quid_ d’un support LTS de GCC et llvm / clang, comme pour le noyau Linux ou Firefox ? # Changement de boutique officielle Depuis octobre 2014, [OpenBSD Europe Store](https://www.openbsdstore.com), tenue par Zednax, est devenue la boutique privilégiée d’OpenBSD. La [Computer Shop of Calgary](http://openbsd.fries.net/orders.html) d’Austin Hook est toujours en activité, mais devrait fermer à moyen terme — on peut le penser — car il « a acheté une ferme avec des vaches et des chèvres » (sic, pour sa retraite ?). Austin continuera au second plan, en fidèle gardien des traditions, prodiguant ses conseils et son aide. Après quelques adaptations nécessaires au démarrage pour le paiement en tout point du globe, [Theo de Raadt est très content des services rendus par OpenBSD Europe Store qu’il a qualifié de « transparente, responsable, propre »](http://marc.info/?l=openbsd-misc&m=142747068310610&w=2). En bref, de très bonnes relations se sont établies et ce n’est pas sans raison. Longue vie à OpenBSD Europe Store ! # Conclusion Fidèle à elle-même, la communauté OpenBSD continue son chemin avec des moyens modestes mais capables d'innover et de relever les enjeux actuels comme le fork d’OpenSSL. La liquidation du verrou global du noyau en est un exemple. Il sera intéressant de comparer combien de temps il faudra aux développeurs d’OpenBSD là où ceux du noyau Linux ont mis [31 mois](//linuxfr.org/news/sortie-de-la-version-2637-du-noyau-linux#long7).