Se da lì non accede nessuno, chiudi.

Geofencing WordPress: bloccare gli accessi per nazione in WordPress

Consenti l'accesso solo dai Paesi e dagli indirizzi da cui lavori davvero. Tutti gli altri non arrivano nemmeno al form: la pagina risponde 404 e non resta niente da attaccare.

Come funziona il blocco geografico

Due elenchi, due modalità

Definisci i Paesi da cui l'accesso è consentito e, separatamente, gli indirizzi IP sempre ammessi a prescindere dal Paese. Un indirizzo in allowlist salta ogni controllo. Le reti private e locali non vengono mai bloccate.

Dove avviene il blocco

  • Modalità pagina: la pagina di accesso viene rifiutata prima ancora che il form venga generato.
  • Modalità autenticazione: il form si vede, le credenziali vengono rifiutate.

La modalità pagina è la più solida delle due, ed è quella da usare a meno che qualcosa sul sito non abbia bisogno che il form di login resti raggiungibile.

Cosa resta raggiungibile

La pagina di login gestisce anche cose che con l'accesso non c'entrano. Articoli protetti da password, disconnessione, conferme delle richieste privacy e conferma dell'email amministratore passano sempre, così bloccare un Paese non esclude il front-end per i suoi visitatori.

Riconoscimento del Paese

  • Deskmode integra il servizio gratuito ip-api.com: non è necessario alcun account o API utente.
  • Risultati in cache per un giorno; i tentativi falliti si riprovano dopo quindici minuti invece di fare richieste continue al servizio.
  • Se attiva l'opzione Cloudflare si riconosce direttamente l'intestazione del Paese, non è necessaria alcuna chiamata esterna.
  • La modalità rigida decide cosa fare quando il Paese non è determinabile: rifiutare, oppure lasciar passare.

Cosa viene registrato

Ogni rifiuto incrementa i contatori che alimentano i grafici in bacheca e il dettaglio per Paese. La riga di log dettagliata e la notifica email sono limitate a una ogni dieci minuti per indirizzo, così un attacco non può saturare il registro.

Bloccare gli accessi per nazione in WordPress comporta dei rischi per il gestore del sito? Esiste sempre una via d'uscita: define('ADMIN3WEBBLUE_DISABLE_LOGIN_GUARD', true); in wp-config.php toglie il blocco se sei in viaggio e sei rimasto fuori. Il tuo IP attuale viene comunque aggiunto alla allowlist al salvataggio delle impostazioni.

Leggi la documentazione

geofencing WordPress: La schermata geofencing di Deskmode, con i Paesi consentiti, la allowlist di IP e i tentativi bloccati per Paese.
Geofencing WordPress: paesi consentiti e blocchi per Paese.

Domande frequenti sul perchè bloccare gli accessi per nazione in WordPress

Geofencing WordPress: le domande più frequenti

Cinque risposte su come funziona il blocco, cosa succede se viaggi e cosa dice il GDPR.

Bloccare gli accessi per nazione in WordPress serve davvero, se usano le VPN?

Sì, e il motivo è statistico più che tecnico. Gli attacchi automatizzati contro wp-login.php arrivano da botnet distribuite che provano migliaia di siti al giorno: non hanno alcun interesse a instradare il traffico attraverso una VPN nel tuo paese per un bersaglio qualsiasi. Il geofencing non ferma un attaccante determinato che ha scelto te, ma toglie di mezzo il rumore di fondo, che è il novanta per cento dei tentativi.

Per questo va inteso come un filtro, non come una difesa unica. Sotto restano l’autenticazione a due fattori e il limite sui tentativi falliti, che agiscono su chi il filtro lo attraversa.

Blocca solo il tentativo o l’intera pagina di accesso?

Puoi scegliere. In modalità pagina, che è la predefinita, chi arriva da una nazione non consentita non vede nemmeno il modulo: il blocco agisce prima che wp-login.php mostri qualsiasi cosa. In modalità tentativo, la pagina si apre ma l’accesso viene rifiutato.

La prima è più efficace, perché non espone il modulo ai bot; la seconda è più prudente se hai integrazioni che passano dalla pagina di login. Alcune azioni restano comunque sempre raggiungibili, altrimenti si romperebbero cose che con l’accesso non c’entrano.

Cosa succede se sono in viaggio o se la nazione non è determinabile?

Se l’indirizzo è nella allowlist entri comunque: la lista degli IP autorizzati ha la precedenza su qualsiasi regola geografica. Le reti locali e gli indirizzi privati sono esclusi dal blocco per costruzione.

Quando la nazione non si riesce a determinare, il comportamento lo decidi tu con la modalità rigida: se è spenta l’accesso passa, se è accesa viene bloccato. Spenta è la scelta giusta per la maggior parte dei siti, perché un servizio di geolocalizzazione temporaneamente irraggiungibile non deve chiuderti fuori.

Rischio di chiudermi fuori dal mio stesso sito?

È il timore giusto, ed è previsto. Quando salvi regole che lascerebbero fuori il tuo indirizzo attuale, il tuo IP viene aggiunto automaticamente alla allowlist: uno strumento di sicurezza che ti serra fuori mentre lo configuri è uno strumento mal progettato.

Se il bloccare gli accessi per nazione in WordPress ti ha chiuso fuori esiste, come scritto in precedenza, la via d’uscita della costante ADMIN3WEBBLUE_DISABLE_LOGIN_GUARD in wp-config.php: questa stringa sospende le protezioni dall’esterno della bacheca, senza bisogno di entrare.

Il geofencing è compatibile con il GDPR?

Trattare un indirizzo IP per finalità di sicurezza si fonda di norma sul legittimo interesse, e il considerando 49 del GDPR riconosce espressamente la sicurezza delle reti e dei sistemi informativi come interesse legittimo del titolare. Non serve quindi il consenso dell’utente.

Restano due cose che devi fare tu: dichiarare il trattamento nella privacy policy, indicando finalità e periodo di conservazione, e verificare che il periodo dichiarato corrisponda a quello che applichi davvero. La geolocalizzazione usa un servizio esterno a cui viene inviato soltanto l’indirizzo IP, e il risultato viene messo in cache: nessun contenuto del sito e nessun dato dei visitatori lascia il tuo server.

Carrello