La sortie du système d'exploitation libre de type UNIX OpenBSD 7.6 a été présentée. Le projet OpenBSD a été fondé par Theo de Raadt en 1995 après un conflit avec les développeurs de NetBSD, qui a conduit à la fermeture de son accès au dépôt CVS de NetBSD. Par la suite, Theo de Raadt, avec un groupe de personnes partageant les mêmes idées, a créé un nouveau système d'exploitation open source basé sur l'arbre de code source de NetBSD, dont les principaux objectifs étaient la portabilité (support de 13 plateformes matérielles), la normalisation, le bon fonctionnement, la sécurité proactive et les moyens cryptographiques intégrés. La taille de l'image ISO complète de la version de base d'OpenBSD 7.6 est de 702 Mo.
En plus du système d'exploitation lui-même, le projet OpenBSD est connu pour ses composants qui ont été adoptés dans d'autres systèmes et qui se sont avérés être parmi les solutions les plus sûres et de la plus haute qualité. Parmi eux : LibreSSL (un fork d'OpenSSL), OpenSSH, le filtre de paquets PF, les démons de routage OpenBGPD et OpenOSPFD, le serveur NTP OpenNTPD, le serveur de messagerie OpenSMTPD, le multiplexeur de terminal texte (similaire à GNU screen) tmux, le démon identd implémentant le protocole IDENT, une alternative BSDL au paquet GNU groff — mandoc, le protocole pour la mise en place de systèmes tolérants aux pannes CARP (Common Address Redundancy Protocol), un serveur HTTP léger, et l'outil de synchronisation de fichiers OpenRSYNC.
Améliorations principales :
- Le support de l'architecture ARM64 a été élargi. Le support des extensions ARM8 EPAN (Enhanced Privileged Access Never) a été ajouté, bloquant l'accès privilégié aux pages mémoire utilisées uniquement pour l'exécution de code. Le support du processeur Qualcomm Snapdragon X Elite (X1E80100) a été ajouté, ainsi que la prise en charge des CPU Cortex-A520AE (Hayes AE) et Cortex-A720AE (Hunter AE). Pour les systèmes basés sur l'architecture ARM64, une protection contre les vulnérabilités de type Spectre-V4 a été mise en œuvre, ainsi qu'une amélioration de la protection contre les vulnérabilités Spectre-BHB.
- Pour les systèmes basés sur l'architecture AMD64, le support des instructions AVX-512 a été ajouté. Une protection contre la vulnérabilité RFDS dans les processeurs Intel Atom a été mise en place.
- Le support de la carte Milk-V Pioneer basée sur l'architecture RISC-V a été ajouté.
- Le mécanisme msyscall, utilisé pour marquer les zones mémoire d'où l'exécution des appels système est autorisée, a été supprimé. Les appels système mimmutable et pinsyscalls ont remplacé msyscall.
- Des efforts ont été faits pour améliorer le support des états de consommation d'énergie S0 et la transition en mode veille sur du matériel moderne. Sur les systèmes amd64, un mode « suspend-to-idle » a été mis en œuvre, qui peut être utilisé sur du matériel ne prenant pas en charge le mode veille S3. De nombreux problèmes dans les pilotes qui empêchaient l'utilisation du mode veille ont été résolus.
- Une vérification de la présence du caractère ‘/’ dans les noms de fichiers a été ajoutée à l'appel système readdir pour bloquer d'éventuelles attaques sur les applications lors de l'utilisation de systèmes de fichiers non dignes de confiance.
- Amélioration du support des systèmes multiprocesseurs (SMP). Des capacités de traitement parallèle sur différents cœurs CPU pour les paquets UDP entrants et les sockets bruts IPv4/IPv6 ont été ajoutées. Travail amélioré avec les verrous pour les sockets unix4 et UDP. Les sockets AF_ROUTE ont été transférés vers un nouveau schéma de travail avec des verrous. Les appels système shutdown, sigsuspend et kbind ont été débarrassés de verrouillage global, ainsi que les minuteries TCP et de nombreux sysctl.
- Améliorations apportées à l'hyperviseur VMM. Ajout de la prise en charge du mécanisme AMD SEV (Secure Encrypted Virtualization) pour protéger les machines virtuelles contre toute intervention de l'hyperviseur ou de l'administrateur du système hôte. Accès amélioré aux capacités CPU à partir des machines virtuelles. La commande « status -r » a été ajoutée à vmctl pour afficher l'état des machines virtuelles uniquement en cours d'exécution.
- La mise en œuvre du framework drm (Direct Rendering Manager) a été synchronisée avec le noyau Linux 6.6.52 (la version précédente étant 6.6.19). Le pilote inteldrm prend en charge le GPU utilisé dans les processeurs Intel basés sur l'architecture Meteor Lake.
- La fonction scandirat a été migrée de FreeBSD pour parcourir le contenu des répertoires.
- Le vieux client DHCP dhclient a été retiré du système de base, remplacé par un processus en arrière-plan toujours en cours d'exécution, dhcpleased, qui vient avec OpenBSD 6.9 et utilise l'utilitaire ifconfig pour activer la configuration automatique des interfaces réseau via DHCP (activée via le lancement de « ifconfig $if autoconf » ou en ajoutant « inet autoconf » dans /etc/hostname.$if).
- L'utilisation du caractère à code nul est interdite dans les scripts shell traités par l'interpréteur de commandes par défaut ksh. La présence de caractères nuls dans les scripts entraînera désormais une cessation d'exécution avec message d'erreur, sauf en cas d'inclusion au milieu des données jointes à la fin du fichier après le code.
- L'utilitaire tar a été configuré pour utiliser par défaut le format PAX lors de la création d'archives. L'utilisation du format PAX permettra de conserver des noms de fichiers plus longs, de traiter les liens, d'utiliser des informations temporelles précises et d'inclure des fichiers de très grande taille dans l'archive.
- La bibliothèque libva, permettant d'utiliser l'interface VA-API (Video Acceleration API) pour l'accélération matérielle du codage et décodage vidéo dans divers formats, a été ajoutée à la pile X11 Xenocara utilisée par OpenBSD pour former l'environnement graphique. Le fonctionnement de l'accélération matérielle a été testé avec des pilotes pour les GPU Intel et AMD lors de l'utilisation du navigateur Firefox et du lecteur vidéo mpv. Les pilotes nécessaires pour le GPU Intel sont proposés dans les ports graphics/intel-media-driver et graphics/intel-vaapi-driver, tandis que pour le GPU AMD, les composants standards de Mesa sont utilisés.
- La possibilité de lancer l'environnement de bureau KDE Plasma 6 a été fournie.
- Ajout de la prise en charge de nouveaux équipements et inclusion de nouveaux pilotes liés aux composants de divers SoC et au support des contrôleurs Ethernet. Les pilotes igc et dwqe ont été dotés de la prise en charge de l'étiquetage VLAN matériel, et dans les pilotes dwqe, vmx, igc et vio(4), l'exécution des opérations réseau a été transférée aux cartes réseau.
- Une option « -fret-clean » a été ajoutée au compilateur, qui nettoie l'adresse de retour dans la pile après la fin d'un appel.
- Le fonctionnement des interfaces PPP dans le domaine de routage (rdomain) a été assuré.
- Pour IPv6, le mode « sysctl net.inet6.ip6.forwarding = 2 » a été ajouté, permettant la redirection des paquets uniquement pour IPsec.
- L'option SO_ACCEPTCONN a été ajoutée à la fonction getsockopt(), permettant de vérifier si la fonction listen() a été appelée pour le socket.
- Dans iked, l'implémentation du protocole IKEv2 pour IPsec, le soutien à l'authentification, l'autorisation et la comptabilisation via le protocole RADIUS a été ajouté.
- Le serveur RADIUS radiusd a reçu un soutien pour les DAE (Dynamic Authorization Extensions), ainsi que la possibilité de placer les paramètres de comptabilité dans radiusd.conf. Des modules ont été ajoutés : radiusd_ipcp pour configurer le pool, radiusd_file pour l'authentification via un fichier local. La commande « ipcp delete » a été ajoutée à radiusctl pour supprimer une session spécifique sans rompre la connexion. adresses IPOpenSMTPD a ajouté l'API smtpd-tables pour utiliser des tables dans smtpd et a implémenté le service K_AUTH pour extraire des informations d'identification des tables.
- Un processus en arrière-plan dhcp6leased a été ajouté pour obtenir des préfixes IPv6 de
- DHCPv6. serveurs OpenSSH a été mis à jour. La liste des changements peut être consultée dans les annonces OpenSSH 9.8 et OpenSSH 9.9.
- Le nombre de ports pour l'architecture AMD64 s'élève à 12312 (contre 12309), pour aarch64 à 12148 (contre 12145), pour i386 à 10534 (contre 10830). Parmi les versions d'applications dans les ports :
- Asterisk 16.30.1, 18.24.3, 20.9.3
- Audacity 3.6.3
- Audacity 3.6.3
- CMake 3.30.1
- Chromium 128.0.6613.137
- Emacs 29.4
- FFmpeg 4.4.5
- GCC 8.4.0 et 11.2.0
- GHC 9.6.6
- GNOME 46
- Go 1.23.1
- JDK 8u402, 11.0.24, 17.0.12 et 21.0.4
- KDE Applications 24.05.2
- KDE Frameworks 6.5.0
- KDE Plasma 6.1.4
- Krita 5.2.3
- LLVM/Clang 13.0.0, 16.0.6 et 17.0.6
- LibreOffice 24.8.1.2
- Lua 5.1.5, 5.2.4, 5.3.6 et 5.4.7
- Mutt 2.2.13 et NeoMutt 20240201
- Mono 6.12.0.199
- Mozilla Firefox 130.0.1 et ESR 128.2.0
- Mozilla Thunderbird 128.2.3
- Node.js 20.17.0
- OpenLDAP 2.6.8
- PHP 8.1.29, 8.2.23 et 8.3.11
- Postfix 3.9.0
- PostgreSQL 16.4
- Python 2.7.18, 3.11.10
- Qt 5.15.13 (+ patchs de kde) et 6.6.3
- R 4.4.1
- Ruby 3.1.6, 3.2.5 et 3.3.5
- Rust 1.81.0
- Sudo 1.9.15.5
- Shotcut 24.04.28
- Suricata 7.0.3
- Suricata 7.0.6
- Tcl/Tk 8.5.19 et 8.6.13
- TeX Live 2023
- Vim 9.1.707 et Neovim 0.10.1
- Xfce 4.18.1
- Mise à jour des composants tiers inclus dans OpenBSD 7.6 :
- Stack graphique Xenocara basé sur X.Org 7.7 avec xserver 21.1.13 + patchs, freetype 2.13.2, fontconfig 2.14.2, Mesa 23.3.6, xterm 393, xkeyboard-config 2.20, fonttosfnt 1.2.3.
- LLVM/Clang 16.0.6 (+ patches)
- GCC 4.2.1 (+ correctifs) et 3.3.6 (+ correctifs)
- Perl 5.38.2 (+ patchs)
- NSD 4.9.1
- Unbound 1.21.0
- Ncurses 6.4
- Binutils 2.17 (+ correctifs)
- Gdb 6.3 (+ correctifs)
- Awk du 28 juillet 2024.
- Expat 2.6.3
- zlib 1.3.1 (+ correctifs)
Source : opennet.ru
