Il vostro sito è sotto costante attacco di bot, spammer o hacker? In base alla frequenza degli attacchi, può essere consigliabile bloccare l’indirizzo IP dell’aggressore perché questi attacchi possono avere un impatto significativo sul vostro traffico e sulla larghezza di banda.

Tutti i piani di Kinsta dispongono di un “Tool di Blocco IP” gratuito che blocca l’accesso al vostro sito da un indirizzo IP specifico o da un intervallo di indirizzi IP. Questo articolo descrive diversi modi per bloccare gli indirizzi IP, con particolare attenzione al Tool di Blocco IP.

Pronti?

Cominciamo!

Come Individuare un Indirizzo IP Problematico

WordPress è un CMS dinamico, il che significa che le pagine non memorizzate nella cache vengono generate on demand dai PHP worker. Dato che l’elaborazione di questa richiesta non presente nella cache richiede una quantità molto maggiore di risorse della CPU e di RAM rispetto a una richiesta in cache, è possibile per un malintenzionato inviare un gran numero di richieste e far sì che il server smetta di rispondere.

Se vi siete mai trovati in questa situazione, un modo per ridurre il carico sul vostro server è quello di bloccare l’indirizzo IP incriminato.

Nel cruscotto di analisi di MyKinsta potrete visualizzare un elenco dei principali indirizzi IP che hanno avuto accesso al vostro sito. Per visualizzare questi indirizzi, andate su Analytics > Geo & IP e scorrete verso il basso fino alla sezione ‘Principali IP Client’.

Principali indirizzi IP client
Principali indirizzi IP client

Se vedete un indirizzo IP che fa più richieste di altri indirizzi IP, diciamo 5-10 volte di più, dovreste indagare per vedere se quell’indirizzo IP è un bot o uno spammer. Il modo più semplice per verificare la presenza di indirizzi IP malevoli è quello di utilizzare un controller di reputazione come CleanTalk o Spamhaus.

.

Se il reputation checker identifica un indirizzo IP come un bot o uno spammer, l’azione successiva da fare sarà bloccare l’indirizzo IP in questione. Si noti che se il reputation checker non individua un indirizzo IP come dannoso, potrebbe semplicemente non essere registrato nei loro database.

Se notate che l’indirizzo IP in questione stia causando un errore HTTP 502 o che il server vada giù completamente, provate a bloccare l’indirizzo IP per vedere se questo migliora la situazione.

Come Bloccare un Indirizzo IP da MyKinsta

Lo strumento IP Deny disponibile nella dashboard di MyKinsta vi permette di bloccare sia indirizzi IP singoli che intervalli di indirizzi IP senza dover modificare i file di configurazione del vostro server web. Se il vostro sito è ospitato su Kinsta, vi consigliamo di utilizzare lo strumento IP Deny per bloccare gli indirizzi IP.

Per bloccare un indirizzo IP in MyKinsta, andate su Siti > (Il Vostro Sito) > IP Deny.

IP Deny in MyKinsta
IP Deny in MyKinsta

Poi fate clic sul pulsante “Aggiungi Indirizzo IP” in alto a destra della pagina.

Aggiungere un indirizzo IP da bloccare
Aggiungere un indirizzo IP da bloccare

Ecco alcuni esempi di indirizzi IP che potete bloccare:

  • IPV4 Address – 103.5.140.141
  • IPV6 Address – 2001:0db8:0a0b:12f0:0000:0000:0000:0001
  • CIDR Range – 128.0.0.1/32

Una volta aggiunti gli indirizzi IP che volete bloccare, cliccate sul pulsante “Aggiungi Indirizzi IP”.

Aggiungere un indirizzo IP alla lista di blocco
Aggiungere un indirizzo IP alla lista di blocco

Vedrete gli indirizzi IP aggiunti alla vostra lista di blocco. In questa pagina, dalla colonna “Azioni” potete accedere a due azioni, “Modifica” ed “Elimina”. L’azione “Modifica” permette di aggiornare gli indirizzi e gli intervalli di IP. L’azione “Elimina” permette di eliminare gli indirizzi IP bloccati.

Modifica ed elimina gli indirizzi IP bloccati
Modifica ed elimina gli indirizzi IP bloccati

Come Bloccare un Indirizzo IP in Cloudflare

Se siete utenti di Cloudflare, potete bloccare indirizzi IP e intervalli di IP utilizzando lo strumento “IP Access Rules” nella dashboard di Cloudflare.

Nella dashboard, andate su Firewall > Tools.

Cruscotto degli strumenti di Cloudflare
Cruscotto degli strumenti di Cloudflare

Per creare una nuova regola di accesso IP, inserite un indirizzo IP, selezionate l’azione “Blocca”, selezionate “Questo sito web” o “Tutti i siti web nel mio account” per applicare la regola a tutti i domini Cloudflare, quindi fate clic su “Aggiungi”.

Aggiungere regole di accesso IP
Aggiungere regole di accesso IP

Le regole di accesso che avete aggiunto appariranno nell’elenco delle “IP Access Rules”. Qui potete modificare la regola di accesso cambiando l’azione, aggiungendo una nota o cancellando la regola.

