Canevas du workflow n8n : déclenchement, authentification, audit par API, agrégation, mise en page HTML, envoi
Le workflow complet dans n8n, du déclenchement à l’envoi du rapport.
Workflow n8n × ETC Collector

Automatisez l’audit Active Directory avec n8n et ETC Collector

ETC Collector est un auditeur de sécurité Active Directory et Microsoft Entra ID écrit en Go : un binaire statique unique, sans agent, sans dépendance, ni .NET ni Python. Il exécute plus de 500 contrôles de sécurité mappés sur 9 référentiels de conformité.

Ce workflow n8n déclenche l’audit par API, agrège les résultats, met en page un rapport HTML noté de A à E et l’envoie par courriel. L’objet du message porte la note et le nombre de critiques : on trie sans ouvrir.

La valeur n’est pas le rapport isolé mais sa répétition : le cron du lundi compare une semaine à l’autre et fait apparaître les dérives de posture. Ce n’est pas un rapport de plus.

Disclosure : les chiffres du rapport ci-dessus proviennent d'un audit réel exécuté sur un domaine de laboratoire de l'équipe EtcSec, pas sur un client.
Comment ça marche

Six étapes, un rapport noté et livré

Chaque exécution suit la même chaîne, que le déclenchement soit manuel ou planifié. Rien n’est laissé à l’interprétation entre l’audit et le courriel reçu.

1

Déclenchement

Un webhook HTTP ou un cron hebdomadaire démarre le workflow, au choix.

2

Authentification

n8n s’authentifie auprès du collecteur avec un jeton d’en-tête dédié (X-GUI-Token).

3

Audit par API

Le workflow appelle l’API du collecteur pour lancer l’audit Active Directory et Microsoft Entra ID.

4

Agrégation

n8n agrège les résultats bruts renvoyés par le collecteur.

5

Mise en page HTML

Le rapport est mis en forme en HTML, avec une note globale de A à E.

6

Réponse et envoi

Le workflow répond à l’appel web et envoie le rapport par courriel ; l’objet porte la note et le nombre de critiques.

Installation

Installer le collecteur et brancher n8n, pas à pas

Le guide se déroule en trois parties : A installe le collecteur sous Linux (recommandé), B propose l’alternative Windows, C branche le résultat à n8n.

Le code source est publié sur GitHub (liens en bas de page), release v3.2.0. Chaque commande ci-dessous a été vérifiée sur une machine vierge : Ubuntu 22.04 pour Linux, Windows Server 2022 pour Windows.

  • Un serveur Linux amd64 ou Windows Server.
  • Un compte de service Active Directory en lecture seule.
  • Une instance n8n qui peut joindre le collecteur.
  1. 1

    A1 · Télécharger et vérifier (Linux)

    Télécharge l’archive Linux et le fichier de sommes de contrôle, puis vérifie l’intégrité de l’archive avec sha256sum.

    bash
    VERSION=3.2.0
    BASE=https://github.com/etcsec-com/etc-collector-com/releases/download/v${VERSION}
    curl -LO ${BASE}/etc-collector-${VERSION}-linux-amd64.tar.gz
    curl -LO ${BASE}/checksums.sha256
    sha256sum -c checksums.sha256 --ignore-missing
    Sortie attendueetc-collector-3.2.0-linux-amd64.tar.gz: OK
  2. 2

    A2 · Installer le binaire (Linux)

    Extrait l’archive, installe le binaire dans /usr/local/bin, puis vérifie la version installée.

    bash
    tar -xzf etc-collector-${VERSION}-linux-amd64.tar.gz
    sudo install -m 0755 etc-collector-${VERSION}-linux-amd64/etc-collector /usr/local/bin/etc-collector
    etc-collector --version
    Sortie attendueetc-collector version 3.2.0
  3. 3

    A3 · Installer le service (Linux)

    Crée la configuration dans /etc/etc-collector, installe le service systemd, puis affiche le jeton GUI une seule fois (au format etcsec_gt_...) : sauvegardez-le immédiatement, c’est lui que n8n utilisera pour s’authentifier.

    En cas de perte, régénérez-le avec sudo etc-collector gui-token reset, puis redémarrez le service : il ne relit pas le jeton à chaud.

    bash
    sudo etc-collector install --mode server
  4. 4

    A4 · Ouvrir l’accès réseau et brancher l’Active Directory (Linux)

    Écrivez ce fichier dans /etc/etc-collector/config.yaml pour écouter au-delà de la boucle locale et déclarer le compte de service qui interrogera l’annuaire : un compte en lecture seule suffit. Redémarrez ensuite le service.

    Dès que le serveur écoute hors loopback sans certificat fourni, il génère un certificat auto-signé et bascule en HTTPS : c’est prévu, et c’est pourquoi le nœud n8n coche « Ignore SSL issues ». En labo, ldap://YOUR-DC:389 fonctionne aussi.

    bash
    server:
      host: "0.0.0.0"
      port: 8443
    ldap:
      url: "ldaps://YOUR-DC:636"
      bindDN: "[email protected]"
      bindPassword: "${LDAP_BIND_PASSWORD}"
      baseDN: "DC=example,DC=com"
    
    # puis :
    sudo systemctl restart etcsec-collector
  5. 5

    A5 · Vérifier (Linux)

    Interroge l’endpoint /health du collecteur pour confirmer qu’il répond.

    bash
    curl -sk https://YOUR-COLLECTOR-HOST:8443/health
    Sortie attenduestatus: ok, edition: pro, version: 3.2.0

