Nous recherchons et supprimons les codes malveillants sur WordPress. Qu'est-ce qu'un code malveillant ? Comment trouver du code malveillant dans un fichier

WordPress est le moteur le plus populaire pour créer divers sites Web et blogs d’informations. La sécurité de votre site Web va bien au-delà de la sécurité de vos données. C'est beaucoup plus important, car il s'agit également de la sécurité de tous les utilisateurs qui lisent et font confiance à votre ressource. C'est pourquoi il est si important que le site ne soit pas infecté par des virus ou tout autre code malveillant.

Nous verrons comment protéger WordPress contre le piratage dans l'un des articles suivants, mais je veux maintenant vous expliquer comment rechercher des virus et des codes malveillants sur un site Web WordPress pour vous assurer que tout est sécurisé.

La toute première option qui vous vient à l'esprit est que vous avez été piraté par des pirates informatiques et que vous avez intégré leurs portes dérobées dans le code de votre site afin de pouvoir envoyer du spam, mettre des liens et d'autres mauvaises choses. Cela arrive parfois, mais c'est un cas assez rare si vous mettez à jour le logiciel à temps.

Il existe des milliers de thèmes WordPress gratuits et divers plugins, et cela pourrait déjà constituer une menace. C’est une chose lorsque vous téléchargez un modèle depuis le site WordPress et une autre lorsque vous le trouvez sur le site de gauche. Des développeurs peu scrupuleux peuvent intégrer divers codes malveillants dans leurs produits. Le risque est encore plus grand si vous téléchargez gratuitement des modèles premium, dans lesquels les pirates, sans rien risquer, peuvent ajouter une sorte de faille de sécurité par laquelle ils peuvent ensuite pénétrer et faire ce dont ils ont besoin. C’est pourquoi il est si important de vérifier la présence de virus sur un site WordPress.

Vérification d'un site WordPress pour les virus

La première chose vers laquelle vous devez vous tourner lors de la vérification d’un site, ce ne sont pas les virus, ce sont les plugins WordPress. Rapidement et facilement, vous pouvez analyser votre site et trouver les zones de code suspectes auxquelles il convient de prêter attention, qu'elles se trouvent dans le thème, le plugin ou le cœur de Wodpress lui-même. Examinons quelques-uns des plugins les plus populaires :

1.TOC

Ce plugin très simple vérifie tous les thèmes installés sur votre site pour voir s'ils contiennent du code malveillant. Le plugin détecte les liens cachés cryptés à l'aide de l'insertion de code base64 et affiche également des informations détaillées sur les problèmes trouvés. Le plus souvent, les morceaux de code trouvés ne sont pas des virus, mais ils peuvent potentiellement être dangereux, vous devez donc y prêter attention.

Ouvrez "Apparence" -> "TAC" puis attendez que tous les thèmes soient cochés.

2. Scanner VIP

Très similaire au scanner de sujets TOC, mais affiche des informations plus détaillées. Les mêmes capacités de détection des liens, du code caché et autres insertions malveillantes. Ouvrez simplement l'élément VIP Scanner dans la section outils et analysez le résultat.

Il peut suffire de supprimer les fichiers inutiles, par exemple desktop.ini. Ou vous devez examiner plus en détail ce qui se passe dans les fichiers utilisant base64.

3. Anti-Malware de GOTMLS.NET

Ce plugin vous permet non seulement d'analyser les thèmes et le noyau du site à la recherche de virus, mais également de protéger le site contre les mots de passe en force brute et diverses attaques XSS, SQLInj. La recherche est effectuée sur la base de signatures et de vulnérabilités connues. Certaines vulnérabilités peuvent être corrigées sur place. Pour lancer l'analyse des fichiers, ouvrez « Anti-Malvare » dans le menu latéral et cliquez sur « Exécuter l'analyse » :

Avant de pouvoir exécuter une analyse, vous devez mettre à jour vos bases de données de signatures.

4. Clôture de mots

C’est l’un des plugins les plus populaires pour la sécurité WordPress et l’analyse des logiciels malveillants. En plus du scanner, qui peut trouver la plupart des signets dans le code WordPress, il existe une protection constante contre divers types d'attaques et la force brute des mots de passe. Lors de la recherche, le plugin détecte d'éventuels problèmes avec divers plugins et thèmes et signale la nécessité de mettre à jour WordPress.

Ouvrez l'onglet « WPDefence » dans le menu latéral, puis allez dans l'onglet « Scan » et cliquez sur « Démarrer le scan » :

