Synology – ChangeDetection sur votre NAS avec Docker en 5 minutes

ChangeDetection.io est un système de suivi de modifications de pages web. L’outil est gratuit, open source et il est même possible de l’auto-hébergement sur son NAS. C’est une alternative intéressante à Visualping ou Watchtower si vous connaissez. Aujourd’hui, je vous propose ce tuto pour l’installer et le paramétrer sur votre NAS Synology avec Docker.

 

ChangeDetection et Synology

ChangeDetection.io est un service facile à utiliser dans la surveillance et la détection des modifications de sites Web. Lorsqu’il détecte un changement pendant sa surveillance, l’outil sera à même de vous notifier à travers les services de votre choix : e-mail, SMS, Discord, Slack, Gotify, Kodi, etc. Pour cela, il se base sur l’excellent système Apprise ! ChangeDetection.io est entièrement gratuit et il peut fonctionner en auto-hébergé. Il fonctionne en Python et vous trouverez de nombreuses informations sur le site officiel.

ChangeDetection et Docker

Si vous utilisez Docker sur votre NAS, vous verrez qu’il est très simple à installer et paramétrer. Si vous avez un boîtier Synology compatible Docker, c’est très simple. En 5 minutes, il sera fonctionnel !

Installer ChangeDetection

La première étape consiste à télécharger l’image dgtlmoon/changedetection.io et pour cela, il suffit de lance l’application Docker sur le NAS. Ensuite, cliquez sur Registre dans le menu de gauche. rendre dans le taper changedetection dans la zone de recherche en haut à droite (voir image ci-dessous). Puis, vous double-cliquez sur le premier lien en faisant bien attention qu’il s’agit de l’image dgtlmoon/changedetection.io.

Comme d’habitude, vous aurez la petite boîte de dialogue pour télécharger la dernière version de l’image (choix Latest).

 

 

Vous patientez quelques secondes le temps que l’image se télécharge. Vous pouvez contrôler sa progression dans le menu de gauche Image. Une fois le téléchargement terminé, double cliquez sur celle-ci pour lancer la création du conteneur. Vous pouvez laisser les valeurs par défaut (bridge comme l’image ci-dessous) et vous cliquez sur le bouton Suivant

 

 

Dans les paramètres généraux, vous allez saisir un nom pour votre conteneur. Vous pouvez aussi paramétrer les ressources en mettant la priorité du processeur à Bas (ce n’est pas une ressource critique ou importante) et vous pouvez diminuer l’usage de la mémoire vive (j’ai mis 128 Mo).

Vous cliquez sur le bouton Suivant. Pour le paramétrage du port (il n’y en a qu’un seul ici), je vous recommande de choisir un port non utilisé comme par exemple le 5075 en port local et on laisse 5000 pour le port du conteneur (voir image ci-dessous).

On continue en appuyant sur le bouton Suivant. On va maintenant ajouter un dossier de travail pour Change Detection.

On clique sur le bouton Ajouter un dossier. Vous vous déplacez vers le dossier docker de votre NAS et vous cliquez sur le bouton Créer un dossier. Ici, mon dossier se nomme ChangeDetection (non ce n’est pas très original). On appuie sur le bouton OK puis Sélectionner et enfin Suivant.

Dans la zone chemin d’accès, on indique /datastore (voir image ci-dessus) et on appuie sur le bouton Suivant.

 

Petit écran récapitulatif et il ne reste plus qu’à appuyer sur le bouton Effectué. C’est terminé pour la partie installation. Sur la seconde partie de l’article, nous allons démarrer notre surveillance de sites, paramétrer la fréquence de vérification et enfin générer une alerte dès qu’un changement est constaté par l’outil.

Surveiller un site avec ChangeDetection

Dans votre navigateur préféré, tapez l’adresse IP de votre NAS suivi du port 5075 (si vous avez fait le même que moi). Vous devriez avoir quelque chose du genre 192.168.1.100:5075 à taper. Une fois que vous avez validé, vous devriez avoir cette page.

Vous remarquerez que l’interface est uniquement en anglais. A ce jour, il n’est pas possible de la changer en français. Par défaut, il y a déjà 3 sites surveillés. Les 2 premiers (sur la capture) vous serviront pour tester l’outil et les notifications. Le dernier surveille le changelog (journal des modifications) sur le site changedetection.io. Il permettra d’être alerté lorsqu’une mise à jour est disponible.

Mettre à jour son conteneur Mettre à jour son conteneur Docker sur Synology

Pour ajouter la détection d’un site, c’est assez simple. Dans la section « Add a new change detection watch » vous indiquez dans la partie de gauche le nom du site, par exemple https://www.cert.ssi.gouv.fr/ (dès qu’une faille de sécurité est détectée) et sur la partie de droite le groupe dans lequel le site doit être classé (ex. : Cybersécurité). Si le groupe n’existe pas, il créera automatiquement. Cela permet ensuite de classer dans une vue tous les sites du même genre (onglets). Une fois que vous avez appuyé sur le bouton Watch, ce site sera surveillé.

Réglages de ChangeDetection

Maintenant, nous allons nous rendre dans le menu SETTINGS en haut à droite. Sur le premier onglet, c’est ici que vous faite le paramétrage par défaut. Comme vous pouvez le voir ici, l’outil fera une analyse de changement toutes les 3 heures. Il est bien sûr possible de changer (semaines, jours, heures, minutes, secondes). Ce réglage sera général à tous les sites que vous saisir. A noter qu’il est possible de modifier les paramètres pour chaque site surveillé depuis la page principale (bouton Edit en face de chacun des sites). Mais ici, on est sur les paramètres par défaut pour tout le système. Attention à ne pas faire trop faire d’analyse quotidienne d’un même site, l’administrateur pourrait décider de vous bannir.

Il y a ici d’autres paramètres sur cette page que je vous laisse découvrir…

Notifications avec ChangeDetection

L’onglet Notifications permettra de les paramétrer. Détecter une changement sur un site, c’est bien… être alerté quand c’est le cas, c’est encore mieux. Comme indiqué précédemment, ChangeDetection embarque le système de notification d’Apprise. Il faut absolument passer par ce site pour y trouver les informations nécessaires.

Comme j’aime bien utilisé les mails, voici l’expression que j’ai utilisé pour Infomaniak :
mailtos://NomUtilisateur:MotdePasse@ik.me?smtp=mail.infomaniak.com&user=NomUtilisateur@ik.me
Si comme moi vous utilisez des caractères spéciaux dans votre mot de passe, il faudra les mettre en Hexadecimal. C’est pas terrible, mais on n’a pas le choix. Quelques exemples :

Caractère ASCII Correspondance HEX
# %23
$ %24
& %26
é %e9
+ %2b
%2d

Si votre mot de passe est : 4Tynqh+c3# il deviendra 4Tynqh%2bc3%23

N’oubliez pas de sauvegarder et d’ensuite appuyer sur le bouton Send test notification pour tester que vous recevez bien une notification. Si vous ne recevez bien, vous pouvez consulter les erreurs via le bouton Notification debug logs. Cela a été utile pour moi afin de comprendre pour mon mot de passe ne fonctionnait pas 😉 Toujours sur l’onglet Notifications, vous pourrez personnaliser le message que vous recevrez lorsqu’un changement sera détecté (titre de la notification, corps du message, format…).

Voila, ce tutoriel touche à sa fin. L’outil ChangeDetection est simple et efficace. Si vous avez des questions ou si vous souhaitez partager votre expérience… n’hésitez pas à utiliser les commentaires ci-dessous.

Merci Guillaume pour la découverte