OpenBSD 5.5

Comme tous les 6 mois une nouvelle version d’OpenBSD est publié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.

Mises à jour

Améliorations sur l’installeur

L’installeur d’OpenBSD gère désormais l’installation automatisée (autoinstall). Cette installation automatisée permet de déployer ou mettre à jour rapidement OpenBSD par le réseau en spécifiant un fichier de réponses. Ce fichier est distribué via un serveur HTTP dont l’adresse est renseignée dans l’option next-server du DHCP. Cette installation est possible à la fois en installation par le réseau (netboot) et par le CD-ROM.

time_t 64 bits

Le problème actuel de la variable time_t est qu’elle est codée sur 32 bits dans tous les systèmes UNIX. Le 19 janvier 2038 à 3h14 et 7 secondes cette variable atteindra sa valeur limite, causant des problèmes graves, avec la réinitialisation de celle-ci à zéro.

L’équipe d’OpenBSD a fait un énorme travail afin de convertir le type de variables en 64 bits, de corriger tous les programmes inclus dans la distribution et patcher/auditer les différents ports.

Packet Filter

  • Packet Filter inclut désormais un nouveau système de queue afin de gérer la qualité de service.
  • Le paramètre received-on peut désormais prendre pour valeur any afin de correspondre à toutes les interfaces, excepté celles de loopback.
  • La politique de blocage par défaut dans le pf.conf de base est désormais un block return.

Sécurité

  • OpenBSD ne garantissait pas la sécurité par la signature cryptographique des paquets. C’est désormais chose faite, les paquets et la distribution sont désormais signés via l’outil signify.
  • relayd gère désormais la fonction Perfect Forward Secrecy de TLS avec ECDHE (courbe elliptique Diffie-Hellman). Cette option est désormais activée par défaut.
  • Le générateur de nombres aléatoires est désormais initialisé par le bootloader.
  • Le protecteur de la pile du noyau est également initialisé par le bootloader.

Réseau

  • Prise en charge de VxLAN
  • Amélioration de la gestion du déchargement des sommes de contrôles TCP/UDP/ICMP (checksum offload)
  • Activation de la prise en charge de domaines de routage IPv6 (ping6, traceroute6…)
  • tcpdump peut désormais détecter des sommes de contrôle incorrectes sur ICMP et ICMPv6
  • Diverses améliorations sur dhclient et dhcpd.

Performances

  • Les relations entre le cache des tampons et le démon de swap ont été améliorées.

Logiciels

Voici une liste non exhaustive de logiciels inclus dans OpenBSD 5.5

  • Gnome 3.10.2
  • KDE 4.11.5
  • PostgreSQL 9.3.2
  • Postfix 2.11
  • PHP 5.4.24
  • Firefox 26
  • OpenSSH 6.6
  • OpenSMTPd 5.4.2

Pilotes

  • Gestion des cartes réseau virtuelles VMware VMXNET3
  • Gestion des contrôleurs SCSI VMware Paravirtual
  • Gestion des contrôleurs SCSI virtio
  • Gestion des périphériques de nombres aléatoires virtio
  • Gestion des trackpad Broadcom présents dans les Macbook récents
  • KMS gère désormais les sorties DisplayPort
  • Ajout du système de fichiers tmpfs
  • Plusieurs améliorations sur la couche FUSE.

Plateformes matérielles

  • alpha : gestion multi-processeur
  • aviion : gestion des processeurs AViiON
  • armv7 remplace la prise en charge de l’architecture Beagle.

LibreSSL et HeartBleed

Malgré la sortie de cette version 5.5 et le fork de la bibliothèque OpenSSL en LibreSSL, orchestré par l’équipe d’OpenBSD afin de nettoyer et auditer le code d’OpenSSL, le processus de sortie de la version 5.5 n’a pas permis de patcher la faille avant création de la distribution. Il faut ainsi patcher la libssl d’OpenBSD après mise à niveau/installation.

Mettre à jour OpenBSD en 5.5

Pour passer en 5.5, il vous faudra au préalable OpenBSD 5.4. Réalisez ensuite la liste d’actions suivantes:

  • Booter sur le CD d’installation OpenBSD 5.5 (ou en PXE) et sélectionnez upgrade
  • Rebooter
  • Monter le CD d’installation dans le système à jour (mount /dev/cd0a /mnt)
  • Mergez les fichiers de configuration
sysmerge -Ss /mnt/5.5/amd64/etc55.tar.gz
  • Enfin nettoyez le système des fichiers inutiles
rm -f /usr/libexec/identd
rm -f /usr/lib/libcompat.a /usr/lib/libcompat_p.a
rm -f /usr/include/{re_comp,regexp,sgtty,sys/timeb}.h
rm -f /usr/share/man/man3/{re_comp,re_exec,rexec,regexp}.3
rm -f /usr/share/man/man3/{cuserid,ftime,gtty,setrgid,setruid,stty}.3
rm -f /etc/rc.d/popa3d
rm -f /usr/bin/{crunchgen,nawk}
rm -f /usr/sbin/{iopctl,popa3d}
rm -f /usr/share/man/man8/{iopctl,popa3d}.8
rm -rf /usr/X11R6/include/freetype2/freetype
rm -f /usr/X11R6/include/ft2build.h
rm -f /usr/mdec/installboot
rm -f /usr/share/man/man8/{amd64,i386}/installboot.8
rm -f /var/account/acct
rm -f /var/games/tetris.scores

mv /etc/nsd.conf /var/nsd/etc/nsd.conf
cd /usr/sbin && rm nsd-notify nsd-patch nsd-xfer nsd-zonec nsdc
cd /usr/share/man/man8 && rm nsd-notify.8 nsd-patch.8 nsd-xfer.8 \
   nsd-zonec.8 nsdc.8
chown _nsd /var/nsd/db/nsd.db
printf '\nremote-control:\n\tcontrol-enable: yes\n' >> /var/nsd/etc/nsd.conf

Problèmes de login

Après la mise à jour d’OpenBSD, si votre shell est ZSH vous serez déconnecté après authentification. Pour résoudre ce souci, passez en single (tapez boot -s dans le bootloader), montez le / en lecture-écriture, lancez le réseau et mettez à jour zsh

mount -rw /
sh /etc/netstart
export PKG_PATH="http://ftp.openbsd.org/pub/OpenBSD/5.5/packages/amd64/"
pkg_add -u zsh