CrowdSec
Plugin CrowdSec non ufficiale, senza alcun legame con CrowdSec: avvisi, ban e minacce principali della tua Local API nell'amministrazione di EmDash.
Estensione
CrowdSec
Plugin CrowdSec non ufficiale, senza alcun legame con CrowdSec: avvisi, ban e minacce principali della tua Local API nell'amministrazione di EmDash.
Descrizione
Plugin non ufficiale. Non è affiliato a CrowdSec né approvato o supportato da CrowdSec.
CrowdSec nell’amministrazione di EmDash, letto dalla tua Local API di CrowdSec con un accesso macchina dedicato.
Nella dashboard: una scheda CrowdSec con gli avvisi delle ultime 24 ore confrontati con le 24 precedenti, i ban attualmente in vigore, gli avvisi per tipo (WAF, sfida anti-bot, comportamento) e gli scenari principali.
Pagina CrowdSec: 7, 30 o 90 giorni di avvisi per tipo e di ban emessi al giorno, con gli scenari principali, gli indirizzi di origine, i paesi, le organizzazioni AS e i percorsi presi di mira.
Avvisi: un explorer degli avvisi archiviati. Intervalli da un’ora fino a tutto lo storico conservato o dall’ultima visita, schede per tipo, due ripartizioni con istogrammi, filtri per intervallo di indirizzi, paese, scenario, comportamento, rete, percorso o motore, avvisi raggruppati per indirizzo e il dettaglio in tempo reale di ogni avviso.
Decisioni: le decisioni che LAPI sta applicando in questo momento, lette in tempo reale e ordinate per scadenza.
Grafici del traffico: il traffico dannoso scartato dal bouncer del firewall, suddiviso tra lista di blocco della community, rilevamenti propri e ban manuali, la sua quota sul traffico totale, le richieste web ispezionate e bloccate, la sfida anti-bot e i ban attivi per origine. Dalle metriche del tuo motore e del tuo bouncer, mai dal cloud di CrowdSec.
Strumenti MCP: un riepilogo, le minacce principali, un explorer degli avvisi, il traffico, le decisioni attive e gli avvisi di un indirizzo, più tre che apportano modifiche.
Modifiche facoltative: con Consenti modifiche attivo, gli amministratori possono bannare un indirizzo o un intervallo per un periodo stabilito, rimuovere una decisione ed eliminare vecchi avvisi. Un ban non copre mai il tuo indirizzo, quello del sito, quello dell’host LAPI, i tuoi indirizzi protetti, lo spazio privato né un indirizzo presente in una lista di autorizzazione.
I giorni seguono il tuo fuso orario. Serve un LAPI di CrowdSec raggiungibile dal sito.
Installazione
Ti servono CrowdSec 1.7 o successivo con la sua Local API su un nome host HTTPS pubblico (EmDash rifiuta gli indirizzi privati) e EMDASH_ENCRYPTION_KEY impostata sul sito (npx emdash secrets generate ne crea una).
- Sull’host CrowdSec crea una macchina per il plugin:
sudo cscli machines add emdash-crowdsec --auto -f /root/emdash-crowdsec.yaml. Il file contiene il suo ID e la sua password. - Pubblica LAPI dietro un reverse proxy che ammetta solo l’indirizzo del server EmDash e solo queste rotte:
POST /v1/watchers/login,GET /v1/alerts,GET /v1/alerts/. Per le modifiche aggiungi anchePOST /v1/alerts,DELETE /v1/alerts/,DELETE /v1/decisions/ePOST /v1/allowlists/check. Non ammettere maiDELETE /v1/decisionssenza id. Escludi il percorso da qualsiasi sfida anti-bot. Il README contiene esempi nginx e Traefik per un singolo host. - Installa il plugin dal registro. La sua unica autorizzazione è l’accesso alla rete: verso l’URL del tuo LAPI e, finché le modifiche sono attive, verso
cloudflare-dns.com. - In Plugins apri le impostazioni del plugin: inserisci l’URL di LAPI (senza
/v1), l’ID e la password della macchina e il tuo fuso orario. Salva. - Apri Plugins, CrowdSec e seleziona Check setup. Correggi tutto ciò che segnala.
- Per consentire ban e rimozioni dei ban, attiva Consenti modifiche e aggiungi gli indirizzi del tuo server e di casa a Indirizzi protetti.
Su Cloudflare Workers la sincronizzazione richiede il trigger Cron descritto nella guida alla distribuzione di EmDash. Per usare gli strumenti MCP, attiva l’accesso Agent per il plugin in Plugins.
FAQ
Il plugin rende pubblico il mio LAPI di CrowdSec?
No. EmDash consente a un plugin di chiamare solo nomi host HTTPS pubblici, quindi LAPI viene raggiunto tramite un percorso su uno di essi, ma il proxy davanti ammette solo l’indirizzo del tuo server EmDash e solo le rotte usate dal plugin. Tutti gli altri ricevono un 403, e ogni richiesta richiede anche l’accesso macchina del plugin. LAPI stesso resta in ascolto su 127.0.0.1. Il README mostra la configurazione.
L’accesso fallisce con «incorrect Username or Password», ma la password è corretta.
LAPI rifiuta uno User-Agent che non abbia la forma name/version. Succede se un proxy sostituisce quello del plugin.
Il controllo della configurazione dice che una rotta è stata rifiutata (403). Il tuo proxy non la ammette per il server EmDash. Aggiungila come mostra il README.
Perché i numeri dei primi giorni sono bassi? Lo storico viene letto partendo dal più recente, una finestra alla volta. La pagina lo indica finché è ancora in lettura.
Perché l’elenco delle decisioni è più corto di cscli decisions list?
Elenca le tue decisioni. La lista di blocco della community e le altre liste ne contengono migliaia in più, mostrate come un unico totale sopra l’elenco.
Perché le classifiche sono approssimative? Ogni giorno conserva solo i suoi 25 valori più frequenti, quindi quelli rari sono sottostimati.
Dove sono i badge di reputazione? Il plugin non interroga mai il cloud di CrowdSec. L’explorer mostra indicazioni locali: Banned now e Seen before.
Il mio LAPI raccoglie avvisi da più host. Ogni avviso conserva il motore che lo ha generato. Assegna loro un nome nell’impostazione Engine names.
Perché non posso eliminare questo avviso? Eliminarlo cancellerebbe le sue decisioni senza che i bouncer lo sappiano. Rimuovi la decisione ed elimina l’avviso due minuti dopo.
Perché il mio ban è stato rifiutato? Il messaggio indica la regola. Il README le elenca tutte.
Da dove arrivano i grafici del traffico? Dalle metriche del tuo motore e del tuo bouncer del firewall, mai dal cloud di CrowdSec. Imposta i loro URL nelle impostazioni.
In quale fuso orario sono i giorni?
In quello dell’impostazione Time zone, Australia/Sydney se non lo cambi. Un nome sconosciuto mette in pausa la sincronizzazione e lo storico viene mantenuto.
Sicurezza
Segnala un problema di sicurezza in privato tramite il modulo di avviso di sicurezza del repository: https://github.com/shanelord01/emdash-crowdsec/security/advisories/new
A cosa può accedere il plugin
Solo a richieste di rete, verso due destinazioni: l’URL di LAPI che inserisci e, finché Consenti modifiche è attivo, cloudflare-dns.com per cercare gli indirizzi del sito e dell’host LAPI. Non ha alcun accesso a contenuti, utenti o media. Usa solo le rotte LAPI elencate nel README, mai DELETE /v1/decisions con un filtro, mai l’eliminazione in blocco degli avvisi, e non segue i reindirizzamenti, quindi la password non viene mai inviata a un altro host. HTTP in chiaro e URL con credenziali sono rifiutati.
Credenziali
La password della macchina è archiviata cifrata con EMDASH_ENCRYPTION_KEY. Il token LAPI non viene mai archiviato: ogni esecuzione effettua l’accesso e lo tiene in memoria. Dai al plugin una macchina dedicata e pubblica LAPI in modo che passino solo il server EmDash e solo le rotte del plugin.
Chi può fare cosa
Editor e amministratori vedono la scheda, le pagine e gli strumenti di lettura. Solo gli amministratori possono modificare qualcosa, e solo con Consenti modifiche attivo. Nelle pagine il plugin verifica il ruolo da sé. Le rotte degli strumenti di scrittura sono limitate agli amministratori da EmDash.
Protezioni dei ban
Un ban viene rifiutato, con il nome della regola, quando copre l’indirizzo di chi lo richiede (per uno strumento MCP, l’uscita del client), gli indirizzi del sito o dell’host LAPI, una voce di Indirizzi protetti, lo spazio privato, loopback, link-local, CGNAT (incluso il 100.64.0.0/10 di Tailscale), multicast o riservato, un intervallo più ampio di /16 o /48, oppure una voce della lista di autorizzazione di CrowdSec, verificata per prima perché LAPI la ignora per i ban manuali. Un IPv6 che trasporta IPv4 viene valutato in base a quell’indirizzo IPv4, e Teredo è rifiutato. Una voce protetta errata fa rifiutare qualsiasi modifica.
Eliminazione degli avvisi
Un avviso viene eliminato solo quando le sue decisioni sono terminate da più di due minuti, perché eliminarlo rimuove le sue decisioni senza che i bouncer lo sappiano.
Registro delle modifiche
0.1.3
- Le pagine sono raggruppate in un’unica cartella CrowdSec nella barra laterale (Overview, Alerts, Decisions) su EmDash 1.2 e successivi. I loro indirizzi non cambiano, e le versioni più vecchie di EmDash le elencano singolarmente.
- I ban attivi per origine richiedono il
level: fulldi Prometheus del motore. La sezione Metrics del README lo spiega. - Nessuna nuova autorizzazione e nessuna modifica agli strumenti MCP.
0.1.2
- I filtri dell’explorer degli avvisi stanno su una sola riga e si applicano appena li scegli.
0.1.1
- La pagina degli avvisi di CrowdSec diventa un explorer: intervalli da un’ora fino a tutto lo storico o dall’ultima visita, schede per tipo, due ripartizioni commutabili con istogrammi, filtri a chip, avvisi raggruppati per indirizzo con una vista per ciascun indirizzo e il dettaglio in tempo reale di ogni avviso, e indicazioni Banned now e Seen before.
- Motori: ogni avviso conserva l’agente CrowdSec che lo ha generato, come ripartizione e filtro, più una colonna e un grafico quando ce n’è più di uno, con i nomi definiti nell’impostazione Engine names.
- Un nuovo strumento MCP,
alerts_explorer. EmDash richiede di nuovo l’accesso Agent all’aggiornamento. - Gli avvisi archiviati passano a un registro di avvisi compatto durante le prime sincronizzazioni.
- Dati demo rimossi: il plugin richiede un LAPI raggiungibile. Un’installazione che li usava chiede le impostazioni di LAPI ed elimina le sue righe demo una volta impostate.
- Durate più brevi, tabelle più strette, una pagina di 90 giorni con barre di tre giorni e un campionatore di metriche che segue le sue impostazioni senza visitare la dashboard.
0.1.0
Prima versione: la scheda della dashboard, la pagina CrowdSec, le pagine di avvisi e decisioni, un controllo della configurazione, i grafici del traffico, otto strumenti MCP e, per gli amministratori, ban, rimozioni dei ban ed eliminazione degli avvisi facoltativi, con protezioni per i tuoi indirizzi.
Storico completo: CHANGELOG.md.