Regole di accesso IP nella dashboard di Cloudflare
Regole di accesso IP nella dashboard di Cloudflare

Oltre all’azione “Block”, Cloudflare supporta le azioni “Challenge”, “Allow List” e “JavaScript Challenge”. A seconda del vostro scopo, potete utilizzare queste azioni al posto di “Block”.

Bloccare Intervalli di IP, Paesi e ASN in Cloudflare

Oltre ai singoli indirizzi IP, le regole di accesso IP di Cloudflare supportano anche intervalli di IP, nomi di paesi e ASN (autonomous system numbers).

  • Per bloccare un intervallo di IP, specificate un intervallo CIDR nel valore della regola di accesso IP.
  • Per bloccare un paese, specificate il codice paese Alpha-2 del paese in questione.
  • Per bloccare un ASN (un elenco di IP gestiti da un singolo operatore di rete), specificate un ASN valido che inizia con ‘AS’.

Come Bloccare un Indirizzo IP in Nginx

Se il vostro sito è ospitato su un server Nginx, potete bloccare l’indirizzo IP direttamente nelle impostazioni del vostro server web. Per bloccare gli IP, questo metodo non è così semplice come lo strumento di blocco degli IP di MyKinsta o del firewall di Cloudflare, ma in certe situazioni è l’unica opzione.

Per bloccare un indirizzo IP in Nginx, accedete via SSH al vostro server e aprite il file di configurazione di Nginx con l’editor di testo nano.

nano /etc/nginx/nginx.conf

Bloccare un Singolo Indirizzo IP con Nginx

Per bloccare un singolo indirizzo IP (IPV4 o IPV6) in Nginx, usate la direttiva deny come segue

deny 190.60.78.31;
deny 4b73:8cd3:6f7b:8ddc:d2f9:31ca:b6b1:834e;

Bloccare l’Intervallo di IP CIDR con Nginx

Per bloccare l’intervallo di IP CIDR in Nginx, usate la seguente direttiva

deny 192.168.0.0/24;

Tecniche Avanzate di Blocco degli IP in Nginx

Per bloccare l’accesso a una directory specifica (ad esempio domain.com/secret-directory/), utilizzate la seguente direttiva Nginx

location /secret-directory/ {
        deny 192.168.0.0/24;
}

La direttiva deny accetta il valore all, che è utile per bloccare tutti gli indirizzi IP verso un sito. Questo è utile se volete bloccare tutti gli indirizzi IP verso il vostro sito; la direttiva deny all; è spesso utilizzata insieme ad allow – questo consente di ammettere solo certi indirizzi IP e bloccare tutti gli altri.

location /secret-directory/ {
        allow 192.168.0.0/16;
        deny all;
}

Salvare la Configurazione e Ricaricare Nginx

Quando avete finito di modificare il file in nano, premete Ctrl+O per salvare le modifiche e Ctrl+X per uscire da nano.

Per attivare la nuova regola di blocco degli IP, è necessario ricaricare la configurazione di Nginx con il seguente comando:

sudo systemctl reload nginx

Come Bloccare un Indirizzo IP in Apache

Se il vostro sito è ospitato su Apache web server potete bloccare gli indirizzi IP direttamente nella configurazione del server web. Per bloccare gli indirizzi IP in Apache, dovrete utilizzare un file .htaccess, che vi permette di applicare regole specifiche a directory specifiche. Per applicare le regole a tutto il vostro sito, dovete mettere il file .htaccess nella directory principale del sito.

Per prima cosa, accedete via SSH al vostro server, spostatevi nella directory principale del vostro sito e create un file .htaccess con il seguente comando

touch .htaccess

Poi aprite il file .htaccess nell’editor di testo nano.

nano .htaccess

Le regole esatte per bloccare gli IP dipendono dal fatto che stiate utilizzando Apache 2.2 o 2.4, quindi mostreremo le regole per entrambe le versioni. Quando modificate il vostro file .htaccess, usate le regole che corrispondono alla versione di Apache.

Bloccare un Singolo Indirizzo IP in Apache

Per bloccare un singolo indirizzo IP (IPV4 o IPV6) in Apache, utilizzate la seguente regola

# Apache 2.2
order allow, deny
allow 192.168.0.0
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0

Bloccare gli Intervalli di IP CIDR con Apache

# Apache 2.2
order allow, deny
allow 192.168.0.0/16
deny from all

#Apache 2.4
Require all granted
Require not ip 192.168.0.0/16

Riepilogo

Il modo in cui bloccare gli indirizzi IP in modo che non raggiungano il vostro sito dipende dalla configurazione del sito. Se siete utenti di Kinsta, vi consigliamo di utilizzare lo strumento nativo “IP Deny” disponibile in MyKinsta.

Se il vostro sito non è ospitato su Kinsta, vi consigliamo di proteggerlo con Cloudflare, che vi permette di creare le vostre regole di accesso IP per bloccare indirizzi IP, intervalli, ecc. Infine, se non siete in grado di configurare Cloudflare per il vostro sito, potete implementare regole di blocco degli IP direttamente nel file di configurazione del vostro server web.