Come proteggere il sito da Paesi “nemici”

Anche quando dormiamo il nostro sito web è sempre sotto attacco…

Cacciare gli estranei!

Non è un slogan politico, ma è chiaro che nessuno deve violare lo spazio altrui. Purtroppo Internet è una prateria densa di balordi:

  • delinquenti che cercano siti per il phishing (e non solo)
  • spammer (per avere link)
  • ricattatori (“…dammi i oldi se rivuoi il tuo sito…“)
  • idioti burloni (per vantarsi di aver “bucato” il sito)
  • e…
  • sviluppatori (“…dammi i soldi che ti proteggo…“).

In particolare l’ultima frase è tipica del mafiosetto. Ma come racconta Paolo Barnard (da leggere): esiste la mafia perfetta e la mafia imperfetta.

Prima distinzione

Lasciamo da parte gli sviluppatori e software-house web. Non sono delinquenti nel senso giuridico, ma molti di questi fanno i furbi per spillare “onestamente” dei quattrini. Quindi taluni propongono configurazioni e software che deve essere continuamente controllato. Risultato: aumento dei costi mensili di gestione del sito. Niente di illegale, però…

Passiamo oltre

Qui entriamo in ambito internazionale. Sì, perchè molti di questi personaggi commettono reati veri e propri. Il “solo” accesso non autorizzato in un sistema informatico (un server, per esempio) è reato in moltissimi Paesi.

Il problema è che molti Paesi, pur aderendo a queste norme, non sono così solerti nell’applicarle.

Chi sono questi Paesi?   Meglio non fare nomi, prudenza …

Però va anche detto che statisticamente molti attacchi partono da: Turchia, India,Italia,Pakistan, Ucraina, Brasile, Messico, Cina, Stati Uniti e Russia, … e mi fermo qui.

Non è facile per le diverse magistrature perseguire questi criminali: servono strutture e risorse che a volte mancano. E poi bisogna dire che la magistratura parte (se parte) dopo che il danno è stato fatto.

Protezione “a zona”

In questo articolo vediamo come attivare una  protezione “by-country”, considerando che vi siano Paesi “amici” ed altri meno amichevoli.

Come è facile intuire questo tipo di protezione è “zonale”, quindi se un mio parente in Brasile vuole vedere il mio sito, avrà dei problemi se avrò messo il Brasile nella black-list.

Gli indirizzi IP

Il punto centrale per questa protezione è quello di bloccare i tentativi di accesso che partono da determinati gruppi di indirizzi IP. Giusto per ricordare, un indirizzo IP pubblico corrisponde ad un Paese, un po’ come il prefisso telefonico internazionale.

Possibili soluzioni

Per bloccare uno o più Paesi vi sono diverse possibilità. Vediamole:

  • tramite plugin
  • tramite firewall
  • tramite web-server

Questa volta vediamo come proteggere il sito tramite il web-server: .htaccess

.htaccess

Il file .htaccess è presente (dovrebbe) in ogni directory del server web. è utilizzato per impostare permessi e funzionalità a livello di directory, quindi a livello “basso”, sul disco.

.htaccess è un file di testo, ASCII, quindi modificabile con un nomale editor (textedit, vi, nano, notepad, notepad++, ultraedit, ecc.).

Su un sistema Unix o Linux, appare così:

-rw-r--r-- 1 root root 6813915 Dec 19 03:51 .htaccess

Creare la black-list

Andare sul sito https://www.countryipblocks.net/country_selection.php e selezionare uno o più Paesi “amici”.  Perchè ho scritto “amici”? semplice, perchè sono sicuramente di più i nemici degli amici (quelli veri poi …).

Per scegliere più di un Paese bisogna tenere premuto il tasto Ctrl.

poi selezionare “Allow”:

quindi nel riquadro di destra verrà creata una lista da copiare in un file tipo notepad: selezionare tutto tramite Ctrl+A e poi Ctrl+C e ricopiare con Ctrl+V.

Come configurare .htaccess

Tramite terminale (p.es. Putty) andare sul server , nella directory principale del web-server. Se non sapete dove si trova vi conviene farvi dare una mano da uno esperto o da chi ha installato. Se il sistema è Linux, probabilmente si troverà in:

/var/www/fablabway.com/public_html

da terminale dare quindi:

cd /var/www/fablabway.com/public_html

e poi:

nano .htaccess

inserire, o meglio “incollare” il testo già salvato in locale, e quindi salvare.

LE ECCEZIONI

Il file .htaccess così creato manca di una parte: l’accesso ai motori di ricerca provenienti dai paesi esclusi. Come riconoscerli? Un metodo è di trovare il loro IP dal log del server web. Ma come fare?

Basterà analizzare il log di Apache: lì troveremo tutte le connessioni e potremo sapere che tipo di macchia si è connessa al nostro sito. Bisogna ricordare che una volta bloccati i paesi “canaglia” questi non saranno più presenti nel log e quindi sarà difficile recuperare un precedente indirizzo di un motore di ricerca cinese (nel caso sia stata bloccata la Cina). Ovvio!

In ogni modo il log di Apache si trova solitamente in:

/var/log/apache2

 

quindi il comando per estrarre i “bot” degli spider sarà:

cat /var/log/apache2/fablabway2.log|grep -i bot|awk '{ printf ("allow from %s\n",$2 ) }'|sort >listipbot.txt

e nel file listipbot.txt troveremo una lista di comandi per .htaccess.

Ora, basterà aggiungere le righe desiderate al file .htaccess, contenente gli IP “amici”. Ricordarsi di salvare!

Identificare i robot

Volendo essere più precisi, si potrà estrarre uno specifico robot. Ecco i loro identificativi:

  • bingbot/2.0
  • YandexBot/3.0
  • AhrefsBot/5.2
  • Googlebot/2.1

e il comando precedente diventa:

cat /var/log/apache2/fablabway2.log|grep -i YandexBot|awk '{ printf ("allow from %s\n",$2 ) }'|sort >listipbot.txt

Finale

Ora gli stranieri rimarranno fuori, potranno affacciarsi al nostro web-server, ma oltre non potranno andare. Chiaramente rimangono esposti altri servizi presenti sul server, anche se bisogna dire che le falle maggiori di sicurezza sono nel sistema web. In ogni modo è sempre bene stare vigili!

Stazione di Saronno (VA)

Leave a Reply