L'analyse peut prendre un certain temps, mais une fois terminée, vous verrez un rapport détaillé des problèmes détectés.

5. Antivirus

Il s'agit d'un autre plugin simple qui analysera votre modèle de site Web à la recherche de code malveillant. L'inconvénient est que seul le modèle actuel est numérisé, mais les informations sont affichées de manière suffisamment détaillée. Vous verrez toutes les fonctions dangereuses présentes dans le thème et vous pourrez ensuite analyser en détail si elles présentent un danger. Recherchez l'élément « Antivirus » dans les paramètres, puis cliquez sur « Analyser les modèles de thème maintenant » :

6. Vérificateur d'intégrité

Il est également conseillé de vérifier l’intégrité des fichiers WordPress, au cas où le virus aurait déjà écrit quelque part. Vous pouvez utiliser le plugin Integrity Checker pour cela. Il vérifie tous les fichiers principaux, plugins et modèles pour détecter les modifications. À la fin de l'analyse, vous verrez des informations sur les fichiers modifiés.

Services en ligne

Il existe également plusieurs services en ligne qui vous permettent de vérifier la présence de virus sur un site WordPress ou de vérifier uniquement le modèle. En voici quelques uns:

themecheck.org - vous téléchargez l'archive du thème et pouvez voir tous les avertissements concernant les éventuelles fonctions malveillantes qui y sont utilisées. Vous pouvez non seulement afficher des informations sur votre thème, mais également sur d'autres thèmes téléchargés par d'autres utilisateurs, ainsi que sur différentes versions du thème. Tout ce que les plugins trouvent peut être trouvé sur ce site. Vérifier votre thème WordPress est également très important.

virustotal.com est une ressource bien connue où vous pouvez vérifier la présence de virus sur votre site Web ou votre fichier modèle.

ReScan.pro - l'analyse antivirus d'un site WordPress à l'aide de ce service est gratuite, une analyse statique et dynamique est effectuée pour détecter d'éventuelles redirections, le scanner ouvre les pages du site. Vérifie le site par rapport à diverses listes noires.

sitecheck.sucuri.net est un service simple permettant d'analyser les sites et les sujets à la recherche de virus. Il existe un plugin pour WordPress. Détecte les liens et scripts dangereux.

Vérification manuelle

Rien de mieux qu’une vérification manuelle. Linux dispose de ce merveilleux utilitaire grep qui vous permet de rechercher des occurrences de chaînes arbitraires dans un dossier contenant des fichiers. Reste à comprendre ce que nous allons rechercher :

