Une avalanche de faille, dont une exécution de code à distance, vient de tomber sur le flux de sécurité de drupal.org. L'installation de la 5.3 est donc pour ainsi dire obligatoire. C'est l'occasion de donner quelques petites astuces de terrain pour faire cela rapidement et simplement. Et d'en profiter pour rendre l'installation drupal un peu plus sure.
Déjà, pour être à jour, faut-il encore être informé. Le flux indispensable sur lequel il faut connecter votre client RSS est le suivant :
http://drupal.org/security/rss.xmlet de manière plus générale un flux annonçant toutes les failles est fort utile :
http://secunia.com/information_partner/anonymous/o.rss
La procédure suivante permet de faire le job sans risque et rapidement en utilisant les techniques connues de création de patch. Nous allons ainsi créer un fichier qui contient les différences entre la version d'origine officielle et la nouvelle.
Tout d'abord aller dans un répertoire "hors ligne" (par exemple /tmp) et télécharger/décompressez la version source et la version cible :
Etape suivante, fabriquer un patch permettant de passer de l'ancienne à la nouvelle version. Le dossier /var/www/mon_drupal est à changer en fonction de l'endroit où se trouve réellement votre installation drupal.
Ceci fait aller dans le dossier drupal et simulez l'application du patch sur votre installation. Cette opération ne modifie rien (paramètre dry-run) et permet de voir les fichiers que vous avez trop modifiés et qui du coup ne sont pas patchés (erreur FAILED).
Si tout s'applique correctement, passer à l'étape suivante. Sinon, cela veut sûrement dire que patch ne retrouve pas ses petits dans un fichier trop bidouillé. Le plus simple est de mettre le fichier incriminé dans un endroit sur et de le remplacer par son équivalent en version d'origine (qui se trouve en /tmp/drupal/drupal-5.2/...). Vous ré-appliquerez vos changements à la main après. Relancez après l'étape précédente jusqu'à ce qu'il n'y ait plus de FAILED.
Vous pouvez maintenant appliquer le patch "pour de vrai"
Voilà, c'est fait. L'opération prendre tout au plus 5 minutes. Ne vous reste plus maintenant qu'à ré-intégrer les éventuels fichiers qui ne serait pas passé à au moment du test du patch.
A ce stade, il faut vérifier que tout fonctionne (évidemment
mais aussi de lancer le www.monsite.com/update.php pour mettre éventuellement à jour la base de données.
Ceci fait, je vous conseille de renommer les fichiers install.php et update.php en des fichiers .foo ou tout ce qui vous amuse et qui ne soit pas exécutable. Le mieux est même de simplement les mettre ailleurs dans un dossier "hors-ligne". En effet, pas mal de vulnérabilités passent par ces fichiers et là encore cela n'a pas loupé.
Dans le même ordre d'idée, si vous n'utilisez pas XmlRPC (ou ne savez pas ce que c'est
, renommer ou déplacez aussi le fichier xmlrpc.php. De manière générale, enlever tout ce qui ne sert à rien, car c'est source de problèmes.
Voili voilà, en espérant que cela vous sera utile.
- répondre
Bernhard , le 8 November, 2007 - 11:59(Sorry, not speaking french.)
Did you mean "diff -Naur drupal-5.2 drupal-5.3 > /var/www/mon_drupal/mise-a-jour-5.2-5.3.patch" instead of "patch -Naur drupal-5.2 drupal-5.3 > /var/www/mon_drupal/mise-a-jour-5.2-5.3.patch" to create the patch file?
- répondre
Ulhume, le 8 November, 2007 - 12:08Ooops, Thank you for pointing this mistake out to me. Yes it's the "diff" command and not the "patch" one.
- répondre
gagarine , le 13 November, 2007 - 13:29Hello,
.
Merci pour ton blog il est très intéressant et n'est pas simplement un relais d'information
Sinon pour ma part j'évite de modifier les corps et je n'ai donc pas à me soucier des fichiers qui pourrais être écrasé.
je garde juste au chaud les dossiers:
-files
-sites
-et mylib (ou je met principalement des librairies js maison)
Je ne patch pas car sa prend plus de temps qu'une simple copie (3s).
- répondre
Ulhume, le 13 November, 2007 - 15:44C'est sur, si tu ne modifies pas le core, y'a peu de problèmes, sinon, c'est vite l'enfer
Moi j'ai jamais réussi à garder un core intacte plus de 2 jours 
- répondre
Su86DR , le 10 December, 2007 - 07:13Bonjour,
Tout d'abord, merci pour ce fabuleux nid d'informations que j'exploite de plus en plus
Je voulais simplement signaler une petite faute de frappe, lorsqu'on applique le patch "pour de vrai", il faut supprimer le paramètre --dry-run de la ligne de commande.
Je le dis même si je pense que tout le monde aura corrigé de soi-même
- répondre
Ulhume, le 10 December, 2007 - 09:04@Su86DR Tu as bien fait de le dire, merci ! C'est corrigé
Poster un nouveau commentaire