OpenBSD: Appliquer les patches de sécurité

Bonjour,

Dans la continuité des articles concernant OpenBSD, il sera expliqué ici comment patcher le système OpenBSD avec les patches/correctifs de sécurité.

Il y eu un article précédent qui expliquait comment installer OpenBSD en 10 etapes. Cet article est disponible à l’adresse suivante http://lacabanedeladmin.trickip.net/wordpress/?p=163. Il servira de base à cet article.

Prérequis

Afin d’appliquer les patches, il faut avoir les sources de la release concernée. Dans l’exemple qui suit, il s’agit d’un système Openbsd 4.7. On récupère le tout comme expliqué ci dessous :

# cd /tmp
# ftp ftp://ftp.eu.openbsd.org/pub/OpenBSD/4.7/src.tar.gz
# ftp ftp://ftp.eu.openbsd.org/pub/OpenBSD/4.7/sys.tar.gz
# cd /usr/src
# tar zxf /tmp/src.tar.gz
# tar zxf /tmp/sys.tar.gz

Application des Patches

La liste de patches est disponible à l’adresse suivante http://openbsd.org/errata47.html. Il est recommandé de patcher le système avec tous les patches en commencant par le premier. Les instructions à suivre pour patcher le système sont généralement disponibles au début du fichier.

Il existe deux catégories de patches. Ceux pour lesquels une recompilation du noyau est nécéssaire et ceux pour lesquels il n’y a pas besoin de recompiler le noyau.

Exemple 1 : Le premier exemple se fera sur un patch qui n’a pas besoin de recompilation du noyau.

On se rend sur la page http://openbsd.org/errata47.html pour voir la liste des patches et on prends le plus ancien qui n’a pas été appliqué. Dans notre cas ca sera le tout premier (le dernier de la liste).

La procédure est la suivante:

# cd /usr/src
# ftp http://ftp.eu.openbsd.org/pub/OpenBSD/patches/4.7/common/001_kerberos.patch
# head -n 20 001_kerberos.patch
Apply by doing:
        cd /usr/src
        patch -p0 < 001_kerberos.patch

Rebuild and install the Kerberos 5 library:
        cd lib/libkrb5
        make obj
        make depend
        make
        make install

And then rebuild and install the Kerberos 5 KDC:
        cd ../../kerberosV/libexec/kdc
        make obj
        make depend
        make
        make install

Et pour être sûr de faire les choses bien, on finit par un reboot de la machine.

Exemple 2 : L’exemple suivant se fera sur un patch qui nécessite une recompilation du noyau.

De retour sur la page http://openbsd.org/errata47.html pour voir la liste des patches, et on prends le plus ancien qui n’a pas été appliqué. Comme le hasard fait bien les choses certaines fois, dans notre cas ca sera le deuxième (l’avant dernier de la liste).

La procédure est la suivante:

# cd /usr/src
# ftp http://ftp.eu.openbsd.org/pub/OpenBSD/patches/4.7/common/002_mpi.patch
# head -n 10 002_mpi.patch
Apply by doing:
        cd /usr/src
        patch -p0 < 002_mpi.patch

Then build and install a new kernel.

Et comme vous pouvez le voir, nous devons ici recompiler le noyau pour prendre en compte les modifications apportées avec ce patch. Il n’y a rien de vraiment sorcier dans la procédure, il suffit de suivre les étapes suivantes :

# cd /usr/src/sys/arch/`machine`/conf
# config GENERIC
# cd ../compile/GENERIC
# make clean
# make depend
# make
# make install
# reboot

Note :

Si vous avez déja apporté des modifications au noyau d’OpenBSD et que vous l’avez renommé différemment, il faudra remplacer GENERIC par le nom du noyau que vous avez.

Par exemple, pour un noyau recompiler avec support du raid (RAIDFrame) et nommé GENERIC.RAID, la procédure sera la suivante :

# cd /usr/src/sys/arch/`machine`/conf
# config GENERIC.RAID
# cd ../compile/GENERIC.RAID
# make clean
# make depend
# make
# make install
# reboot

A vous maintenant la sécurisation du système avec les patches officiels de chez OpenBSD.

Sur ces quelques lignes, je vais me ressourcer un peu.

A bientot pour de nouvelles aventures.

Leave a Reply

Your email address will not be published. Required fields are marked *


cinq − 4 =