Guida sul come usare un Torrent Client in modo anonimo usando un servizio VPN. Il VPN provider usato in questo esempio è BTGuard.
La differenza tra l’usare un Proxy e un servizio VPN è che nel primo caso si imposta il BitTorrent Client o un Web Client ( come per esempio Firefox ) in modo da usare dei Proxy, mentre con VPN viene “anonimizzata” tutta la connessione.
Perché usare un servizio come BTGuard per scaricare torrents?
Il problema è il seguente: se si scarica o condivide qualcosa con un BitTorrent client ci si connette a un gruppo di utenti chiamato “swarm”. Tutti questi utenti sono in grado di vedere l’indirizzo IP delle persone a cui sono connessi – devono per potere instaurare una connessione. Ma ricorda che non solo altri utenti Torrent vedono queste informazioni. Gruppi che combattono la “pirateria informatica” – spesso pagati dalle industrie dell’intrattenimento – si connettono anche a questi “swarm” ma invece di condividere dei file o scaricare prendono nota degli indirizzi IP che trovano e informano i relativi ISP sulle loro attività.
Se si usa un BTGuard Proxy o VPN non è più possibile perché l’indirizzo IP usato per scaricare e condividere dei file sarà quello del VPN provider o del Proxy. Questi gruppi che combattono la “pirateria informatica” potrebbero chiedere al VPN provider di fornire loro informazioni su chi ha scaricato cosa?! In teoria si ma non se si usano buoni Proxy o VPN provider che appunto non tengono informazioni ( logs ) riguardo ai loro clienti.
BTGuard non tiene logs e quindi non registra le attività dei propri clienti. Se un abuso viene loro segnalato in tempo reale possono attivare uno sniffer e risalire a chi lo sta compiendo ma non vengono tenute informazioni ( chi ha scaricato cosa ecc. ) sulle abitudini degli utenti. In questo modo anche se vengono richieste queste informazioni non possono essere fornite da BTGuard perché non le hanno.
Creare un account su BTGuard
Per usare BTGuard VPN andare su btguard.com e crearsi un account. Per farlo cliccare su Join Now sotto VPN, vedi immagine sottostante.
Una volta cliccato su “Join Now” apparirà un formulario dove inserire il nome utente, la password e un indirizzo email. Scegliere se si vuole acquistare il servizio BTGuard VPN per un mese, 3 mesi, 6 mesi o un anno e poi cliccare su continue.
E in fine effettuare il pagamento.
Installazione OPENVPN BTGuard Linux ( openSUSE )
Aprire una root shell ed eseguire il seguente comando:
# zypper in openvpn
Per ulteriori informazioni sul come installare OPENVPN correttamente con Linux ( openSUSE ) leggere la seguente guida: Guida all’installazione e configurazione di OpenVPN con Linux ( openSUSE )
Scaricare il certificato (CA) BTGuard eseguendo il seguente comando:
# wget -O /etc/openvpn/btguard.ca.crt http://btguard.com/btguard.ca.crt
Scaricare il file di configurazione di BTGuard OPENVPN eseguendo il seguente comando:
# wget -O /etc/openvpn/btguard.conf http://btguard.com/btguard.conf
Editare il file btguard.conf e aggiungere l’hostname. Usare eu.vpn.btguard.com per l’Europa.
# vi /etc/openvpn/btguard.conf remote eu.vpn.btguard.com 1194
Aggiungere il metodo di verifica del certificato.
# vi /etc/openvpn/btguard.conf remote-cert-tls server
Se non si aggiunge sta riga nel file si riceve il seguente errore:
WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Aggiungere il Server DNS 8.8.8.8 tra i propri DNS come segue.
# vi /etc/resolv.conf nameserver 8.8.8.8
Se non si aggiunge il DNS Server la rete non è raggiungibile per problemi di DNS vediamo un esempio.
# nslookup google.ch ;; Got recursion not available from 212.71.111.250, trying next server ;; connection timed out; no servers could be reached #
Come connettersi a BTGuard VPN con Linux
Per connettersi a BTGuard VPN tramite OPENVPN con Linux eseguire il seguente comando da root:
# openvpn /etc/openvpn/btguard.conf Fri Apr 17 19:47:36 2015 OpenVPN 2.3.4 x86_64-suse-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on May 1 2014 Fri Apr 17 19:47:36 2015 library versions: OpenSSL 1.0.1k-fips 8 Jan 2015, LZO 2.08 Enter Auth Username: ********* Enter Auth Password: ************
Quando richiesto inserire il nome utente e la password dell’utente BTGuard creato in precedenza.
Usare sudo per eseguire OPENVPN
OPENVPN deve venire eseguito da root per potere apportare modifiche alla connessione che per motivi di sicurezza può fare solo l’amministratore.
Per poter eseguire openvpn da utente normale usare sudo. All’applicazione serve solo di potere eseguire il comando “ip” da root per cambiare le impostazioni di rete.
Come prima cosa creare un utente:
# useradd utenteopenvpn -p Pa$word!!99
Poi creare uno script che esegue il comando “sudo ip”. Sudo viene usato per permettere a utenti normali di eseguire alcuni comandi con diritti d’amministratore.
# vi /usr/local/sbin/unpriv-ip #!/bin/sh sudo /sbin/ip $*
Usare il comando visudo per permettere all’utente utenteopenvpn di eseguire il comando ip da root.
# visudo ## ## User privilege specification ## root ALL=(ALL) ALL utenteopenvpn ALL =(ALL) NOPASSWD: /sbin/ip
Ora editare il file di configurazione btguard.conf e aggiungere o modificare le seguenti righe:
# vi /etc/openvpn/btguard.conf dev tun0 iproute /usr/local/sbin/unpriv-ip
E infine aggiungere due comandi nello script che viene eseguito all’avvio del sistema.
# vi /etc/init.d/boot.local openvpn --rmtun --dev tun0 openvpn --mktun --dev tun0 --dev-type tun --user utenteopenvpn
Rinviare il sistema o eseguire i comandi manualmente.
Ora per usare openvpn senza diritti d’amministratore (root) eseguire il programma con l’utente creato, utenteopenvpn.
workstation1:~> su utenteopenvpn Password: utenteopenvpn@workstation1:/home/utenteopenvpn> /usr/sbin/openvpn /etc/openvpn/btguard.conf Sat Apr 18 23:09:19 2015 OpenVPN 2.3.4 x86_64-suse-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on May 1 2014 Sat Apr 18 23:09:19 2015 library versions: OpenSSL 1.0.1k-fips 8 Jan 2015, LZO 2.08 Enter Auth Username: *********** Enter Auth Password: ************ Sat Apr 18 23:09:31 2015 Socket Buffers: R=[212992->131072] S=[212992->131072] Sat Apr 18 23:09:31 2015 UDPv4 link local: [undef] Sat Apr 18 23:09:31 2015 UDPv4 link remote: [AF_INET]109.201.137.162:1194 Sat Apr 18 23:09:31 2015 TLS: Initial packet from [AF_INET]109.201.137.162:1194, sid=a027f82c 4733b312 Sat Apr 18 23:09:31 2015 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this Sat Apr 18 23:09:31 2015 VERIFY OK: depth=1, C=DE, ST=Hesse-Nassau, L=Frankfurt, O=BTGuard, CN=BTGuard CA, emailAddress=support@btguard.com Sat Apr 18 23:09:31 2015 Validating certificate key usage Sat Apr 18 23:09:31 2015 ++ Certificate has key usage 00a0, expects 00a0 Sat Apr 18 23:09:31 2015 NOTE: --mute triggered... Sat Apr 18 23:09:36 2015 10 variation(s) on previous 3 message(s) suppressed by --mute Sat Apr 18 23:09:36 2015 [server] Peer Connection Initiated with [AF_INET]109.201.137.162:1194 Sat Apr 18 23:09:38 2015 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1) Sat Apr 18 23:09:38 2015 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 85.131.129.163,dhcp-option DNS 38.109.161.201,redirect-gateway,route 192.168.0.1,topology net30,ping 10,ping-restart 120,ifconfig 192.168.0.186 192.168.0.185' Sat Apr 18 23:09:38 2015 OPTIONS IMPORT: timers and/or timeouts modified Sat Apr 18 23:09:38 2015 NOTE: --mute triggered... Sat Apr 18 23:09:38 2015 3 variation(s) on previous 3 message(s) suppressed by --mute Sat Apr 18 23:09:38 2015 ROUTE_GATEWAY 192.168.0.1/255.255.255.240 IFACE=eth0 HWADDR=00:25:22:d7:cd:3f Sat Apr 18 23:09:38 2015 TUN/TAP device tun0 opened Sat Apr 18 23:09:38 2015 Note: Cannot set tx queue length on tun0: Operation not permitted (errno=1) Sat Apr 18 23:09:38 2015 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Sat Apr 18 23:09:38 2015 /usr/local/sbin/unpriv-ip link set dev tun0 up mtu 1500 Sat Apr 18 23:09:38 2015 /usr/local/sbin/unpriv-ip addr add dev tun0 local 192.168.0.186 peer 192.168.0.185 Sat Apr 18 23:09:38 2015 /usr/local/sbin/unpriv-ip route add 109.201.137.162/32 via 192.168.0.1 Sat Apr 18 23:09:38 2015 /usr/local/sbin/unpriv-ip route del 0.0.0.0/0 Sat Apr 18 23:09:39 2015 /usr/local/sbin/unpriv-ip route add 0.0.0.0/0 via 192.168.0.185 Sat Apr 18 23:09:39 2015 /usr/local/sbin/unpriv-ip route add 192.168.0.1/32 via 192.168.0.185 Sat Apr 18 23:09:39 2015 Initialization Sequence Completed
Installazione OPENVPN BTGuard Windows
Scaricare il programma qui: OPENVPN – Download
Eseguire il file di installazione e lasciare tutto com’è. Nella prima schermata accettare le condizioni e poi cliccare sempre su next e in fine install.
Una volta installato correttamente scaricare i file di configurazione di BTGuard VPN. File di configurazione BTGuard
Unzippare il file ed eseguirlo.
Una volta finito il processo si dovrebbero avere dei file nella cartella conf del programma.
Una volta verificata la presenza dei dati di configurazione di BTGuard VPN impostare OPENVPN in modo da venire eseguito con diritti d’amministratore.
Cliccare sull’icona del programma presente sul Desktop con il tasto destro del mouse e scegliere “Apri percorso file”.
Poi cliccare sul file “openvpn-gui” con il tasto destro del mouse e scegliere proprietà.
Nella scheda Compatibilità mettere il visto in “Esegui questo programma come amministratore”. Vedi immagine sottostante.
Connettersi a BTGuard VPN con OPENVPN WINDOWS
Per connettersi a BTGuard con OPENVPN cliccare sull’icona presente sul Desktop. Una volta avviato il programma ci si potrà connettere cliccando in basso a destra sull’icona del programma poi su “Netherlands – BTGuard” connetti e inserire il nome utente e la password.
Controllare la configurazione di rete
Windows 7/8
Una volta connessi alla rete VPN di BTGuard si dovrebbe ricevere un indirizzo IP sul dispositivo TAP-Windows Adapter V9 a cui viene assegnata nel mio caso la scheda Ethernet numero 1.
C:\Users\Chit>ipconfig /all Configurazione IP di Windows Scheda Ethernet Ethernet0: Suffisso DNS specifico per connessione: Descrizione. . . . . . . . . . . : Atheros AR8152 PCI-E Fast Ethernet Controller Indirizzo fisico . . . . . . : 00-25-22-D7-CD-3F DHCP attivo. . . . . . . . . . : Nein Configurazione automatica abilitata. . . : si IPv4-Adresse . . . . . . . . . . : 192.168.1.15(Preferenziale) Subnet mask . . . . . . . . . . : 255.255.255.0 Standardgateway . . . . . . . . . : Server DNS . . . . . . . . . . . : 212.71.111.250 NetBIOS su TCP/IP . . . . . . . : Attivo Scheda Ethernet Ethernet1: Descrizione. . . . . . . . . . . : TAP-Windows Adapter V9 Indirizzo fisico . . . . . . : 00-FF-8A-99-48-9D DHCP attivo. . . . . . . . . . : si Configurazione automatica . . . : si Indirizzo IPv4. . . . . . . . . . : 192.168.1.222(Preferenziale) Subnetzmaske . . . . . . . . . . : 255.255.255.252 Lease ottenuto. . . . . . . . . . : Martedi, 24. Marzo 2015 23:13:27 Scadenza Lease. . . . . . . . . . : Mercoledi, 23. Marzo 2016 23:13:27 Gateway predefinito . . . . . . . . . : 192.168.1.221 Server DHCP . . . . . . . . . . . : 192.168.1.221 Server DNS . . . . . . . . . . . : 8.8.8.8 NetBIOS su TCP/IP . . . . . . . : Attivo C:\Users\Chit>
Perfetto come si vede dalle informazioni ricevute eseguendo il comando ci troviamo nella rete VPN di BTGuard, ci è stato assegnato un indirizzo IP, un indirizzo Gateway e il DNS server (8.8.8.8). Mentre la scheda numero 0, quella in uso normalmente, è senza indirizzo Gateway.
Linux
# ifconfig eth0 Link encap:Ethernet HWaddr 00:25:22:D7:CD:3F inet addr:192.168.1.12 Bcast:192.168.1.15 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6947 errors:0 dropped:0 overruns:0 frame:0 TX packets:6737 errors:0 dropped:0 overruns:0 carrier:1 collisions:0 txqueuelen:1000 RX bytes:6128944 (5.8 Mb) TX bytes:1222767 (1.1 Mb) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.1.186 P-t-P:192.168.1.185 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:5958 errors:0 dropped:0 overruns:0 frame:0 TX packets:5902 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4640010 (4.4 Mb) TX bytes:663960 (648.3 Kb) #
Testare la connessione con OPENVPN BTGuard VPN (Win e Linux)
Per testare la connessione e cioè se effettivamente tutto il traffico passi per la rete VPN BTGuard (o per i proxy, se si usano i proxy), usare il comando netstat, sia per Linux che per Windows.
Avviare il proprio client BitTorrent e mettere a scaricare qualcosa di normale giusto per testarlo.
Aprire un browser a un pagina di propria preferenza.
Una volta fatto eseguire il comando netstat –tan vedi esempio.
C:\Users\Chit>netstat -tan Connessioni attive Proto Indirizzo locale Indirizzo esterno Stato TCP 192.168.1.222:51499 XXX.XX.XXX.XX:24915 ESTABLISHED TCP 192.168.1.222:51988 XX.X.XXX.XX:48420 ESTABLISHED TCP 192.168.1.222:52101 XX.XXX.XXX.XX:443 ESTABLISHED TCP 192.168.1.222:52173 XXX.XXX.XXX.XXX:443 ESTABLISHED TCP 192.168.1.222:52269 XX.XX.XX.XX:80 ESTABLISHED TCP 192.168.1.222:52451 XX.XXX.XXX.XXX:42692 ESTABLISHED TCP 192.168.1.222:52453 XX.XX.X.XXX:20733 ESTABLISHED TCP 192.168.1.222:52661 XX.XXX.XXX.XXX:42692 ESTABLISHED TCP 192.168.1.222:52794 XX.XX.X.XXX:20733 ESTABLISHED TCP 192.168.1.222:52936 XX.XX.XXX.XX:51256 ESTABLISHED TCP 192.168.1.222:53008 XX.XX.XXX.XX:443 ESTABLISHED TCP 192.168.1.222:53064 XX.X.XX.XXX:51413 ESTABLISHED TCP 192.168.1.222:53065 XX.XX.X.XX:45846 ESTABLISHED C:\Users\Chit>
Da come si può notare dall’esempio sono connesso a dei server tramite l’indirizzo della scheda ethernet 1, 192.168.1.222. Funziona! Le connessioni TCP con porte dai 1025 in su, sono le connessioni agli altri utenti BitTorrent di cui ho dovuto chiaramente censurare gli indirizzi IP, mentre quelle su porte 80 o 443, sono connessioni a siti web. Tutto il traffico passa per la rete VPN di BTGuard.
Controllare che le connessioni vengano effettuate tramite l’indirizzo IP giusto. In questo esempio l’indirizzo IP 192.168.1.222 non 192.168.1.15.
Testare se si sta navigando in modo anonimo
Un altro metodo per testare, per quanto riguarda il web, è controllare il proprio indirizzo IP esterno su un qualche sito come: whatismyipaddress.com.
Impostazioni BitTorrent client BTGuard VPN
Contrariamente all’altro metodo per scaricare anonimamente e cioè con dei proxy, usando BTGuard VPN o un altro servizio VPN non bisogna impostare niente visto che l’intera connessione è criptata e “anonima”.
Ipostare il BitTorrent client in modo da usare solo VPN
Buona cosa è quella di impostare il BitTorrent client per scaricare solo usando BTGuard VPN o un altro servizio VPN.
Il problema è che si dovesse per esempio avviare per sbaglio il proprio BitTorrent Client mentre non si è connessi a VPN si rischia di venire esposti.
Per evitare che succeda impostare il proprio BitTorrent client in modo da usare sempre e solo l’interfaccia tun0.
Esempio con Ktorrent
Per impostare Ktorrent in modo da usare solo tun0 (VPN) andare sotto rete -> interfaccia di rete e scegliere tun0.