Anubis: Il Guardiano che Blocca i Bot AI e Protegge i Tuoi Server dal Caos
I sysadmin devono spesso affrontare attacchi che prosciugano risorse server, aumentano i costi di hosting e compromettono la privacy dei dati in un mondo digitale sempre più invaso da bot automatizzati e scrapers AI. Una soluzione innovativa e potente è Anubis, un’utility open-source ispirata al dio egizio che “pesa le anime”: un reverse-proxy basato su Proof-of-Work (PoW) che filtra le connessioni entranti senza utilizzare CAPTCHA intrusivi.
Ad oggi, Anubis è stato adottato da gruppi come GNOME, FFmpeg e UNESCO. È leggero e protegge la privacy. Questo articolo esplorerà alcuni dettagli tecnici di Anubis, dall’architettura all’installazione, per aiutarti a integrarlo nelle tue infrastrutture e proteggere i tuoi ambienti web da attacchi DDoS e scraping non autorizzato.
Cos’è Anubis e Perché Dovresti Considerarlo? Link to heading
Anubis è un’utility Web AI Firewall open-source che ha lo scopo di proteggere siti web, API e servizi self-hosted dai bot e dai scrapers AI. Anubis funziona come un reverse-proxy che “pesa il rischio” di ogni richiesta HTTP in entrata. Ciò lo distingue dai tradizionali sistemi di difesa, che spesso si basano su blacklist IP o CAPTCHA visivi facilmente aggirabili da intelligenza artificiale avanzata. Identifica e blocca i bot prima che possano consumare risorse più avanti utilizzando una combinazione di euristica e sfide PoW.
Il programma è particolarmente utile in situazioni in cui gli scrapers generano un gran numero di traffico e ignorano robots.txt e fingono User-Agent legittimi. Questi scenari includono i crawler di OpenAI o Perplexity AI, che rappresentano oltre il 50% delle visite automatizzate su molti siti. Anubis ha dimostrato di ridurre downtime e costi bloccando il 90% del traffico indesiderato in casi reali, come nelle librerie della Duke University, dal suo lancio nel 2025.
Perché considerarlo? È leggero, non richiede interazioni utente visibili e mantiene la privacy senza tracciare i dati. Per gli amministratori di sistema, significa meno spese di gestione e una difesa scalabile contro le nuove minacce AI.
Come Funziona Tecnicamente Anubis Link to heading
Anubis funge da ponte tra il tuo reverse-proxy esterno, come Nginx o Caddy, e il tuo servizio target. Il flusso di lavoro principale è questo:
- Prima valutazione con euristiche: Ogni richiesta HTTP viene esaminata utilizzando metadati come User-Agent, headers (come Accept-Encoding, Sec-Ch-Ua), IP address e pattern di comportamento. Anubis classifica le richieste utilizzando regole personalizzabili: accettare (passare direttamente), bloccare (bloccare) o sfidare (challenge PoW).
- Challenge Proof-of-Work (PoW): Anubis invia una pagina HTML contenente JavaScript nel caso in cui la richiesta sia sospetta. Il browser deve eseguire un puzzle basato su SHA256: hashare una challenge (derivato da richieste di metadata e nonce) fino a ottenere un hash con un numero predefinito di zeri iniziali. Questo si verifica in un Web Worker per evitare di bloccare l’interfaccia utente, e su un browser moderno richiede solo millisecondi.
- Token e verifiche: Il client invia la soluzione al server dopo aver risolto. Anubis valida e crea un JWT firmato (che è la chiave che è stata creata all’inizio) che viene salvato in un cookie valido per una settimana. Le richieste successive che contengono un cookie valido vengono soddisfatte; altrimenti verrà effettuata una nuova challenge. Per evitare abusi, il server può rivalidare randomicamente.
Anubis è efficace perché molti bot non eseguono JavaScript o non supportano funzionalità moderne come i moduli ES6 e l’API Web Crypto, e quindi non riescono a superare la verifica. Non utilizza database di reputazione, tutto è gestito localmente e si concentra sulla privacy.
Installazione e Configurazione Passo per Passo Link to heading
Anubis è pensato per essere inserito tra il tuo reverse-proxy (come Nginx o Caddy) e il tuo servizio di destinazione; è facile da deployare, con opzioni per ambienti containerizzati o bare-metal.
I primi passi per configurare una versione basilare dello stack sopra descritto sono:
-
Configurare il proprio sito web
-
Configurare Anubis facendolo puntare al proprio sito. Che si stia usando l’installazione tramite docker o pacchetto nativo l’unica variabile fondamentale è:
TARGET="http://localhost:3000"
È possibile consulatare la lista delle variabili d’ambiente per personalizzare Anubis
- Configurare il Reverse Proxy in modalità proxy pass
server {
listen 80;
location / {
proxy_pass http://anubis:8923;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Ho già predisposto una configurazione basilare in un mio repository GitHub, costruita interamente con Docker per consentire esecuzioni di test rapide e ripetibili.
Prossimi passi:
- Inizia con difficoltà bassa; monitora log.
- Crea una Allowlist contenente i bot utili (eg. Googlebot).
- Integra con alerting (Prometheus + Grafana).
- Testa in staging e aggiorna regolarmente per evitare blocchi legittimi.
Casi d’Uso e Integrazioni Link to heading
- Protezione API e Siti Statici: Blocca scrapers su Forgejo/Gitea, bloccando 78.000+ richieste al giorno.
- Difesa da AI Training: Organizzazioni come UNESCO usano Anubis per prevenire furto di dati per modelli AI.
- Integrazione con Load Balancer: Posizionalo dietro GCP LB o AWS ALB per layer extra.
- Confronti: reCAPTCHA (ha modelli a pagamento, meno privacy), hCaptcha (invasivo se si usa una VPN); Anubis è gratis, open-source e self-hosted.
- Honeypots per Tuning: Usa server esca per loggare scrapers e aggiornare policies, come con DuckDB per query SQL su pattern (es. User-Agent senza Sec-Ch-Ua).
Vantaggi e Limiti Link to heading
Vantaggi:
- Efficace contro AI (blocca 90% bot senza JS).
- Scalabile, basso overhead.
- Open-source, community-driven.
- Riduce costi: Meno bandwidth, no outage.
Limiti:
- Dipende da JS: Blocca utenti no-JS o text-browser.
- Default paranoid: Blocca good bots; necessita tuning.
- Non supporta WebSockets.
- PoW costoso per bot a scala, ma overhead minimo per umani (100-500ms).
Conclusione Link to heading
Anubis segna un cambiamento nella difesa web, trasformando la lotta contro i bot AI in una strategia intelligente e proattiva. È uno strumento essenziale per gli admin per mantenere server e dati sicuri senza compromettere l’esperienza utente. Anubis è uno strumento essenziale per proteggere la tua infrastruttura in un futuro in cui lo scraping AI diventerà ancora più aggressivo.