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 :
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
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 :
Vous avez désormais accès à l’application NetAlertX grâce à votre NAS !
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 !