20/09/2024

NAS

NAS Synology – Installer NetAlertX dans un conteneur Docker pour surveiller son réseau local

I. Présentation

Dans ce tutoriel, nous allons apprendre à installer l'application NetAlertX (Pi.Alert) sur un NAS Synology. L'installation sera effectuée dans un conteneur Docker, via Container Manager.

NetAlertX est une application gratuite et open source dont l'objectif est de surveiller votre réseau local dans le but de référencer tous les appareils connectés. Que ce soit un appareil connu ou inconnu (intrusion ?), il sera détecté par NetAlertX. Ainsi, vous pouvez recevoir une notification lorsqu'un nouvel appareil se connecte pour la première fois ou si un appareil tombe en panne (connecté puis déconnecté).

Nous avons mis en ligne un article de présentation et de configuration complet à son sujet. Voici les liens vers cet article et vers le GitHub du projet :

Ici, nous aborderons la phase de déploiement sur un NAS Synology à l'aide de Container Manager.

II. Déployer NetAlertX avec Docker

Avant toute chose, vous devez installer l'application "Container Manager" sur votre NAS, si ce n'est pas déjà fait. Puis, vous devez créer un dossier pour ce conteneur. Pour ma part, il s'agit du répertoire "netalertx" créé sous "docker".

Dans ce répertoire nouvellement créé, vous devez créer les trois sous-répertoires suivants :

  • log
  • db
  • config

Ils seront utilisés par l'application pour stocker des données (journaux, configuration, base de données).

Ensuite, ouvrez "Container Manager" puis cliquez sur "Projet" afin de créer un nouveau projet en cliquant sur le bouton nommé "Créer".

Vous devez donner un nom à ce projet, sélectionner le répertoire créé précédemment et indiquer le code de configuration Docker Compose permettant de déployer l'image Docker de l'application. Ce qui donne :

Voici le code Docker Compose (aidez-vous des commentaires dans le fichier pour la compréhension de la config) :

services:
  netalertx:
     image: jokobsk/netalertx:latest   # Nom de l'image Docker à utiliser
     container_name: netalertx         # Nom du conteneur Docker
     healthcheck:                      # Vérifier état de santé du conteneur (attention au port)
      test: curl -f http://127.0.0.1:15000/ || exit 1
     mem_limit: 1g                     # Limite RAM de 1 Go pour le conteneur
     security_opt:
      - no-new-privileges:true         # Option de sécurité contre l'élévation de privilèges
     volumes:
      - /volume1/docker/netalertx/config:/app/config:rw          # Volume pour "config" (configuration)
      - /volume1/docker/netalertx/db:/app/db:rw                  # Volume pour "db" (base de données)
      - /volume1/docker/netalertx/log:/app/front/log:rw          # Volume pour "log" (journaux)
     environment:
      TZ: Europe/Paris                 # Fuseau horaire, ici Paris
      PORT: 15000                      # Port à utiliser sur la machine locale (adapter le healthcheck en fonction)
      HOST_USER_ID: 1032               # UserID à utiliser (n'utilisez pas "root")
      HOST_USER_GID: 100               # UserID à utiliser (n'utilisez pas "root")
      # ALWAYS_FRESH_INSTALL: true     # Réinitialise l'application (effacer toutes les données - désactivé ici)
     network_mode: host                # Mode "host" obligatoire pour cette application
     restart: on-failure:5             # Restart en cas de problème avec le conteneur ; 5 tentatives pour relancer
Docker Compose NetAlertX pour Synology.jpg

Dans le cas présent, le port sur lequel sera joignable l'application, est le port 15000. Veillez à vérifier également les chemins vers les dossiers, sous l'instruction "volumes".

Le conteneur sera exécuté à partir de l'utilisateur "docker", créé par mes soins sur le NAS. Il s'agit d'un utilisateur non privilégié qui ne dispose d'aucune permission spéciale sur le NAS, si ce n'est le droit de lecture et écriture dans le répertoire "docker".

Nous avions abordé la création de cet utilisateur dans l'article de présentation globale de Container Manager. De plus, vous devez être en mesure de récupérer l'UID de ce compte, qui est susceptible de varier d'un NAS à un autre. Voici deux liens utiles :

Quand la configuration est prête, poursuivez jusqu'à la fin et lancez la création du projet... Patientez pendant le téléchargement de l'image Docker et la création du conteneur associé.

Dès à présent, vous pouvez accéder à l'application NetAlertX de cette façon :

  • http://<adresse IP de votre NAS>:15000

Vous avez désormais accès à l'application NetAlertX grâce à votre NAS !

NetAlertX sur NAS Synology avec Docker

III. Conclusion

Voilà, vous venez de déployer l'application NetAlertX sur votre NAS Synology ! Dès maintenant, elle va commencer à détecter les hôtes sur le réseau "192.168.1.0/24" puisque c'est sa configuration par défaut. Référez-vous à notre tutoriel sur la configuration de NetAlertX pour prendre en main cette solution.

Par la suite, vous pouvez publier l'application à l'aide du reverse proxy de DSM et d'un certificat TLS. Pour cela, si vous avez besoin d'aide, référez-vous à ces deux tutoriels :

Qu'en pensez-vous ? Nous attendons votre réaction en commentaire !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.