Canvas del workflow n8n: avvio, autenticazione, audit via API, aggregazione, impaginazione HTML, invio
Il workflow completo in n8n, dall’avvio all’invio del report.
Workflow n8n × ETC Collector

Automatizzate l’audit Active Directory con n8n e ETC Collector

ETC Collector è un auditor di sicurezza per Active Directory e Microsoft Entra ID scritto in Go: un unico binario statico, senza agente, senza dipendenze, né .NET né Python. Esegue oltre 500 controlli di sicurezza mappati su 9 framework di conformità.

Questo workflow n8n avvia l’audit tramite API, aggrega i risultati, impagina un report HTML valutato da A a E e lo invia via email. L’oggetto del messaggio porta il voto e il numero di criticità: si smista senza aprire.

Il valore non è il singolo report ma la sua ripetizione: il cron del lunedì confronta una settimana con l’altra e fa emergere le derive. Non è un report in più.

Disclosure: i numeri del report qui sopra provengono da un audit reale eseguito su un dominio di laboratorio del team EtcSec, non su un cliente.
Come funziona

Sei passaggi, un report valutato e consegnato

Ogni esecuzione segue la stessa catena, che l’avvio sia manuale o pianificato. Nulla è lasciato all’interpretazione tra l’audit e l’email ricevuta.

1

Avvio

Un webhook HTTP o un cron settimanale avvia il workflow, a scelta.

2

Autenticazione

n8n si autentica presso il collector con un token header dedicato (X-GUI-Token).

3

Audit via API

Il workflow chiama l’API del collector per avviare l’audit Active Directory e Microsoft Entra ID.

4

Aggregazione

n8n aggrega i risultati grezzi restituiti dal collector.

5

Impaginazione HTML

Il report viene impaginato in HTML, con un voto complessivo da A a E.

6

Risposta e invio

Il workflow risponde alla chiamata web e invia il report via email; l’oggetto porta il voto e il numero di criticità.

Installazione

Installare il collector e collegare n8n, passo dopo passo

La guida si articola in tre parti: A installa il collector su Linux (consigliato), B copre l’alternativa Windows, C collega il risultato a n8n.

Il codice sorgente è pubblicato su GitHub (link a fondo pagina), release v3.2.0. Ogni comando qui sotto è stato verificato su una macchina pulita: Ubuntu 22.04 per Linux, Windows Server 2022 per Windows.

  • Un server Linux amd64 o un Windows Server.
  • Un account di servizio Active Directory in sola lettura.
  • Un’istanza n8n in grado di raggiungere il collector.
  1. 1

    A1 · Scaricare e verificare (Linux)

    Scarica l’archivio Linux e il file delle somme di controllo, poi verifica l’integrità dell’archivio con 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
    Output attesoetc-collector-3.2.0-linux-amd64.tar.gz: OK
  2. 2

    A2 · Installare il binario (Linux)

    Estrae l’archivio, installa il binario in /usr/local/bin, poi verifica la versione installata.

    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
    Output attesoetc-collector version 3.2.0
  3. 3

    A3 · Installare il servizio (Linux)

    Crea la configurazione in /etc/etc-collector, installa il servizio systemd, poi mostra il token GUI una sola volta (formato etcsec_gt_...): salvatelo subito, è quello che userà n8n per autenticarsi.

    In caso di perdita, rigeneratelo con sudo etc-collector gui-token reset e riavviate il servizio: non rilegge il token a caldo.

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

    A4 · Aprire l’accesso di rete e collegare Active Directory (Linux)

    Scrivete questo file in /etc/etc-collector/config.yaml per restare in ascolto oltre il loopback e dichiarare l’account di servizio che interrogherà la directory: basta un account in sola lettura. Riavviate poi il servizio.

    Non appena il server resta in ascolto fuori dal loopback senza un certificato fornito, genera un certificato autofirmato e passa a HTTPS: è previsto, ed è per questo che il nodo n8n spunta « Ignore SSL issues ». In laboratorio funziona anche ldap://YOUR-DC:389.

    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"
    
    # poi:
    sudo systemctl restart etcsec-collector
  5. 5

    A5 · Verificare (Linux)

    Interroga l’endpoint /health del collector per confermare che risponda.

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

Collegare n8n

Una volta installato il collector (Linux o Windows), questi tre passaggi lo collegano a n8n.

  1. 1

    C1 · Importare il workflow in n8n

    Scaricate il file JSON del workflow indicato sopra e importatelo nella vostra istanza n8n, oppure copiate il JSON con il pulsante qui sopra e incollatelo direttamente nel canvas (Ctrl+V o Cmd+V), senza passare da un file.

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

    C2 · Creare la credential Header Auth

    Create una credential n8n di tipo Header Auth con l’header X-GUI-Token, il cui valore è il token GUI generato al passaggio A3 (o B3 su Windows).

    Sostituite YOUR-COLLECTOR-HOST con l’indirizzo reale del vostro collector nei due nodi HTTP del workflow, e puntate il nodo Gmail al vostro indirizzo di notifica.

    Header Auth
      Name:  X-GUI-Token
      Value: <token GUI del passaggio A3>
    
    URL del collector: https://YOUR-COLLECTOR-HOST:8443
  3. 3

    C3 · Attivare il trigger

    Attivate il workflow in n8n: il webhook mostra il report direttamente nel browser, e il cron del lunedì lo invia via email tramite il nodo Gmail.

Report dimostrativo

Un report valutato, non una pila di log

Ogni esecuzione produce un voto complessivo da A a E, pensato per essere letto dall’oggetto dell’email ancora prima di aprire il report.

Estratto del report HTML generato: voto B, punteggio 72,4, 15 criticità, 22 alte
Report dimostrativo generato sul dominio di laboratorio.
Voto
B
Punteggio
72,4
Criticità
15
Alte
22
Dominio
dominio di laboratorio
Su ETC Collector

Un auditor Go, un solo binario, un’unica edizione

ETC Collector esegue oltre 500 controlli di sicurezza su Active Directory e Microsoft Entra ID, mappati su 9 framework di conformità: ANSSI, CIS, NIST 800-53, DISA STIG, HDS, NIS2 FR, RGPD e due guide ANSSI dedicate.

Questa release elimina la separazione Community e Pro delle edizioni precedenti: esiste ora un’unica edizione, lo stesso binario per tutti.

500+
controlli di sicurezza
9
framework di conformità
6
piattaforme supportate
FSL-1.1-ALv2: uso libero, aziende incluse, con un’unica restrizione (non usarlo per costruire un servizio concorrente). Ogni versione passa automaticamente ad Apache 2.0 due anni dopo la pubblicazione.

Quello che non nascondiamo

  • Questa release è pubblicata senza firma: verificate la provenienza del binario prima di ogni deployment in produzione.
  • In alcune modalità, l’output del collector mescola log e JSON sullo standard output. È un difetto noto e già tracciato.