Prochain slide | Touche d'espacement |
Se déplacer | ←, →, ↓ et ↑ |
Plein écran | F |
Commentaires | S |
Voir les vignettes | Esc |
Vous pouvez aussi utiliser la roulette de votre souris pour afficher le prochain slide.
Les trucs et astuces mentionnés dans cette présentation n’ont pas pour vocation d’être exhaustifs mais bien d’aider à répondre à la question : y a-t-il des virus sur mon site ?
Cette présentation est téléchargeable pour lecture en mode offline et/ou afin d'en simplifier son impression : format pdf
Les prochains slides se basent sur une installation native de Joomla!®.
Les fichiers marqués sur fond :
Légitime : configuration.php, index.php et robots.txt
(sous
Joomla 1.5, vous aviez aussi index2.php et index3.php)
Particulier : htaccess.txt que vous pouvez renommer en .htaccess si vous activez la réécriture des URLs.
Peuvent être supprimé car inutiles : CONTRIBUTING.md, htaccess.txt, LICENSE.txt, joomla.xml, README.txt, robots.txt.dist, web.config.txt peuvent être supprimés sans problème.
Danger - Fichiers php
Si vous avez d’autres fichiers php,
éditez-les et regardez leur contenu. A priori, ces fichiers ne devraient pas se trouver
là. Ils sont donc suspects => à éditer afin d’en évaluer le caractère dangereux.
À analyser
Si vous avez un fichier .htaccess ou php.ini, jetez-y un coup d’oeil.
Vous pourriez avoir quantité d’autres fichiers comme les fichiers de propriétés Google, Bing, ..., à analyser au cas par cas.
Légitime : uniquement index.php et seulement ce fichier.
Particulier : .htaccess et .htpasswd pourraient être présent si vous avez protégé votre administration (à éditer pour analyse).
Danger - Fichiers php
Si vous avez d’autres fichiers php,
éditez-les et regardez leur contenu. À priori, ces fichiers ne devraient pas se trouver
là. Ils sont donc très fortement suspects.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Les autres fichiers, tous les autres fichiers, peuvent être supprimés sans autre forme de procès.
À priori aucun fichier php ne devrait s’y trouver. Si c’est le cas, probabilité d’un virus.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Danger – Fichiers php
Aucun autre fichier n’est attendu dans ce
dossier et certainement pas des scripts .php
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
À priori, peuvent être supprimés car inutiles : les dossiers banners, headers et sampledata et les images joomla_black.png et powered_by.png.
Danger – Fichiers php
Aucun fichier .php n’est attendu dans le
dossier /images et sous-dossiers. La probabilité de trouver des virus dans /images (et
sous-dossiers) est très forte si le site a été hacké.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Remarque : il y a un fichier .php dans chaque dossier langue. Le script se nomme fr-FR.localise.php (où fr-FR est le code ISO de la langue).
Danger – Fichiers php
Si vous trouvez d’autres fichiers .php,
ils sont suspects.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Les autres fichiers, tous les autres fichiers, peuvent être supprimés sans autre forme de procès.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Remarque : les medias devraient en principe être utilisés pour y stocker des images, des fichiers css/less, des scripts js mais logiquement aucun scripts .php. Les scripts .php dans media sont toutefois possible et quelques extensions en utilisent. Il faut donc être vigilant lors d’une operation de nettoyage.
Note : si vous trouvez des fichiers .php à la racine du dossier media, ces fichiers sont donc suspect.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Danger – Fichiers php
Aucun autre fichier n’est attendu dans ce
dossier. Si vous avez un fichier .php à la racine du dossier modules, ce script-là est
fortement suspect.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Danger – Fichiers php
Aucun autre fichier n’est attendu dans ce
dossier. Si vous avez un fichier .php à la racine du dossier plugins, ce script-là est
fortement suspect.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Danger – Fichiers php
Aucun autre fichier n’est attendu dans ce
dossier. Si vous avez un fichier .php à la racine du dossier templates, ce script-là
est fortement suspect.
Le hack des fichiers index.php se trouvant dans les dossiers templates est un classique du genre. Ces fichiers sont à surveiller de très près.
Légitime : uniquement index.html.
Particulier : .htaccess pourrait être présent si vous avez protégé ce dossier (à éditer toutefois pour analyse).
Les autres fichiers, tous les autres fichiers, peuvent être supprimés sans autre forme de procès.
En php, l’instruction touch() permet de réinitialiser la date de
dernière modification.
Si j’étais un pirate, mon virus détecterait d’abord la date
courante du fichier pour injecter mon virus et rétablir cette date quand l’injection a été
faite.
Toutefois, avoir dans un dossier de nombreux fichiers avec une même date et un
intrus, oui, il est utile d’aller voir ce que contient l’intrus.
Les fichiers ci-dessous sont assez régulièrement hackés :
/administrator/includes/defines.php
/includes/defines.php
/templates/…/index.php
(ceci pour tous les templates)Lorsque vous avez un fichier .htaccess dans un dossier, quel que soit le dossier, il est utile de l’éditer pour prendre connaissance de son contenu. Un tel fichier peut p.ex. rendre exécutable … une image.
<FilesMatch "bananas_1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
Ces trois lignes vont indiquer à Apache que le fichier bananas_1.jpg, malgré son extension, doit être considéré comme un script php : le pirate pourra donc accéder à http://votresite/.../bananas_1.jpg afin de lancer le script.
Un fichier .htaccess où vous trouvez un SetHandler application/x-httpd-php est donc suspect.
Si vous êtes attentif, vous verriez un second virus...
404.php
à la racine du site ou dans un dossier
/templates dont le but est de vous tromper quant à son contenu.\libraries\joomla\application\module\helper.php
Gestionnaire de fichiers pour Windows apportant quantité d’améliorations comme p.ex. une vue à plat, une seconde fenêtre de visualisation des fichiers (contenu ou rendu), de puissants filtres, critères de sélection, une coloration des fichiers, une recherche, …
Un Must have !
Avant toute action de votre part; prenez une sauvegarde de votre site en l’état, même s’il est hacké.
Si, par inadvertence, vous supprimez un fichier nécessaire au fonctionnement du site, si vous n’avez pas une sauvegarde, vous serez comme coyote… oups!.
Depuis sa version 3.6, Joomla!® propose maintenant de réinstaller les fichiers du core, si vous n'avez pas apporté de modifications dans les fichiers natifs, vous supprimerez déjà quantité de virus en réinstallant les fichiers du CMS.
Cette option est proposée dans l'écran Composants - Mise à jour de Joomla!
Si vous avez adopté les bonnes pratiques qui sont de prendre des sauvegardes régulières de votre site, récupérer une version ayant été faite avant le hack et restaurez cette version.
Attention : si le hack a pu réussir, c’est que votre site était failible => mettez-le à jour et protégez-le. Ne vous arrêtez pas après l’avoir restauré.
Restaurer le site => le mettre à jour => le protéger
Même si votre site de production est hacké, il est préférable de travailler en local : prenez un backup de votre site et restaurez-le sur votre ordinateur.
Vous aurez moins de stress et, de fait, vous aurez toujours un backup des fichiers au cas où…
Et surtout, vos yeux, votre maîtrise de Joomla!® et votre bon sens.
Lorsque vous aurez détecté un fichier suspect sur votre serveur, n’y accédez surtout pas depuis une URL (ne surfez pas vers http://localhost/le-fichier-suspect.php) mais éditez le fichier pour en lire son contenu (depuis son client FTP pour un site distant).
Accéder à un fichier par URL revient à l’exécuter
Si vous avez besoin de l'aide d'un professionnel, n'hésitez pas à prendre contact avec moi, j'ai développé un scanner "DeepScan" permettant de nettoyer votre site web.
Je vous invite à consulter le document “La sécurité et Joomla!®” pour apprendre à sécuriser
votre site web afin de ne plus être victime de pirate :