eval - cette fonction permet d'exécuter du code PHP arbitraire, elle n'est pas utilisée par les produits qui se respectent ; si l'un des plugins ou un thème utilise cette fonction, il y a presque 100% de probabilité qu'il contienne un virus ;

  • base64_decode - les fonctions de cryptage peuvent être utilisées conjointement avec eval pour masquer le code malveillant, mais elles peuvent également être utilisées à des fins pacifiques, alors soyez prudent ;
  • sha1 est une autre méthode pour chiffrer le code malveillant ;
  • gzinflate - fonction de compression, mêmes objectifs, avec eval, par exemple, gzinflate(base64_decode(code);
  • strrev - inverse la chaîne pas avant, car une option peut être utilisée pour le cryptage primitif ;
  • print - affiche des informations sur le navigateur, avec gzinflate ou base64_decode, c'est dangereux ;
  • file_put_contents - WordPress lui-même ou les plugins peuvent toujours créer des fichiers dans le système de fichiers, mais si le thème le fait, vous devez vous méfier et vérifier pourquoi il le fait, car des virus peuvent être installés ;
  • file_get_contents - utilisé dans la plupart des cas à des fins pacifiques, mais peut être utilisé pour télécharger du code malveillant ou lire des informations à partir de fichiers ;
  • curl - même histoire ;
  • fopen - ouvre un fichier en écriture, on ne sait jamais dans quel but ;
  • système - la fonction exécute une commande sur un système Linux, si cela est fait par un thème, un plugin ou wordpress lui-même, il y a très probablement un virus là-bas ;
  • lien symbolique - crée des liens symboliques dans le système, peut-être que le virus essaie de rendre le système de fichiers principal accessible de l'extérieur ;
  • copier - copie un fichier d'un emplacement à un autre ;
  • getcwd - renvoie le nom du répertoire de travail actuel ;
  • cwd - modifie le dossier de travail actuel ;
  • ini_get - reçoit des informations sur les paramètres PHP, souvent à des fins pacifiques, mais on ne sait jamais ;
  • error_reporting(0) - désactive l'affichage de tout message d'erreur ;
  • window.top.location.href - fonction javascript utilisée pour les redirections vers d'autres pages ;
  • piraté - donc, juste au cas où, nous vérifions, tout à coup, le pirate informatique lui-même a décidé de nous le dire.

Vous pouvez remplacer chaque mot individuel dans une commande comme celle-ci :

grep -R "piraté" /var/www/path/to/files/wordpress/wp-content/

Ou utilisez un script simple qui recherchera tous les mots à la fois :

valeurs="base64_decode(
eval(base64_decode
gzinflate(base64_decode(
getcwd();
strrev(
chr(ord(
cwd
ini_get
fenêtre.top.location.href
copie(
évaluer (
système(
lien symbolique (
rapport d'erreur (0)
imprimer
fichier_get_contents(
fichier_put_contents(
fouvrir(
piraté"

cd /var/www/path/to/files/wordpress/wp-content/
$ fgrep -nr --include \*.php "$values" *

Aujourd'hui, Yandex.Webmaster m'a annoncé une nouvelle désagréable concernant l'une de mes ressources. Le message informait qu'un code malveillant avait été trouvé sur les pages du site, ce qui pourrait être dangereux pour les ordinateurs des visiteurs. Lors de l'ouverture des pages du site, les codes malveillants ne doivent pas entraîner de conséquences indésirables pour l'utilisateur : infection de l'ordinateur par des virus, utilisation non autorisée de ses ressources, dommages et même vol de données personnelles.

(N.A. Mettre à jour la version de votre navigateur en temps opportun augmentera la sécurité de votre navigation sur Internet)

La question de savoir comment et d'où provenait le code malveillant présent sur le site était la principale question à laquelle j'avais besoin d'obtenir une réponse. Après tout, j'administre seul la ressource, le mot de passe d'accès FTP n'est disponible que pour moi et personne ne souhaite apporter des modifications aux pages.

J'ai commencé à me rappeler quels changements et à partir de quel ordinateur ont été effectués récemment par rapport à ce site et je m'en suis souvenu.

Il y a quelques jours, un appel a été lancé via un accès FTP depuis un ordinateur doté d'une base de données antivirus obsolète. C'est l'ordinateur de travail à partir duquel j'écris maintenant ce message.

J'ai téléchargé une version d'essai de trente jours d'un programme antivirus et vérifié le système. Il contenait en réalité plusieurs fichiers infectés par un cheval de Troie. Plus tard, mes conclusions ont été confirmées par le service d’assistance du fournisseur d’hébergement et par les développeurs du programme antivirus.

Une fois la cause de l’infection identifiée, localisée et éliminée, vous pouvez passer à l’étape suivante et supprimer le code malveillant du site. Je tiens à souligner que le plus important est de découvrir la source de l'infection et ensuite seulement d'en éliminer les conséquences. Cela réduira la probabilité que le problème se reproduise et, dans certains cas, sans éliminer la source, le traitement du site n'est pas du tout possible.

Le code malveillant présent sur le site contenait le script suivant :

Ce script a été placé à la fin de chaque page entre les balises et .

Il y avait deux manières de supprimer le script :

  • 1. restaurer le site à partir d'une sauvegarde sur le serveur ;
  • 2. supprimez manuellement le code malveillant.
  • En raison du petit nombre de pages et de la connaissance de leur contenu, j'ai choisi la deuxième option. Il n’a pas fallu beaucoup de temps pour trouver le code malveillant sur le site, le supprimer et remplacer les pages du site infectées sur le serveur par des pages propres, et la sécurité du site a été restaurée.

    Plus terrible fut la conséquence, qui réduisit considérablement le nombre de visiteurs et s'exprimait par la phrase : « Ce site peut menacer la sécurité de votre ordinateur », mais vous ne pouvez pas contester cela, puisque vous avez commis une erreur, vous il va falloir payer pour ça.

    Comment protéger votre site Web contre les infections par des logiciels malveillants

    Afin de protéger votre site contre une infection par un code malveillant, vous devez :

  • Utilisez un antivirus de haute qualité. Installez la version officielle du programme antivirus actuellement le mieux noté.
  • Modifiez le mot de passe pour l'accès FTP au site et au panneau de contrôle. Si votre hébergement prend en charge la désactivation de l'accès FTP, désactivez-le depuis le panneau de configuration et activez-le si nécessaire.
  • Accédez au site via FTP uniquement à partir d'ordinateurs dotés d'une bonne protection antivirus et d'une base de données virale à jour.
  • Les droits d'accès aux fichiers et dossiers (Chmod) doivent correspondre strictement à ceux préconisés par le développeur. Si vous modifiez les droits d'accès pour éditer un fichier, une fois le travail terminé, veillez à restaurer les valeurs requises.
  • En suivant ces quatre règles de base, la probabilité que votre site soit infecté par des logiciels malveillants sera considérablement réduite.

    C'est tout, veuillez laisser toutes vos questions et commentaires dans les commentaires.

    La vérité est que le site peut être piraté tôt ou tard. Après avoir exploité avec succès la vulnérabilité, le pirate informatique tente de prendre pied sur le site en plaçant des shells Web et des téléchargeurs dans les répertoires système et en introduisant des portes dérobées dans le code de script et la base de données CMS.

    Pour détecter les codes malveillants dans les fichiers et les bases de données, il existe des solutions spécialisées : antivirus et scanners pour l'hébergement. Ils ne sont pas nombreux ; les plus populaires sont AI-BOLIT, MalDet (Linux Malware Detector) et ClamAv.

    Les scanners aident à détecter les shells Web chargés, les portes dérobées, les pages de phishing, les spams et autres types de scripts malveillants - tout ce qu'ils connaissent et sont pré-ajoutés à la base de données de signatures de codes malveillants. Certains scanners, tels que AI-BOLIT, disposent d'un ensemble de règles heuristiques capables de détecter les fichiers contenant du code suspect souvent utilisé dans des scripts malveillants, ou les fichiers dotés d'attributs suspects pouvant être téléchargés par des pirates. Mais malheureusement, même si plusieurs scanners sont utilisés sur l'hébergement, il peut y avoir des situations où certains scripts de pirates ne sont pas détectés, ce qui signifie en fait que l'attaquant se retrouve avec une « porte dérobée » et peut pirater le site et en prendre le contrôle total. à tout moment.

    Les scripts modernes de logiciels malveillants et de pirates informatiques sont très différents de ceux d’il y a 4 à 5 ans. Actuellement, les développeurs de codes malveillants combinent obscurcissement, chiffrement, décomposition, chargement externe de code malveillant et autres astuces pour tromper les logiciels antivirus. Par conséquent, la probabilité de manquer de nouveaux logiciels malveillants est beaucoup plus élevée qu’auparavant.

    Que peut-on faire dans ce cas pour détecter plus efficacement les virus sur le site et les scripts de hackers sur l'hébergement ? Il est nécessaire d'utiliser une approche intégrée : une première analyse automatisée et une analyse manuelle ultérieure. Cet article abordera les options de détection de code malveillant sans scanner.

    Tout d’abord, regardons ce que vous devez exactement rechercher lors d’un hack.

  • Scripts de hackers.
    Le plus souvent, lors du piratage, les fichiers téléchargés sont des shells Web, des portes dérobées, des « uploaders », des scripts pour les courriers indésirables, des pages de phishing + des processeurs de formulaires, des portes et des fichiers de marqueurs de piratage (images du logo du groupe de hackers, fichiers texte avec « message » des pirates, etc.)
  • Injections (injections de code) dans des fichiers .
    Le deuxième type d’hébergement de code malveillant et de pirate informatique le plus populaire est l’injection. Des redirections mobiles et de recherche peuvent être injectées dans les fichiers .htaccess du site existant, des portes dérobées peuvent être injectées dans des scripts php/perl et des fragments javascript viraux ou des redirections vers des ressources tierces peuvent être intégrés dans des modèles .js et .html. Des injections sont également possibles dans des fichiers multimédias, par exemple.jpg ou. Souvent, le code malveillant se compose de plusieurs composants : le code malveillant lui-même est stocké dans l'en-tête exif du fichier jpg et est exécuté à l'aide d'un petit script de contrôle dont le code ne semble pas suspect au scanner.
  • Injections de bases de données.
    La base de données est la troisième cible d'un pirate informatique. Ici, des insertions statiques sont possibles, , , , qui redirigent les visiteurs vers des ressources tierces, les « espionnent » ou infectent l'ordinateur/l'appareil mobile du visiteur à la suite d'une attaque au volant.
    De plus, dans de nombreux CMS modernes (IPB, vBulletin, modx, etc.), les moteurs de modèles vous permettent d'exécuter du code PHP, et les modèles eux-mêmes sont stockés dans la base de données, de sorte que le code PHP des shells Web et des portes dérobées peut être construit directement. dans la base de données.
  • Injections dans les services de mise en cache.
    En raison d'une configuration incorrecte ou dangereuse des services de mise en cache, par exemple Memcached, des injections dans les données mises en cache « à la volée » sont possibles. Dans certains cas, un pirate informatique peut injecter du code malveillant dans les pages d'un site sans pirater directement le site.
  • Injections/éléments initiés dans les composants du système serveur.
    Si un pirate informatique a obtenu un accès privilégié (root) au serveur, il peut remplacer les éléments du serveur Web ou du serveur de mise en cache par des éléments infectés. Un tel serveur Web assurera, d’une part, le contrôle du serveur à l’aide de commandes de contrôle et, d’autre part, introduira de temps en temps des redirections dynamiques et du code malveillant dans les pages du site. Comme dans le cas d'une injection dans un service de mise en cache, l'administrateur du site ne pourra probablement pas détecter le fait que le site a été piraté, puisque tous les fichiers et la base de données seront originaux. Cette option est la plus difficile à traiter.
  • Supposons donc que vous ayez déjà vérifié les fichiers sur l'hébergement et le dump de la base de données avec des scanners, mais qu'ils n'aient rien trouvé et que le virus soit toujours sur la page ou que la redirection mobile continue de fonctionner lors de l'ouverture des pages. Comment chercher plus loin ?

    Recherche manuelle

    Sous Unix, il est difficile de trouver une paire de commandes plus utile pour rechercher des fichiers et des fragments que find/grep.

    trouver . -name '*.ph*' -mtime -7

    trouvera tous les fichiers qui ont été modifiés au cours de la semaine dernière. Parfois, les pirates « tordent » la date de modification des scripts afin de ne pas détecter de nouveaux scripts. Ensuite vous pouvez rechercher des fichiers php/phtml dont les attributs ont changé

    trouver . -name '*.ph*' -сtime -7

    Si vous avez besoin de rechercher des modifications dans un certain intervalle de temps, vous pouvez utiliser la même recherche

    trouver . -name '*.ph*' -newermt 2015-01-25 ! -newermt 2015-01-30 -ls

    Pour rechercher des fichiers, grep est indispensable. Il peut rechercher de manière récursive dans les fichiers un fragment spécifié

    grep -ril 'stummann.net/steffen/google-analytics/jquery-1.6.5.min.js' *

    Lors du piratage d'un serveur, il est utile d'analyser les fichiers dont l'indicateur guid/suid est défini

    trouver / -perm -4000 -o -perm -2000

    Pour déterminer quels scripts sont en cours d'exécution et chargent le processeur d'hébergement, vous pouvez appeler

    lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ ( if(!str) ( str=$1 ) else ( str=str”,”$1))END(print str)’` | grep vhosts | grep php

    Nous utilisons notre cerveau et nos mains pour analyser les fichiers sur l'hébergement
  • Nous allons dans les répertoires de téléchargement, de cache, tmp, de sauvegarde, de journal, d'images, dans lesquels quelque chose est écrit par des scripts ou téléchargés par les utilisateurs, et analysons le contenu à la recherche de nouveaux fichiers avec des extensions suspectes. Par exemple, pour Joomla, vous pouvez vérifier les fichiers .php dans le répertoire images:find ./images -name '*.ph*'. Très probablement, si quelque chose est trouvé, ce sera un malware.
    Pour WordPress, il est logique de vérifier les scripts dans le répertoire wp-content/uploads, les répertoires de thème de sauvegarde et de cache.
  • Recherche de fichiers avec des noms étranges
    Par exemple, php, pour info.php, n2fd2.php. Les fichiers peuvent être recherchés
    • par des combinaisons non standards de caractères,
    • présence des nombres 3,4,5,6,7,8,9 dans les noms de fichiers
  • Nous recherchons des fichiers avec des extensions inhabituelles
    Disons que vous avez un site Web sur WordPress ou que pour eux, les fichiers avec les extensions .py, .pl, .cgi, .so, .c, .phtml, .php3 ne seront pas tout à fait ordinaires. Si des scripts et des fichiers portant ces extensions sont détectés, il s’agira très probablement d’outils de piratage. Le pourcentage de fausses détections est possible, mais il n'est pas élevé.
  • Nous recherchons des fichiers avec des attributs ou une date de création non standard
    La suspicion peut être provoquée par des fichiers dont les attributs diffèrent de ceux existants sur le serveur. Par exemple, tous les scripts .php ont été téléchargés via ftp/sftp et ont l'utilisateur user, et certains ont été créés par l'utilisateur www-data. Il est logique de vérifier les dernières. Ou si la date de création du fichier script est antérieure à la date de création du site.
    Pour accélérer la recherche de fichiers avec des attributs suspects, il est pratique d'utiliser la commande Unix find.
  • Nous recherchons des portes utilisant un grand nombre de fichiers .html ou .php
    S'il y a plusieurs milliers de fichiers .php ou .html dans le répertoire, il s'agit probablement d'une porte.
  • Journaux pour aider

    Le serveur Web, le service de messagerie et les journaux FTP peuvent être utilisés pour détecter les scripts malveillants et pirates.

    • La corrélation de la date et de l'heure d'envoi d'une lettre (qui peuvent être trouvées dans le journal du serveur de messagerie ou dans l'en-tête de service d'une lettre de spam) avec les requêtes du access_log permet d'identifier la méthode d'envoi du spam ou de trouver le script de l'expéditeur du spam.
    • L'analyse du journal de transfert FTP xferlog permet de comprendre quels fichiers ont été téléchargés au moment du hack, lesquels ont été modifiés et par qui.
    • Dans un journal de serveur de messagerie correctement configuré ou dans l'en-tête de service d'un courrier indésirable, si PHP est correctement configuré, il y aura un nom ou un chemin complet vers le script d'envoi, ce qui permet de déterminer la source du spam.
    • À l'aide des journaux de protection proactive des CMS et plugins modernes, vous pouvez déterminer quelles attaques ont été menées sur le site et si le CMS a pu y résister.
    • En utilisant access_log et error_log, vous pouvez analyser les actions d'un pirate informatique si vous connaissez les noms des scripts qu'il a appelés, l'adresse IP ou l'agent utilisateur. En dernier recours, vous pouvez consulter les requêtes POST le jour où le site a été piraté et infecté. Souvent, l'analyse permet de trouver d'autres scripts de hackers qui ont été téléchargés ou qui se trouvaient déjà sur le serveur au moment du piratage.
    Contrôle d'intégrité

    Il est beaucoup plus facile d'analyser un piratage et de rechercher des scripts malveillants sur un site Web si vous veillez à sa sécurité à l'avance. La procédure de contrôle d'intégrité permet de détecter en temps opportun les modifications apportées à l'hébergement et de déterminer le fait de piratage. L’un des moyens les plus simples et les plus efficaces consiste à placer le site sous un système de contrôle de version (git, svn, cvs). Si vous configurez correctement .gitignore, le processus de contrôle des modifications ressemble à un appel à la commande git status, et la recherche de scripts malveillants et de fichiers modifiés ressemble à git diff.

    De plus, vous disposerez toujours d'une copie de sauvegarde de vos fichiers, sur laquelle vous pourrez « restaurer » le site en quelques secondes. Les administrateurs de serveur et les webmasters avancés peuvent utiliser inotify, tripwire, auditd et d'autres mécanismes pour suivre l'accès aux fichiers et répertoires et surveiller les modifications dans le système de fichiers.

    Malheureusement, il n'est pas toujours possible de configurer un système de contrôle de version ou des services tiers sur le serveur. Dans le cas d'un hébergement mutualisé, il ne sera pas possible d'installer un système de contrôle de version et des services système. Mais ce n’est pas grave, il existe de nombreuses solutions toutes faites pour les CMS. Vous pouvez installer un plugin ou un script distinct sur le site qui suivra les modifications apportées aux fichiers. Certains CMS mettent déjà en œuvre une surveillance efficace des modifications et un mécanisme de contrôle d'intégrité (par exemple, Bitrix, DLE). En dernier recours, si l'hébergement dispose de ssh, vous pouvez créer un instantané de référence du système de fichiers avec la commande

    ls -lahR > fichier_original.txt

    et si des problèmes surviennent, créez un nouvel instantané dans un autre fichier, puis comparez-les dans WinDiff, AraxisMerge Tool ou BeyondCompare.

    Épilogue

    Dans la plupart des cas, les développeurs de logiciels antivirus et les scanners ne suivent pas le rythme des développeurs de logiciels malveillants. Par conséquent, lors du diagnostic et du traitement des sites, vous ne pouvez pas vous fier uniquement aux solutions logicielles et aux scripts automatisés. Grâce à une approche heuristique, aux riches outils du système d'exploitation et aux fonctionnalités du CMS, vous pouvez trouver du code malveillant que les antivirus et les scanners n'ont pas pu détecter. L’utilisation de l’analyse manuelle rend le processus de traitement du site Web meilleur et plus efficace.

    L'autre jour, l'hébergeur reg.ru a suspendu le fonctionnement de certaines fonctions PHP (notamment mail - envoi de messages) sur le site d'un de mes clients, expliquant cela par le fait qu'un logiciel malveillant a été trouvé dans le compte qui envoie du spam . Il a cessé de fonctionner et les commandes ont cessé d'arriver, et c'est déjà une perte. À cet égard, j'ai décidé de vous expliquer, lecteurs du site, comment rechercher des virus sur votre site et supprimer les codes malveillants en temps opportun.

    La situation n'est pas rare, même mon blog a été victime de piratage à deux reprises. Il est impossible de protéger complètement votre ressource contre les virus, mais il est nécessaire de minimiser les risques. En règle générale, les attaquants utilisent des vulnérabilités du CMS, des modèles de conception ou des paramètres d'hébergement incorrects pour pénétrer.

    Que faire si vous pensez que votre site Web est infecté par des virus :

  • Vérifiez le site pour les virus et trouvez les fichiers contenant du code malveillant (ce sera la moitié de l'article),
  • Supprimer ou désinfecter les fichiers détectés (seconde moitié de l'article),
  • Fermez les « trous » du site par lesquels de mauvais scripts ont pénétré.
  • Les 3 cas de piratage que j'ai rencontrés (2 miens et 1 client) se sont produits pour une seule raison - sur l'hébergement, certains dossiers avaient des droits d'accès public 777, permettant à chacun d'y écrire n'importe quelle information, donc le point n°3 sur la fermeture des « trous » est le plus important. Je vous parlerai de lui à la fin.

    Pourquoi les antivirus en ligne sont inefficaces pour un site Web

    Lorsque de réels problèmes surviennent dans le fonctionnement du site ou que des messages apparaissent de Yandex Webmaster concernant une infection, beaucoup commencent à rechercher des antivirus en ligne pour les sites. Parfois, ils aident, mais la plupart du temps, ils ne le font pas complètement.

    Le problème est que des services tels que antivirus-alarm.ru, virustotal.com, xseo.in, 2ip.ru, etc. n’avoir accès qu’au côté externe de votre site. Cela signifie qu’ils ne détecteront le code malveillant que s’il sort et présente des signes.

    Que faire si les fichiers infectés ne se manifestent d'aucune façon et sont toujours inactifs, ou si le résultat de leur activité ne donne pas de signes évidents d'infection. Eh bien, par exemple, ils affichent simplement des liens superflus sur des pages Web - pour un service en ligne, ce sera , et le virus lui-même est caché au plus profond du code PHP et n'agit qu'au niveau du serveur lors du traitement des requêtes.

    Avantages des antivirus en ligne : Facilité d'utilisation - écrivez l'URL du site, cliquez sur un bouton et obtenez le résultat. Mais ce n’est pas un fait qu’un virus a été trouvé.

    Le seul moyen efficace d’identifier tous les problèmes est d’analyser complètement tous les fichiers hébergés sur l’hébergement où se trouve le site. Cela peut être fait avec l'accès à l'hébergement, ce qui signifie que l'antivirus doit fonctionner directement dans les fichiers et dossiers de votre site.

    Plugins antivirus

    À propos, les fans des CMS populaires ont un peu plus de chance dans la lutte contre les virus, car il existe des plugins capables de les détecter et de les éliminer en temps opportun. J'ai parlé d'un de ces plugins dans un article à ce sujet ; il surveille automatiquement les modifications dans les fichiers du moteur et des modèles. Mais même cela n'est pas toujours en mesure d'aider, car les virus peuvent non seulement pénétrer dans les fichiers existants, mais aussi créer les leurs, contre lesquels le plugin sera impuissant.

    En un mot, dans une situation critique, une analyse complète de tous les fichiers d'hébergement, y compris ceux qui ne concernent pas le CMS, peut être nécessaire.

    Passons donc à la section « Comment rechercher des virus sur un site Web à l'aide de méthodes professionnelles ?

    Vérification des fichiers de sites Web avec l'antivirus AI-Bolit

    Comme pour les ordinateurs ordinaires, les sites Web sont vérifiés à la recherche de virus par des programmes antivirus. Mais à ces fins, les programmes antivirus ordinaires dont je parle ne conviennent pas. Vous en avez besoin d’un spécial qui fonctionne pour l’hébergement et est conçu pour les menaces contre les sites.

    Dernièrement, j’utilise l’antivirus AI-Bolit de Revisium à ces fins. En plus de son antivirus pour sites Web, ce service a participé au développement conjoint d'un antivirus pour Yandex.

    Passons en revue toutes les étapes de recherche et de traitement à l'aide d'AI-Bolit, étape par étape.

    Installation de l'antivirus AI-Bolit

    À partir de cette page, vous téléchargez l'archive avec le programme d'hébergement – ​​https://revisium.com/ai/ (petit fichier).

    Il existe une version pour Windows - pour l'utiliser, vous devez télécharger tous les fichiers du site depuis l'hébergement sur votre ordinateur.

    Il existe une version pour l'hébergement - la vérification antivirus a lieu directement sur place (sur le serveur du site). Je vais parler du fonctionnement de la version d'hébergement, téléchargez-la.

    Décompressez l'archive téléchargée, vous obtiendrez ainsi un dossier avec un nom similaire au nom de l'archive - ai-bolit, un dossier outils et 2 fichiers.

    Pour travailler, vous n'avez besoin que du contenu du premier dossier (ai-bolit), composé de 5 fichiers. Vous devez télécharger ces 5 fichiers dans le dossier racine de votre site (où se trouve votre index.php) via FTP ou via un gestionnaire de fichiers.

    Mise en place du programme

    Par défaut, l'antivirus est déjà prêt à fonctionner, mais il dispose de deux paramètres que vous pouvez utiliser pour optimiser le programme en fonction de vos besoins. Tous les paramètres sont effectués dans le fichier ai-bolit.php.

    1. Définition de la profondeur de numérisation. Il peut être de 3 degrés : 0 – vérification rapide, 1 – expert, 2 – paranoïaque, la valeur par défaut est 1. La ligne responsable de ce paramètre est :

    Définir("AI_EXPERT_MODE", 1);

    2. Mot de passe pour accéder au programme. Si vous envisagez de conserver l'antivirus sur votre hébergement en permanence, vous devez alors définir le mot de passe le plus complexe possible au lieu de celui par défaut, sinon les attaquants pourront endommager le site via l'antivirus lui-même. Si vous êtes intéressé par une analyse unique, après quoi les fichiers antivirus seront supprimés de l'hébergement, vous pouvez laisser le mot de passe par défaut. La ligne responsable du mot de passe est :

    Définir("PASS", "1122334455");

    Après avoir enregistré les paramètres, procédez au lancement du scanner.

    Démarrage du programme

    D'autres actions seront effectuées via le navigateur. Dans la barre d'adresse, vous devez saisir l'URL menant au fichier de lancement d'ai-bolit - votre-site/ai-bolit.php?p=specified-password.

    Après un certain temps, l'analyse de tous les fichiers de votre site sera terminée et vous recevrez un rapport comme celui-ci :

    Problèmes de démarrage

    Étant donné que l'analyse antivirus d'un site Web crée une charge considérable sur le serveur d'hébergement, les hébergeurs interdisent souvent le fonctionnement de tels programmes. Dans ce cas, vous pouvez rencontrer des messages d'erreur tels que les suivants :

    Dans ce cas, il y a 3 options :

  • L'hébergeur recherche lui-même les virus et avertit les clients de leur apparition.
  • L'hébergeur peut vous autoriser à vérifier après avoir demandé une assistance technique.
  • Téléchargez les fichiers du site sur votre ordinateur et vérifiez auprès de la version antivirus pour Windows.
  • Analyse des résultats

    Le rapport reçu lors de l'analyse peut être utilisé de deux manières : le transférer à un spécialiste afin qu'il puisse en comprendre le contenu ou examiner indépendamment chaque ligne suspecte. Souvent, les fonctionnalités des modèles ou des scripts spécialisés sont confondues avec des virus (en particulier à un niveau de vérification paranoïaque).

    Après toutes les vérifications et suppression des scripts malveillants, les fichiers antivirus peuvent être supprimés de l'hébergement.

    Fermeture des vulnérabilités du site

    Parlons maintenant d'éliminer les causes de l'infection. J'ai dit plus haut que le plus souvent, les virus sont téléchargés via des dossiers qui ont un accès général à tout le monde - droits d'accès 777 (rwxrwxrwx).

    Si un dossier de votre site dispose de tels droits, vous pouvez y télécharger un fichier de virus et l'utiliser pour diffuser du code malveillant sur tout le site.

    Pour vous assurer que l'infection ne se reproduira pas après votre traitement, vous devez vérifier chaque dossier dans lequel Manul a trouvé des fichiers infectés et, si nécessaire, modifier les droits - refuser l'accès public - définir les propriétés sur 755 (rwxr-xr-x).

    Dans certains cas, vous pouvez établir des règles encore plus strictes, mais 755 est le niveau de sécurité minimum.

    C'est tout ce que j'ai pour aujourd'hui - bonne chance pour vos projets.