PHP Security · 3 min read · Oct 25, 2025

Comment durcir PHP5 avec Suhosin sur Mandriva 2007 Spring

Comment durcir PHP5 avec Suhosin sur Mandriva 2007 Spring

Version 1.0
Auteur : Falko Timme

Ce tutoriel montre comment durcir PHP5 avec Suhosin sur un serveur Mandriva 2007 Spring. D’après la page du projet Suhosin : “Suhosin est un système de protection avancé pour les installations PHP conçu pour protéger les serveurs et les utilisateurs contre les défauts connus et inconnus dans les applications PHP et le cœur de PHP. Suhosin se compose de deux parties indépendantes, qui peuvent être utilisées séparément ou en combinaison. La première partie est un petit patch contre le cœur de PHP, qui implémente quelques protections de bas niveau contre les débordements de tampon ou les vulnérabilités de chaîne de format et la deuxième partie est une puissante extension PHP qui implémente toutes les autres protections.”

Ce document est fourni sans garantie d’aucune sorte ! Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J’ai testé cela sur un serveur Mandriva 2007 Spring avec l’adresse IP 192.168.0.100.

Ce tutoriel est un peu atypique car il n’y a rien à faire pour installer Suhosin sur Mandriva 2007 Spring si vous avez PHP5 installé, car le PHP5 de Mandriva est déjà livré avec Suhosin par défaut. Quoi qu’il en soit, je pense qu’il vaut la peine d’écrire ce tutoriel car il répond à la question “Que dois-je faire pour installer Suhosin ?” - rien, si PHP5 est déjà installé.

2 Installation d’Apache2 et PHP5 (Optionnel)

(Ce chapitre est optionnel si vous avez déjà Apache2 et PHP5 installés - pour vérifier si Suhosin est activé dans votre PHP5, veuillez passer au chapitre suivant.)

Tout d’abord, si vous utilisez le dépôt en ligne de Mandriva (et non le DVD Mandriva) pour installer des paquets, vous devez mettre à jour votre base de données de paquets :

urpmi.update -a

Si vous n’avez pas Apache2 et PHP5 installés sur votre serveur, installez-le maintenant :

urpmi apache-mod_php libphp5_common5

Beaucoup d’autres paquets seront installés en tant que dépendances avec ces deux paquets, comme vous pouvez le voir dans la sortie :

[root@server1 ~]# urpmi apache-mod_php libphp5_common5
Pour satisfaire les dépendances, les paquets suivants vont être installés :
apache-base-2.2.4-6.2mdv2007.1.i586
apache-conf-2.2.4-4mdv2007.1.i586
apache-mod_php-5.2.1-4mdv2007.1.i586
apache-modules-2.2.4-6.2mdv2007.1.i586
apache-mpm-prefork-2.2.4-6.2mdv2007.1.i586
ccp-0.4.1-1mdk.noarch
libmm14-1.4.2-1mdv2007.1.i586
libphp5_common5-5.2.1-4.2mdv2007.1.i586
php-ctype-5.2.1-1mdv2007.1.i586
php-filter-5.2.1-0.1mdv2007.1.i586
php-ftp-5.2.1-1.1mdv2007.1.i586
php-gettext-5.2.1-1mdv2007.1.i586
php-hash-5.2.1-1mdv2007.1.i586
php-ini-5.2.1-2mdv2007.1.i586
php-json-1.2.1-3mdv2007.1.i586
php-openssl-5.2.1-4.2mdv2007.1.i586
php-posix-5.2.1-1mdv2007.1.i586
php-session-5.2.1-1mdv2007.1.i586
php-simplexml-5.2.1-1mdv2007.1.i586
php-suhosin-0.9.18-4mdv2007.1.i586
php-sysvsem-5.2.1-1mdv2007.1.i586
php-sysvshm-5.2.1-1mdv2007.1.i586
php-timezonedb-2007.3-1mdv2007.1.i586
php-tokenizer-5.2.1-1mdv2007.1.i586
php-xmlreader-5.2.1-1mdv2007.1.i586
php-xmlwriter-5.2.1-1mdv2007.1.i586
php-zlib-5.2.1-4.2mdv2007.1.i586
Procéder à l’installation des 27 paquets ? (6 Mo) (Y/n)
[…]

Comme vous le voyez, le paquet php-suhosin est installé automatiquement, donc votre PHP5 sera durci par Suhosin par défaut.

Ensuite, démarrez Apache2 :

/etc/init.d/httpd restart

Vous avez maintenant un PHP5 avec des fonctionnalités de base sur votre serveur ; si vous avez besoin de modules PHP5 spéciaux, vous pouvez les rechercher comme ceci :

urpmi --fuzzy php

À partir de la sortie, choisissez les modules dont vous avez besoin, installez-les comme ceci et redémarrez Apache2 :

urpmi php-bz2 php-calendar php-ctype php-curl php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pam_auth php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php5-ini
/etc/init.d/httpd restart

3 Obtenir des détails sur votre installation PHP5

À moins que vous n’ayez déjà créé des hôtes virtuels dans votre installation Apache, le répertoire racine du site web par défaut est /var/www/html. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire (si vous avez créé des hôtes virtuels, placez-le dans l’un des hôtes virtuels qui a PHP activé) et l’appeler dans un navigateur. Le fichier affichera beaucoup de détails utiles sur notre installation PHP, comme la version de PHP installée.

vi /var/www/html/info.php

| |

Maintenant, nous appelons ce fichier dans un navigateur (par exemple, http://192.168.0.100/info.php) :

Comme vous le voyez, notre version de PHP est 5.2.1.

Si tout s’est bien passé, vous devriez maintenant voir Suhosin mentionné à deux endroits sur la page :

C’est tout. Si vous le souhaitez, vous pouvez configurer Suhosin (voir http://www.hardened-php.net/suhosin/configuration.html), bien que Suhosin fonctionne dès sa sortie de la boîte avec sa configuration par défaut, donc assurez-vous de savoir ce que vous faites.

4 Liens

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.