Hello
Je fais suite aux divers retours concernant les sites vérolés et comment les traiter.
Ayant eu à traiter en masse des spip vérolés, je propose un script de pré-nettoyage.
Il s’agit d’un script qui ne fera pas de magie mais automatise un certain nombre d’actions et pointe du terminal les endroits à regarder plus spécifiquement.
Le code est disponible sur spip-contrib-outils/spip_cleaner: Clean spip instance after some hack - spip_cleaner - SPIP on GIT
C’est un unique script bash à exécuter directement sur un serveur. Il suffit d’avoir un accès ssh que soit sur l’ensemble du serveur ou bien un espace web restreint.
Par défaut le script ne prend aucune initiative, il analyse l’arborescence donnée et informe des problèmes éventuels.
Sur demande explicite, le script peut aussi faire certaines actions qui sont :
- correction du spip.php, déploiement de l’écran de sécurité et du spip_loader à jour
- purge des répertoires temporaires (tmp, local)
- purge de divers fichiers explicitement considérés comme invalides
- recherche de fichies ayant des contenus malicieux
Le script ne supprime pas les fichiers considéré comme ayant un code potentiellement malicieux. Entre les fichiers contenant base64_decode
.
En mode verbeux, les fichiers identifiés sont listés. Le reste doit être traité manuellement.
Sur le cas d’un serveur complet, je fais étape par étape :
serveur:~ wget https://git.spip.net/spip-contrib-outils/spip_cleaner/raw/branch/master/clean_spip.sh -O clean_spip.sh
serveur:~ chmod +X clean_spip.sh
-
serveur:~ ./clean_spip -p /var/alternc
(par défaut le chemin vaut /var/www)
Dry run enabled , action will not be executed
Search SPIP in /var/www/
SPIP found : /var/www/alternc/i/intour/www/intour.net
SPIP found : /var/www/alternc/r/reducdu29/www/reducdu29.org
SPIP found : /var/www/alternc/r/reducdu01/www/reducdu01
Some files with ecrire/.rnd pattern name found
SPIP found : /var/www/alternc/r/reducdu42/www/reducdu42.fr
SPIP found : /var/www/alternc/r/reducdu69/www/reducdu69.fr
Some files with data.php pattern name found
SPIP found : /var/www/alternc/r/reducdu35/www/reducdu35.com - Ensuite je passe en mode verbeux sur le(s) répertoire(s) à contrôler
serveur:~ ./clean_spip.sh -p /var/www/alternc/r/reducdu69/www/reducdu69.fr --verbose
- Si cela me semble bon, je lance une purge globale
serveur:~ ./clean_spip.sh -p /var/www/alternc/r/reducdu69/www/reducdu69.fr -d 0
- Enfin je traite les fichiers recalcitrants manuellement
Sur le cas d’un serveur où juste un accès ssh a été donné pour le site, cela est plus simple :
serveur:~ wget https://git.spip.net/spip-contrib-outils/spip_cleaner/raw/branch/master/clean_spip.sh -O clean_spip.sh
serveur:~ chmod +X clean_spip.sh
-
serveur:~ ./clean_spip -p .
(par scanner à partir du répertoire courant) - ensuite c’est comme le cas précédent
j’espère que cela pourra être utile à certaines et certains.
Pour toute demande, retours,… je vous invite à ouvrir un ticket sur la forge
Km