Utilizzo di TOR su IP diverso dal primario.

Al giorno d’oggi, può capitare sempre più spesso di aver a disposizione  una connessione con un set di indirizzi pubblici. Che siano quattro o sette, resta il problema, spesso, di come poterli usare se abbiamo una macchina sola. Oggi vi farò vedere come utilizzare un server TOR che utilizzi un indirizzo IP che non sia il primario della macchina. Sto parlando di un ambiente *nux, ma credo che in qualche modo sia possibile anche in windows, ma personalmente non metterei mai alcun tipo di server su una macchina windows, quindi non starò nemmeno a perdere tempo ad immaginare come farlo. 
 
Prendiamo in esempio una situazione: avete la vostra macchina linux che usate come desktop o come server, non importa, e desiderate utilizzare TOR come servuer, indipendentemente se come hidden_service o come relay; quello che non volete è incappare in una situazione come quella riportata in altro post che ho scritto tempo fa a riguarda dell’uso di TOR e l’aver come home banking il servizi di Unicredit. Il post lo trovate qui: http://bulk.jcsh.eu/?p=103 e si intitolava, guarda caso:”Ad Unicredit Web non piace TOR”. 
 
Avendo più indirizzi IP a disposizione il problema è risolvibile, perché quelli di TOR hanno previsto una situazione simile: basteranno un paio di modifiche al file di configurazione torrc ed il gioco sarà fatto. Capiamoci: non sto parlando di una situazione con due schede di rete con due cavi fisici appartenenti a due IP diversi, ma della situazione, ben più comune, per cui abbiamo un cavo ed n IP disponibili. Vale la pena di definire il quadro in cui ci stiamo muovendo: abbiamo una scheda di rete fisica ed, facciamo un esempio, 4 IP pubblici  disponibili.
 
Innanzi tutto dobbiamo sapere che nome logico ha la nostra scheda di rete; ci son diversi modi, ma quello più rapido è aprire la console (da cui faremo tutto) e dare il comando ifconfig. Avremo come risultato qualcosa del genere:

eth0      Link encap:Ethernet  IndirizzoHW 00:0e:a6:ba:ec:80

indirizzo inet:192.168.1.130  Bcast:192.168.1.255  Maschera:255.255.255.0          

indirizzo inet6: fe80::20e:a6ff:feba:ec80/64 Scope:Link          

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1          

RX packets:24277872 errors:0 dropped:216 overruns:0 frame:0          

TX packets:12679995 errors:0 dropped:0 overruns:0 carrier:0

Byte RX:772240782 (772.2 MB)  Byte TX:1004742354 (1.0 GB)         Interrupt:18lo       

Link encap:Loopback locale           

indirizzo inet:127.0.0.1  Maschera:255.0.0.0          

indirizzo inet6: ::1/128 Scope:Host          

UP LOOPBACK RUNNING  MTU:65536  Metric:1          

RX packets:14854 errors:0 dropped:0 overruns:0 frame:0          

TX packets:14854 errors:0 dropped:0 overruns:0 carrier:0         

Byte RX:1533885 (1.5 MB)  Byte   TX:1533885 (1.5 MB)


La voce eth definisce il nome logico della nostra scheda di rete; lo 0 un contatore che parte da zero e che indica quale sia la scheda di rete se ne abbiamo diverse; aveste sulla vostra macchina due schede di rete, trovereste elencata anche una scheda eth1 e così via. Attenzione, aveste anche cinque schede di rete, ma un solo cavo che vi arriva da internet, il metodo resta sempre questo perché non potete collegare un IP virtuale su una scheda fisica: la scheda fisica o c’è o non c’è!! Nel nostro esempio faremo il caso di avere disponibili gli IP pubblici da 155.100.100.1 al 155.100.100.Quindi cominciamo:

  1. Considerando che sicuramente avete assegnato 155.100.100.1 come indirizzo della scheda fisica, assegnamo il 155.100.100.4 ad una scheda virtuale, che chiameremo eth0:1 quindi nel terminale diamo il comando:  sudo ifconfig eth0:1 155.100.100.4 up
  2. installiamo il necessario per avviare il server TOR sulla nostra macchina, uso i domando apt-get perché i sistemi debian based sono quelli più installati. Quindi eseguiamo, sempre nella nostra shell, sudo apt-get install tor tor-geoipdb torsocks. Questi sono i tre componenti base necessari.
  3. Fermiamo il server TOR, perché ancora non è configurato come ci serve, e quindi diamo il comando sudo service tor stop
  4. Apriamo con l’editor di testo che preferiamo, io uso VI, ma NANO come altri vanno altrettanto bene, il file di configurazione di TOR quindi se usiamo VI diamo il comando sudo vi /etc/tor/torrc
  5. Alla riga 103 togliamo il commento e modifichiamola affinché risulti così: OutboundBindAddress 155.100.100.4 
  6. appena sotto questa riga ne inseriamo una nuova ed aggiungiamo: Address 155.100.100.4
  7. usciamo dal nostro editor confermando la modifica e rilanciamo il servizio che avevamo fermato al punto 3, con il comando sudo service tor start
  8. diamo un comando di lettura del file di configurazione ossia sudo tail -f /var/log/tar

Vedrete diverse cose scorrere sullo schermo, ma quello che deve esserci, affinché possiamo essere certi che TOR stia usando l’IP che diciamo noi, è la seguente riga:

[notice] Now checking whether ORPort 155.100.100.4:9001 and DirPort 155.100.100.4:9030 are reachable… (this may take up to 20 minutes — look for log messages indicating success)[notice] Self-testing indicates your DirPort is reachable from the outside. Excellent. May 10 14:32:13.000 [notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

A questo punto soltanto, potrete essere certi che TOR stia usando un IP diverso da quello definito per la scheda primaria del sistema della vostra macchina, ed è quello che volevamo.

Buon divertimento. 

P.S: Direte voi: ma è pieno di documenti su come usare OutboundBindAddress: perché scriverci un post. Semplice: perché tanto è vero che è pieno di documenti in google che spiega come usare OutboundBindAddress quanto non se ne trova uno che spieghi che se oltre a OutboundBindAddress non configurate anche la variabile Address corca che funziona !! 🙂

JC

Licenza Creative Commons
Questo articolo è rilasciato sotto una licenza Creative Commons Attribuzione – Non commerciale – Non opere derivate 2.5 Italia License.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *