Skip to Content

Configurazione della Protezione dalle Minacce

Auris fornisce tre livelli di protezione configurabili che lavorano insieme nella pipeline di sicurezza del login: regole IP (blocco a livello di rete), rilevamento login sospetti (analisi comportamentale) e CAPTCHA (mitigazione bot). Ogni livello opera indipendentemente e può essere configurato per soddisfare i tuoi requisiti di sicurezza.

Questa guida illustra la configurazione pratica di ogni livello e spiega come si inseriscono nella pipeline di login completa.


Panoramica dei Livelli di Protezione

LivelloCosa faDove viene eseguitoImpatto sulla latenza
Liste di IP Consentiti/BloccatiBlocca o consente richieste in base all’IP/range CIDR sorgentePrima dell’autenticazioneTrascurabile (corrispondenza CIDR in memoria)
CAPTCHASfida bot e script automatizzatiPrima dell’autenticazione100-500ms (API di verifica esterna)
Rilevamento Login SospettiRileva comportamenti di login anomali (nuovo dispositivo, viaggio impossibile, VPN)Dopo l’autenticazione50-300ms (lookup GeoIP)

Tutti e tre i livelli non sono bloccanti l’uno per l’altro — configurare uno non influisce sugli altri.


Liste di IP Consentiti/Bloccati

Le regole IP usano la notazione CIDR per controllare quali indirizzi IP possono accedere agli endpoint di autenticazione del tuo tenant.

Tipi di Regola e Precedenza

Tipo di regolaComportamento
BLOCKRifiuta immediatamente le richieste dagli IP corrispondenti con HTTP 403
ALLOWConsenti esplicitamente il traffico dagli IP corrispondenti

Precedenza: Le regole BLOCK hanno sempre la precedenza sulle regole ALLOW nello stesso scope. Se un IP corrisponde sia a una regola BLOCK che a una ALLOW, viene bloccato.

Scope

Le regole possono essere scoped a due livelli:

  • Scope tenant (scope: TENANT) — si applica a tutte le applicazioni nel tenant
  • Scope applicazione (scope: APPLICATION) — si applica solo a un’applicazione specifica

Le regole con scope applicazione vengono valutate dopo le regole con scope tenant. Un BLOCK a livello tenant non può essere sovrascritto da un ALLOW a livello applicazione.

Configurazione delle Regole IP

Nella Console Auris, vai su Impostazioni → Regole IP.

Crea una Regola di Blocco

Clicca Aggiungi Regola e configura:

{ "cidr": "203.0.113.0/24", "type": "BLOCK", "scope": "TENANT", "label": "Sorgente di attacco nota", "note": "Bloccato dopo attacco credential stuffing il 01/06/2025" }

Crea un Blocco Temporaneo

Per blocchi a tempo limitato (es. durante un attacco attivo), abilita il flag temporaneo:

{ "cidr": "198.51.100.42/32", "type": "BLOCK", "scope": "TENANT", "label": "Blocco temporaneo - attacco attivo", "isTemporary": true, "expiresAt": "2025-07-01T00:00:00Z" }

Le regole temporanee vengono automaticamente disattivate dopo il tempo di scadenza.

Crea una Lista Consentiti per l’Ufficio

Se vuoi assicurarti che i tuoi IP aziendali siano sempre autorizzati (anche durante blocchi ampi):

{ "cidr": "10.0.0.0/8", "type": "ALLOW", "scope": "TENANT", "label": "Rete aziendale" }

Gestione Programmatica

Le regole IP possono essere gestite tramite API per una risposta automatizzata agli incidenti:

// Blocca un range di IP programmaticamente dopo aver rilevato un attacco await fetch('https://auth.tuodominio.com/api/ip-rules', { method: 'POST', headers: { 'Authorization': `Bearer ${adminToken}`, 'Content-Type': 'application/json', 'x-tenant': 'il-tuo-tenant', }, body: JSON.stringify({ cidr: '192.0.2.0/24', type: 'BLOCK', scope: 'TENANT', label: 'Blocco automatico - rate limit superato', isTemporary: true, expiresAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(), }), })

Riferimento rapido CIDR

NotazioneIndirizziEsempio
/321 (IP singolo)203.0.113.42/32
/24256203.0.113.0/24
/1665.536203.0.0.0/16
/816.777.21610.0.0.0/8

Rilevamento Login Sospetti

Dopo che le credenziali dell’utente sono verificate, Auris analizza il contesto del login per anomalie comportamentali usando cinque rilevatori indipendenti.

Metodi di Rilevamento

1. Nuovo Dispositivo

Un fingerprint hash viene calcolato da user agent del browser, risoluzione dello schermo e altri segnali stabili. I dispositivi alla prima visita vengono segnalati. Il fingerprint viene registrato dopo il login riuscito per il confronto futuro.

2. Nuovo Indirizzo IP

Auris traccia gli indirizzi IP da cui un utente ha precedentemente eseguito il login. Un login da un IP non visto per questo account attiva il rilevatore.

3. Nuovo Paese

La ricerca GeoIP determina il paese dell’IP di login. Un paese non visto in precedenza nella cronologia dei login dell’utente attiva il rilevatore.

4. Viaggio Impossibile

La distanza geografica tra il login corrente e quello più recente viene divisa per il tempo trascorso per calcolare la velocità di viaggio implicita. Se la velocità supera la soglia configurata (default: 800 km/h), il login viene segnalato come viaggio impossibile.

5. VPN / Proxy / Datacenter

I metadati GeoIP identificano gli IP appartenenti a provider VPN noti, proxy o datacenter cloud. Questi vengono segnalati di default ma possono essere consentiti per le organizzazioni i cui utenti usano comunemente VPN.

Configurazione delle Azioni

Ogni rilevatore può essere configurato indipendentemente con una di quattro azioni:

AzioneEffetto
logRegistra l’evento solo nei log di audit. Nessun impatto sull’utente.
notifyInvia un’email di notifica all’utente. Il login procede.
blockRifiuta completamente il login. L’utente deve contattare un amministratore.
require_mfaConsenti il login ma forza il completamento MFA, anche se l’MFA non è normalmente richiesta per questo utente.

Configura tramite Console → Impostazioni → Rilevamento Login Sospetti:

RilevatoreAzione consigliataNote
Nuovo dispositivonotifyAvvisa l’utente, ma non bloccare — i nuovi dispositivi sono comuni
Nuovo IPlogLa maggior parte degli utenti ha IP dinamici. Il blocco sarebbe troppo aggressivo.
Nuovo paeserequire_mfaSegnale forte di compromissione. Forza la verifica MFA.
Viaggio impossibileblockSegnale molto forte. Blocca e avvisa.
VPN/proxylogDipende dalla tua base utenti. Blocca se l’uso di VPN non è previsto.

Provider GeoIP

ProviderConfigurazioneLatenzaPrivacy
ip-api.com (default)Nessuna configurazione richiesta50-200ms per login (chiamata API esterna)IP inviati a servizio di terze parti
MaxMind GeoLite2GEO_IP_PROVIDER=maxmind, MAXMIND_DB_PATH=/percorso/al/db<1ms (lookup su file locale)Nessuna chiamata esterna

Per deployment in produzione con alto volume di login, usa il database locale MaxMind per evitare i rate limit sul livello gratuito di ip-api.com e per eliminare la dipendenza da API esterne. Un account MaxMind gratuito è necessario per scaricare il database GeoLite2.

Revisione degli eventi

Gli eventi di login sospetti sono visibili in Console → Impostazioni → Rilevamento Login Sospetti → Eventi. Ogni evento mostra:

  • Email e ID utente
  • Motivo del rilevamento (nuovo dispositivo, viaggio impossibile, ecc.)
  • Gravità (bassa, media, alta)
  • Azione intrapresa (registrato, notificato, bloccato, MFA richiesta)
  • Indirizzo IP, paese e informazioni sul dispositivo
  • Timestamp

Gli amministratori possono contrassegnare gli eventi come revisionati per tracciare lo stato dell’indagine.


CAPTCHA

Il CAPTCHA protegge le pagine di login, signup e reset password dai bot automatizzati. Auris supporta tre provider e tre modalità di attivazione.

Provider Supportati

ProviderTipoConfigurazione
Cloudflare TurnstileProof-of-work, nessuna sfida con immaginidash.cloudflare.com  → Turnstile → Aggiungi sito
hCaptchaSfide basate su immaginidashboard.hcaptcha.com 
reCAPTCHA v3Basato su punteggio, invisibilewww.google.com/recaptcha 

Cloudflare Turnstile è consigliato per la maggior parte dei deployment. Fornisce una forte protezione dai bot senza sfide con immagini (migliore esperienza utente) e ha un generoso livello gratuito.

Modalità di Attivazione

ModalitàQuando appare il CAPTCHAIdeale per
ALWAYSOgni tentativo di login, signup e reset passwordAmbienti ad alta sicurezza
ON_SUSPICIOUSQuando il punteggio di rischio MFA adattiva supera la soglia configurataSicurezza e UX bilanciate
AFTER_FAILURESDopo N tentativi di login consecutivi falliti dallo stesso IPMinimo attrito per utenti legittimi

Passi di Configurazione

Scegli un provider

Seleziona il tuo provider CAPTCHA in Console → Impostazioni → CAPTCHA.

Configura le chiavi

Inserisci la Site Key (usata nel browser per mostrare il widget CAPTCHA) e la Secret Key (usata lato server per verificare le risposte) dal dashboard del tuo provider.

Imposta la modalità di attivazione

Scegli quando deve apparire il CAPTCHA:

  • Per AFTER_FAILURES, imposta la soglia di fallimenti (es. 3 fallimenti consecutivi)
  • Per ON_SUSPICIOUS, la soglia è derivata dal punteggio di rischio MFA adattiva

Imposta la soglia del punteggio (solo reCAPTCHA v3)

reCAPTCHA v3 restituisce un punteggio tra 0.0 (probabilmente bot) e 1.0 (probabilmente umano). Imposta la soglia minima del punteggio per superare la verifica (consigliato: 0.5).