Brancher n8n

Une fois le collecteur installé (Linux ou Windows), ces trois étapes le branchent à n8n.

  1. 1

    C1 · Importer le workflow dans n8n

    Téléchargez le fichier JSON du workflow ci-dessus et importez-le dans votre instance n8n, ou copiez le JSON avec le bouton ci-dessus et collez-le directement dans le canevas (Ctrl+V ou Cmd+V), sans passer par un fichier.

    n8n → Workflows → Import from File → n8n-audit-ad-etc-collector.json
  2. 2

    C2 · Créer la credential Header Auth

    Créez une credential n8n de type Header Auth avec l’en-tête X-GUI-Token, dont la valeur est le jeton GUI généré à l’étape A3 (ou B3 sous Windows).

    Remplacez YOUR-COLLECTOR-HOST par l’adresse réelle de votre collecteur dans les deux nœuds HTTP du workflow, et pointez le nœud Gmail vers votre propre adresse de notification.

    Header Auth
      Name:  X-GUI-Token
      Value: <jeton GUI de l’étape A3>
    
    URL du collecteur : https://YOUR-COLLECTOR-HOST:8443
  3. 3

    C3 · Activer le déclencheur

    Activez le workflow dans n8n : le webhook rend le rapport directement dans le navigateur, et le cron du lundi l’envoie par courriel via le nœud Gmail.

Rapport de démonstration

Un rapport noté, pas une pile de logs

Chaque exécution produit une note globale de A à E, pensée pour être lue depuis l’objet du courriel avant même d’ouvrir le rapport.

Extrait du rapport HTML généré : note B, score 72,4, 15 critiques, 22 élevées
Rapport de démonstration généré sur le domaine de laboratoire.
Note
B
Score
72,4
Critiques
15
Élevées
22
Domaine
domaine de laboratoire
À propos d’ETC Collector

Un auditeur Go, un seul binaire, une seule édition

ETC Collector exécute plus de 500 contrôles de sécurité sur Active Directory et Microsoft Entra ID, mappés sur 9 référentiels de conformité : ANSSI, CIS, NIST 800-53, DISA STIG, HDS, NIS2 FR, RGPD, et deux guides ANSSI.

Cette version supprime le clivage Community et Pro des éditions précédentes : il n’y a plus qu’une seule édition, le même binaire pour tout le monde.

500+
contrôles de sécurité
9
référentiels de conformité
6
plateformes supportées
FSL-1.1-ALv2 : usage libre, y compris en entreprise, avec une seule restriction (ne pas l’utiliser pour bâtir un service concurrent). Chaque version bascule automatiquement sous Apache 2.0 deux ans après sa publication.

Ce qu’on ne cache pas

  • Cette version est publiée sans signature : vérifiez la provenance du binaire avant tout déploiement en production.
  • Dans certains modes, la sortie du collecteur mêle logs et JSON sur la sortie standard. C’est un défaut connu et déjà tracé.