1 (edited by librefan 2016-03-23 18:59:44)

Topic: [Résolu :-)] Grosse faille Drupal: base de données fraîche?

Bonjour,

À la suite d'une grosse faille de sécurité de Drupal  (SQL injection) et après avoir lu la FAQ https://www.drupal.org/node/2357241, j'ai mis mon site hors ligne en supprimant tout Drupal de …htdocs, sauf un dossier qui resservira.

D'après l'équipe de Drupal il suffit de supprimer index.php pour que le site soit à l'abri.

Je n'étais pas là quand l'équipe de Drupal a sorti la nouvelle version de D. pour corriger cette faille et donc j'ai eu un intrus qui a pu se mettre en utilisateur forouq avec pas mal de droits. J'ai fait la mise à jour et les attaques continuent naturellement. Je ne suis pas assez calée pour savoir si les attaques échouent vraiment ou si elles peuvent aboutir.

D'après ce que j'ai lu, la base de données peut être compromise même si le fichier fatal que pas mal de gens ont récolté n'y est pas.

Donc, je pensais faire ceci:
- détruire la base de données carrément
- en demander une nouvelle
- importer une ancienne base de données qui date de mai et que j'ai retrouvée dans mes archives (en espérant qu'elle n'est pas toute pourrie). Celle faite par Tuxfamily est postérieure à l'intrusion «forouq».

Les gens sur Drupal.org conseillent d'importer une ancienne base de données, antérieure à la faille exploitée. Mais peut-être est-il préférable de détruire la base de données actuelle qu'on peut soupçonner.

Re: [Résolu :-)] Grosse faille Drupal: base de données fraîche?

Salut,

Bon, sans même jeter un coup d'oeil à ta base de données, tâchons d'éclaircir la situation...

D'après l'équipe de Drupal il suffit de supprimer index.php pour que le site soit à l'abri.

C'est une drôle de recommandation, sachant que le patch pour cette vulnérabilité est assez trivial (un patch à appliquer ou, pour ceux qui ne savent pas, une seule ligne de code à changer)...

donc j'ai eu un intrus qui a pu se mettre en utilisateur forouq avec pas mal de droits.

"forouq" ? C'est le nom de ton utilisateur administrateur (uid 1) ?

J'ai fait la mise à jour et les attaques continuent naturellement. Je ne suis pas assez calée pour savoir si les attaques échouent vraiment ou si elles peuvent aboutir.

Les attaques continuent ? Comment ça ? Qu'observes-tu ? Qu'appelles-tu "attaques" ? La faille en question est une injection SQL -- c'est rapidement exploitable mais une fois corrigé, c'est corrigé... par contre, les attaquants ont pu créer plusieurs comptes privilégiés pour revenir, auquel cas une bonne séance de ménage s'impose (du côté des utilisateurs Drupal, des modules en place, des views configurées mais également du côté du filesystem, au cas où une backdoor y trainerait...).

Si tu ne penses pas avoir les compétences nécessaires pour effectuer un tel ménage, tu peux effectivement partir sur l'optique d'une simple restauration.
Comme longuement détaillé sur notre FAQ, nos sauvegardes ne nous permettent pas de te fournir une backup antérieure au 15/Oct (date de l'annonce officielle), tu ne peux donc te baser que sur tes archives. Tu peux demander une nouvelle base de données si ça peut te faciliter la vie, nous ne refuserons pas. Nous te conseillons tout de même de garder une sauvegarde de ta base actuelle au cas où tu voudrais y repiquer des informations un jour.

Re: [Résolu :-)] Grosse faille Drupal: base de données fraîche?

Hello Xavier,

Merci beaucoup de ta réponse :-) J'ai un peu paniqué car c'est la première fois qu'un intrus arrive ;-) et j'ai vu que pas mal de gens avaient vu de drôles de choses. Je n'ai pas eu le fameux fichier file_put_content dans la table menu_router de la base de données.

Le forouq en question était un nouvel utilsateur qui s'est enregistré tout seul sans email bien que seul l'admin peut enregistrer des utilsateurs. Il s'était octroyé les droits de l'user2 (pas l'admin) mais qui avait pas mal de droits.  Je l'ai supprimé, j'ai vérifié qu'il n'y en avait pas d'autres dans la base de données, j'ai changé les mots de passe des 2 users, viré les quelques autres qui sont inactifs depuis des lustres.

En regardant le rapport de Drupal, j'ai vu un bon nombre de trucs comme ça (erreur PHP) venant d'utilisateurs malveillants anonymes ou non.

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'name': INSERT INTO {users} (uid, name, pass, mail, theme, signature, signature_format, created, access, login, status, timezone, language, picture, init, data) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14, :db_insert_placeholder_15); Array ( [:db_insert_placeholder_0] => 20192 [:db_insert_placeholder_1] => [:db_insert_placeholder_2] => [:db_insert_placeholder_3] => [:db_insert_placeholder_4] => [:db_insert_placeholder_5] => [:db_insert_placeholder_6] => 2 [:db_insert_placeholder_7] => 0 [:db_insert_placeholder_8] => 0 [:db_insert_placeholder_9] => 0 [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => [:db_insert_placeholder_12] => [:db_insert_placeholder_13] => 0 [:db_insert_placeholder_14] => [:db_insert_placeholder_15] => b:0; ) in drupal_write_record() (line 7202 of ../includes/common.inc). 

Je n'ai jamais installé le module Views.

J'ai supprimé tous les fichiers et dossiers de Drupal dans mon espace htdocs, et donc tous les modules.

une bonne séance de ménage s'impose (du côté des utilisateurs Drupal, des modules en place, des views configurées mais également du côté du filesystem, au cas où une backdoor y trainerait...).

Que veux-tu dire par «filesystem»? ailleurs que dans htdocs?

Comme longuement détaillé sur notre FAQ, nos sauvegardes ne nous permettent pas de te fournir une backup antérieure au 15/Oct (date de l'annonce officielle),

Je sais bien et c'est déjà drôlement chouette de votre part de nous faire une sauvegarde chaque nuit :-D

Drupal ne permet pas de faire un export comme Wordpress en simple XML dans lequel on retrouve le texte des articles qu'on a écrits.

Re: [Résolu :-)] Grosse faille Drupal: base de données fraîche?

Voilà, j'ai remis en route mon site, avec une vieille  base de données restaurée sur une base toute fraîche.

Les attaques contre Drupal ont cessé.