web-dev-qa-db-fra.com

Des suggestions pour un système de détection de changement?

En tant que webdesigner/webmaster, je m'occupe de plusieurs sites Web. Récemment, le site Web d'un client a été "piraté". Il s’est avéré qu’à leur bureau, un ordinateur avait été infecté par un cheval de Troie, qui avait espionné le mot de passe ftp, puis "ils" avaient en quelque sorte installé un iframe invisible qui chargeait un code désagréable.

Ce n'était pas de ma faute - mais j'aurais quand même souhaité avoir découvert l'attaque en premier.

J'ai donc cherché des outils permettant de détecter les modifications apportées aux fichiers et aux modèles, puis je suis arrivé à ce petit script prometteur appelé "websitecds", qui signifie "système de détection de changement de site Web". En gros, il parcourt l'intégralité du dossier Web et détecte les modifications apportées au code. Il vous envoie ensuite une alerte par courrier électronique si la base de code a été modifiée.

http://code.google.com/p/websitecds/

Jusqu'ici tout va bien. J'ai installé le script et je l'ai exécuté - et manuellement, il fonctionne parfaitement. Mais c’est le problème: je ne veux pas le lancer manuellement, j’ai besoin de disques cron déclenchés par cron. La bonne nouvelle est que certaines personnes ont modifié le script afin que vous puissiez l'exécuter à l'aide de cron, d'autres ont ajouté une fonctionnalité qui vous permet d'exclure certains dossiers (par exemple, des dossiers protégés par un mot de passe).

Maintenant enfin, voici mon problème/ma question: je n'ai jamais eu de version en cours d'exécution qui

  1. vous permettent de surveiller un grand nombre de sites Web, idéalement à partir d'une interface centrale
  2. ET envoyer une alerte par courrier électronique en cas de modification, en répertoriant idéalement les modifications.
  3. ET géré par cron
  4. ET vous permettent d’exclure des dossiers protégés par mot de passe.

Avez-vous? Ou quelqu'un a-t-il des indices ou des indications sur un logiciel similaire?

mise à jour: Ce que je trouve tentant avec un "simple fichier" est de pouvoir aussi m'informer si un client télécharge un nouveau fichier sur son site web ...

Je vous remercie!

-à votre santé-

PS: ou préférez-vous suggérer de demander à www.stackoverflow.com?

PS2: Voici la page du projet pour le script mentionné ci-dessus: Comment détecter si votre serveur Web est piraté et être alerté

2
tillinberlin

Quelques options simples pour automatiser l'analyse des logiciels malveillants de plusieurs sites:

  1. Utilisez un service payant d'analyse de programme malveillant tel que Securi , 6Scan ou SiteLock . Vous voudrez peut-être encourager votre client à s’abonner à ces services ou à l’offrir dans le cadre d’un contrat de maintenance mensuel.

  2. Utilisez un plugin gratuit pour votre système de gestion de contenu, tel que Wordfence pour WordPress.

  3. Créez votre propre script qui vérifie une liste d'URL par rapport à une API d'analyse tierce, telle que celle-ci de Virustotal . Définissez un travail cron de serveur pour exécuter le script tous les jours ou toutes les heures comme bon vous semble.

2
Nick

J'aime l'idée d'utiliser des sommes de hachage pour vérifier les modifications apportées aux fichiers. Je n'aime pas que celui auquel vous vous connectez soit installé sur le serveur lui-même. Si le serveur est piraté, ce fichier est également susceptible d'être modifié.

J'utiliserais une commande comme celle-ci pour ssh sur chaque serveur distant et contrôler tous les fichiers importants du répertoire Web.

ssh mywebsite.example.com 'find /var/www/ -regextype posix-egrep -regex ".*\.(html|php|txt)" -exec md5sum {} \;' > /var/website_checksums/mywebsite_`date +%Y-%m-%d`

Ensuite, je voudrais utiliser diff pour le comparer à la veille.

Cela serait facile à automatiser dans un travail cron si vous distribuez des clés ssh et pouvez effectuer un petit nombre de scripts.

2
Stephen Ostermiller