Identificare gli utenti di TOR con PHP

Pubblicato da Giuseppe MICACCIA - -
itskills.micaccia.eu: the TOR Network

itskills.micaccia.eu:TOR

 

TOR è un software gratuito che consente di rendere le comunicazioni elettroniche anonime. The Tor Project è una organizzazione non-profit dedicata alla ricerca, allo sviluppo e alla formazione sulla privacy online. Il logo è una cipolla, perché TOR ha diversi strati, come la cipolla.

 

Tor dirige il traffico dell'Internet a traverso una rete di volontari in tutto il mondo, composta da più di sete milla relè per nascondere l'utente a tutti coloro che svolgono analisi di monitoraggio della rete. Gli utenti di Tor sono difficili da identificare.

L'uso di Tor ha per scopo di proteggere la privacy degli utenti, la loro libertà e le loro possibilità di avere delle comunicazioni confidenziali. Non è perché non abbiamo niente da nascondere che,  necessariamente ,dobbiamo mostrare tutto.

Tutti coloro che non conoscono ancora TOR, avranno tutti i detagli visitando il sito ufficiale, su Wikipedia e su tanti altri siti web.

Tuttavia, per gli amministratori di siti web che devono filtrare gli utenti di TOR possono usare TorDNSEL.

TorDNSEL, che cosa è?

E una lista che tratta dei DNS dei nodi in uscita di TOR. Il sito ufficiale di TOR Specifica la descrizione di questo meccanismo.

Su può sfruttare questa lista usando, ad essempio DIG, o facendo una semplice riquesta DNS.

I record di TorDNSEL hanno questa convenzione di denominazione: X.Y.Z.ip-port.exitlist.torproject.org

con:

  • X : Indirizzo IP del client, invertito
  • Y : Porte TCP del server
  • Z : Indirizzo IP pubblico del server, invertito

Così, per sapere se l'utente che viene sul vostro sito web utilizza TOR, basta fare questa richiesta DNS e confrontare il risultato.

Ecco una piccola funzione in PHP, che si trova sull'Internet (autore sconosciuto) e che identifica un utente di TOR:

  1. function isTorRequest()
  2.    {
  3.    $reverse_client_ip = implode('.', array_reverse(explode('.', $_SERVER['REMOTE_ADDR'])));
  4.    $reverse_server_ip = implode('.', array_reverse(explode('.', $_SERVER['SERVER_ADDR'])));
  5.    $hostname = $reverse_client_ip . "." . $_SERVER['SERVER_PORT'] . "." . $reverse_server_ip . ".ip-port.exitlist.torproject.org";
  6.    return gethostbyname($hostname) == "127.0.0.2";
  7.    }

E 'una buona base di lavoro, ma non è sufficiente. Vedremo il miglioramento.

In primo luogo, ricordiamo quali sono le variabili:

  • $_SERVER['REMOTE_ADDR'] : l'indirizzo IP del client che richiede la pagina corrente
  • $_SERVER['SERVER_ADDR'] : l'indirizzo IP del server da cui viene eseguito lo script corrente
  • $_SERVER['SERVER_PORT'] : la porta della macchina server utilizzato per le comunicazioni

Dobbiamo precisare, qui, che con questi parametri lo script non funziona, per due motivi:

  • $_SERVER['REMOTE_ADDR'] : non è abbastanza precisa per identificare il IP del client. Lo studio di una funzione per la precisa identificazione del IP del client sarà fatto in un altro articolo.
  • $_SERVER['SERVER_ADDR'] : può restituire un IP privato, sconosciuto dalla rete TOR. È necessario utilizzare l'indirizzo IP pubblico del server. Ci sono diversi tecniche per identificare automaticamente l'indirizzo IP pubblico del server. Come non cambia, salvo casi particolari, si puo impostarla manualmente.

Quindi, ecco un possibile miglioramento:

  1. function isTorRequest($IpDuClient)
  2.    {
  3.    $IpPubliqueDuServeur = 'XXX.XXX.XXX.XXX'; // renseigner ici l'adresse IP publique du serveur web
  4.    $reverse_client_ip   = implode('.', array_reverse(explode('.', $IpDuClient)));
  5.    $reverse_server_ip   = implode('.', array_reverse(explode('.', $IpPubliqueDuServeur )));
  6.    $hostname            = $reverse_client_ip . "." . $_SERVER['SERVER_PORT'] . "." . $reverse_server_ip . ".ip-port.exitlist.torproject.org";
  7.    return gethostbyname($hostname) == "127.0.0.2";
  8.    }

Per tutti coloro che desiderano fare une prova con TOR, ecco il link del sito ufficiale per il download di TOR Browser, il browser per l'utilizzo della rete di Tor.

 

itskills.micaccia.eu:download PDF

Feed dei commenti di questo articolo

Commenti bloccati.