Abilita sulle pagine

Attiva/disattiva su quali pagine è richiesto il CAPTCHA:

  • Pagina di login (consigliato)
  • Pagina di signup (consigliato)
  • Pagina di reset password (opzionale)

La verifica CAPTCHA viene eseguita lato server sull’API Auris prima che le credenziali vengano controllate. Anche se un client bypassa il widget CAPTCHA nel browser, la richiesta di login fallirà senza un token di verifica valido dal provider CAPTCHA.


La Pipeline Completa di Sicurezza del Login

Quando un utente tenta di eseguire il login, la richiesta passa attraverso tutti i livelli di protezione in sequenza. Ogni livello può cortocircuitare la pipeline:

Richiesta di login in arrivo | v 1. Controllo IP Allow/Block Regola BLOCK corrisposta? --> HTTP 403, stop | v 2. Verifica CAPTCHA (se configurata) Token non valido o mancante? --> HTTP 400, stop | v 3. Rate Limiting Limite per IP o per utente superato? --> HTTP 429, stop | v 4. Controllo Blocco Brute-Force Account o IP bloccato? --> HTTP 423, stop | v 5. Autenticazione Keycloak Credenziali non valide? --> registra fallimento, HTTP 401, stop | v 6. Analisi Login Sospetti Esegui 5 rilevatori, esegui azioni configurate Azione = block? --> HTTP 403, stop Azione = require_mfa? --> forza step MFA | v 7. Calcolo Punteggio di Rischio MFA Adattiva Punteggio pesato a 5 fattori Punteggio sopra soglia? --> richiedi MFA step-up | v 8. Emissione Token Imposta claim ACR/AMR Restituisce access token + refresh token

I passi 1-4 sono controlli rapidi e sincroni che filtrano il traffico chiaramente malevolo prima di raggiungere i passi di autenticazione e analisi più costosi.


Best Practice per la Produzione

  1. Inizia con il logging: Abilita tutti i rilevatori di login sospetti in modalità log prima. Revisiona gli eventi per una settimana per capire la tua baseline prima di passare a block o require_mfa.

  2. Usa blocchi IP temporanei: Durante un attacco attivo, crea regole BLOCK temporanee con scadenza di 24-48 ore invece di blocchi permanenti. Questo previene blocchi involontari a lungo termine.

  3. Combina CAPTCHA con rate limiting: Usa la modalità di attivazione AFTER_FAILURES in modo che gli utenti legittimi non vedano mai il CAPTCHA, mentre gli attaccanti lo incontrano dopo 3-5 tentativi falliti.

  4. Deploya MaxMind localmente: Per deployment che gestiscono più di 1000 login all’ora, passa da ip-api.com a MaxMind GeoLite2 per evitare i rate limit della API gratuita di ip-api.com e ridurre la latenza.

  5. Monitora la pipeline: Revisiona regolarmente i log di audit per i pattern. Un improvviso picco di rilevamenti impossible_travel o new_country può indicare un attacco credential stuffing.

  6. Combina con MFA: La protezione dalle minacce funziona meglio insieme all’Autenticazione Multi-Fattore. Abilita l’MFA per tutti gli utenti e usa il rilevamento login sospetti per attivare l’autenticazione step-up per i login anomali.


Endpoint API

GET/api/ip-rulesRequires: manage:users

Elenca tutte le regole IP per il tenant. Supporta il filtraggio per tipo, scope e stato attivo.

POST/api/ip-rulesRequires: manage:users

Crea una nuova regola IP di tipo allow o block.

PATCH/api/ip-rules/:idRequires: manage:users

Aggiorna una regola IP esistente (cambia etichetta, estendi la scadenza, attiva/disattiva).

DELETE/api/ip-rules/:idRequires: manage:users

Elimina una regola IP.

GET/api/suspicious-login/eventsRequires: manage:users

Elenca gli eventi di login sospetti. Filtrabile per gravità, motivo, utente e intervallo di date.

PATCH/api/suspicious-login/events/:id/reviewRequires: manage:users

Contrassegna un evento di login sospetto come revisionato.

GET/api/suspicious-login/configRequires: manage:users

Ottieni la configurazione corrente del rilevamento login sospetti.

PATCH/api/suspicious-login/configRequires: manage:users

Aggiorna le impostazioni di rilevamento login sospetti (abilita/disabilita rilevatori, imposta azioni, configura soglie).

GET/api/captcha/configRequires: manage:users

Ottieni la configurazione CAPTCHA corrente.

PATCH/api/captcha/configRequires: manage:users

Aggiorna le impostazioni CAPTCHA (provider, chiavi, modalità di attivazione, soglia del punteggio).


Permessi Richiesti

OperazionePermesso
Gestisci regole IPmanage:users
Visualizza/revisiona eventi login sospettimanage:users
Configura il rilevamento login sospettimanage:users
Configura CAPTCHAmanage:users
Configura impostazioni sicurezza (Console)Solo OWNER o ADMIN del tenant

Guide Correlate