La version du système d'exploitation UNIX-like OpenBSD 7.5 a été publié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 restriction d'accès de Theo au dépôt CVS de NetBSD. Par la suite, Theo de Raadt et un groupe de convaincus ont créé un nouveau système d'exploitation open source basé sur l'arborescence des fichiers sources de NetBSD, dont les principaux objectifs de développement é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 d'installation complète du système de base OpenBSD 7.5 est de 630 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 programme d'installation a ajouté le support du chiffrement de la partition racine. En mode d'installation automatisée (autoinstall), il est désormais possible d'activer le chiffrement des disques en définissant un mot de passe en texte clair ou en fournissant des clés sur un support distinct. Les versions pour l'architecture AMD64 cdXX.iso et installXX.iso ont été adaptées pour un démarrage en mode EFI.
- Un appel système pinsyscalls a été ajouté, permettant de restreindre l'accès aux appels système uniquement à partir de certains endroits dans l'espace d'adressage du processus. Le noyau et ld.so peuvent enregistrer l'emplacement exact d'entrée pour chaque appel système utilisé par un programme et la bibliothèque libc.so, afin de bloquer l'envoi d'appels système depuis des emplacements non enregistrés.
- Le support de l'appel indirect aux appels système via la fonction syscall a été supprimé. En combinaison avec pinsyscalls, ce changement permet d'interdire les appels directs aux appels système sans utiliser les wrappers fournis par libc. Les paquets qui effectuent des appels directs aux appels système, tels que Perl et Go, ont été modifiés pour n'utiliser que les fonctions libc.
- Sur les systèmes ARM64, l'utilisation des mécanismes d'authentification des pointeurs (PAC - Pointer Authentication) et d'identification de branchement (BTI - Branch Target Identification) a été étendue.
- Un ajout a été fait à l'interface réseau ppp. de l'IPv6.
- Dans l'utilitaire netstat, l'affichage des statistiques sur l'efficacité de la mise en cache des routes a été implémenté (les compteurs des succès et échecs de cache sont désormais affichés dans la sortie « netstat -s »).
- Le filtre de paquets pf prend en compte les modifications apportées à la pile réseau, liées à la parallélisation des opérations sur les systèmes multiprocesseurs. Lors de l'exécution de l'utilitaire tcpdump avec l'interface réseau pflog, il est possible d'afficher les paquets rejetés lorsqu'une règle par défaut avec l'action «block» est déclenchée. Pour les règles avec l'action «pass», l'affichage des paquets incorrectement bloqués a été assuré. Une vérification de la validité des options dans les paquets IPv4 a été ajoutée à divert.
- Le support des systèmes multiprocesseurs (SMP) a été amélioré. Les gestionnaires de temporisation dans la pile réseau, le comptage de paquets pour l'interface loopback et le module vscsi_filtops ont été classés comme mp-safe. La possibilité d'exécuter en parallèle les appels système bind et connect ainsi que des opérations sur les tables UDP pour IPv4 et IPv6 a été assurée. Un support pour l'envoi simultané de paquets UDP à partir de différents threads a été ajouté.
- Le traitement des situations de débordement de la partition d'échange a été amélioré, et des modifications ont été ajoutées pour éviter les blocages mutuels.
- Dans le noyau pour les systèmes arm64, la mise en cache du contenu des pools de tables de pages mémoire et des descripteurs PTE a été mise en œuvre, ce qui a considérablement accéléré le fonctionnement sur les systèmes multicœurs.
- Des améliorations ont été apportées à l'hyperviseur VMM. La mise en œuvre du dispositif vionet a été réécrite pour supporter le multithreading et le transfert de données entre l'hôte et le système invité en mode zero-copy, sans mise en mémoire tampon intermédiaire. La stabilité de l'hyperviseur sur les systèmes avec instructions Intel VMX a été améliorée. Une protection supplémentaire contre les vulnérabilités récemment découvertes dans les processeurs, liées à l'exécution spéculative d'instructions et aux fuites de données résiduelles des registres, a été ajoutée.
- Pour les systèmes amd64, un sysctl machdep.retpoline a été ajouté pour gérer l'activation du mécanisme retpoline afin de protéger contre les attaques de type Spectre.
- La mise en œuvre du framework drm (Direct Rendering Manager) a été synchronisée avec le noyau Linux 6.6.19 (dans la version précédente — 6.1.55).
- Le support de nouveaux matériels et de nouveaux pilotes associés aux composants de divers SoC, au support des contrôleurs Ethernet et à l'externalisation des opérations réseau sur les cartes réseau a été ajouté.
- Dans le sous-système audio uaudio, il est désormais autorisé d'attacher plusieurs pilotes pour les dispositifs audio.
- Des pilotes apldcp et apldrm ont été ajoutés pour les contrôleurs d'affichage utilisés dans les appareils Apple. La gestion de l'éclairage du clavier a été implémentée pour l'Apple Powerbook.
- Un pilote qwx a été ajouté pour les puces sans fil Qualcomm IEEE 802.11ax, créé en portant le pilote ath11k du noyau Linux (inclus dans le noyau depuis la version 5.6). Ce pilote permet d'utiliser des adaptateurs sans fil présents dans des ordinateurs portables tels que le Lenovo ThinkPad X13s et le DELL XPS 9500. L'installation de fichiers de firmware est requise pour le fonctionnement du pilote.
- L'utilitaire pax a été mis à jour pour permettre l'écriture dans des archives pax, et l'utilitaire tar a ajouté le support des archives pax de plus de 8 Go.
- L'utilitaire ifconfig prend désormais en charge la spécification des numéros de port pour les interfaces réseau associées aux tunnels, comme gif et gre.
- Dans bgpd, le mécanisme de transmission des messages et la plupart des parseurs de protocoles ont été migrés vers une nouvelle API de gestion de la mémoire sécurisée.
- Le client rpki a ajouté un support expérimental pour l'algorithme de signature numérique P-256. Il est désormais possible de restreindre l'action du RPKI Trust Anchor à certains numéros de systèmes autonomes. Le support des listes de préfixes signés RPKI (Signed Prefix List) a également été ajouté.
- Le smtpd prend en charge le RFC 7505 (« Null MX » pour identifier les serveurs de messagerie) et permet l'intégration de tableaux multilignes et de listes de filtres dans smtpd.conf. domainesIl est désormais possible d'installer un environnement personnalisé KDE Plasma 5.27 via les paquets kde-plasma et kde-plasma-extra (après l'arrêt du support pour KDE4, le bureau KDE Plasma 5 reste toujours non fonctionnel dans OpenBSD). Les versions proposées comprennent KDE Plasma 5.27.10, KDE Applications 23.08.4 et KDE Frameworks 5.115.0.
- Les paquets LibreSSL et OpenSSH ont été mis à jour. Un aperçu détaillé des améliorations peut être consulté dans les bonnes pratiques de LibreSSL 3.9.0, OpenSSH 9.6 et OpenSSH 9.7.
- Le nombre de ports pour l'architecture AMD64 est de : 12309 (contre 11845 auparavant), pour aarch64 — 12145 (contre 11508), pour i386 — 10830 (contre 10603). Parmi les versions des applications dans les ports :
- Asterisk 16.30.1, 18.21.0, 20.6.0
- Audacity 3.4.2
- CMake 3.28.3
- Chromium 122.0.6261.111
- Firefox 123.0.1, ESR 115.8.0
- FFmpeg 4.4.4
- GCC 8.4.0, 11.2.0
- GHC 9.6.4
- GNOME 45
- Go 1.22.1
- JDK 8u402, 11.0.22, 17.0.10, 21.0.2
- Krita 5.2.2
- LLVM/Clang 13.0.0, 16.0.6, 17.0.6
- LibreOffice 24.2.1.2
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.6
- MariaDB 10.9.8
- Mutt 2.2.13 et NeoMutt 20240201
- Mono 6.12.0.199
- Node.js 18.19.1
- OCaml 4.14.1
- OpenLDAP 2.6.7
- PHP 7.4.33, 8.0.30, 8.1.27, 8.2.16, 8.3.3
- Postfix 3.8.6
- PostgreSQL 16.2
- Python 2.7.18, 3.9.18, 3.10.13, 3.11.8
- Qt 5.15.12 (+ correctifs kde), 6.6.1
- Ruby 3.1.4, 3.2.3, 3.3.0
- R 4.2.3
- Rust 1.76.0
- SQLite 3.44.2
- Sudo 1.9.15.5
- Shotcut 23.07.29
- Suricata 7.0.3
- Suricata 7.0.3
- Tcl/Tk 8.5.19, 8.6.13
- TeX Live 2023
- Thunderbird 115.8.1
- Vim 9.1.139, Neovim 0.9.5
- Xfce 4.18.1
- Mise à jour des composants de tiers inclus dans OpenBSD 7.5 :
- Graphical stack Xenocara basé sur X.Org 7.7 avec xserver 21.1.11 + patches, freetype 2.13.0, fontconfig 2.14.2, Mesa 23.1.9, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.3.
- LLVM/Clang 16.0.6 (+ patches)
- GCC 4.2.1 (+ patchs) et 3.3.6 (+ patchs)
- Perl 5.36.3 (+ patches)
- NSD 4.8.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ correctifs)
- Gdb 6.3 (+ patch)
- Awk 22.01.2024
- Expat 2.6.0.
- zlib 1.3.1 (+ patches).
Source : opennet.ru
