tor - the onion router
DESCRIPTION
La rete TOR uno strumento a tutela della privacy Linuxday 2014. Come configurare il RaspberryPI come AccessPoint WiFi TORTRANSCRIPT
LA PRIVACY E’ il diritto di una persona di esercitare le misure di controllo affinché le informazioni che la riguardano vengano trattate o
guardate da altri solo in caso di necessità.
PRIVACY ED ANONIMATO: IO NON HO NULLA DA NASCONDERE MA...
• Aggirare la censura dei governi
• Partecipare alla discussione di argomenti sensibili senza subire il giudizio degli altri
• Non essere profilato commercialmente
• Autorità giudiziarie che non vuole essere identificate come tale durante le attività investigative
• Criminale che vede opportunità di business
• Criminale che comunica con altri criminali
• Persone che organizza truffe
• …
Tutte le tecnologie possono essere utilizzate per scopi criminali L’uso di strumenti di anonimizzazione non introduce dei nuovi
abusi
PRIVACY NELLE RETI PUBBLICHE (1) Internet:
• È un network pubblico
• Le cui informazioni di routing sono pubbliche
• l’uso dell’encryption non nasconde l’identità
• è facile da analizzare • non è stata concepita per scambiare o gestire dati sensibili
PRIVACY NELLE RETI PUBBLICHE (2)
No crypt
Crypt
THE ONION ROUTER CENNI STORICI • 1995 US Naval Research Laboratory • Paul Syverson, Roger Dingledine e David GoldSchlag
• 1997 DARPA
• Rilasciato nel 2002
• 2004 finanziato da EFF
• 2006 diventa the The TOR Project (Dingledine e Goldschlag)
TOR Onion routing è una tecnica di comunicazione anonima all’interno di una rete di computer.
Quindi inviati attraverso alcuni nodi della rete chiamati relay che creano un circuito di nodi
I messaggi sono criptati costantemente con una tecnica a ‘cipolla’
TOR PASSO PASSO 1. Selezione di un circuito anonimo 2. Creazione di un circuito anonimo 3. Costruisce una ‘cipolla’ a protezione dell’header e del
payload 4. Sposta la ‘cipolla’ attraverso il circuito anonimo
5. Distrugge i circuiti anonimi
SELEZIONE DI UN CIRCUITO ANONIMO
Il client Tor ottiene una lista dei nodi Tor da un directory server
https://www.archimedea.it
COSTRUZIONE DEL CIRCUITO
Il client Tor seleziona casualmente un circuito
4
3
5
ENCRYPTION OVVERO LA COSTRUZIONE DELLA ‘CIPOLLA’ E LO SPOSTAMENTO
Il client Tor crypta utilizzando le chiavi pubbliche di ciascun nodo in ordine inverso
Ogni nodo decrypta utilizzando la propria chiave privata per identificare q chi inviare sucessivamente il messaggio
L’ultimo nodo decrypta il messaggio originale e lo invia alla destinazione
4 3 5
43
5
Esempio di cipolla inviata dal client al nodo 4
Il nodo 4 decrypta il layer E{4u} utilizzando la propria chiave privata, per trovare l’IP del nodo successivo ed inviare il resto della cipolla
I SERVIZI NASCOSTI Diversi servizi web sono disponibili all’interno della rete TOR
■ Sono invisibili perché non è necessario effettuare alcun passaggio all’esterno della rete TOR ■ Proteggono dall’intercettazione sia l’utente che il servizio
ma questa è un’altra storia…
RASPBERRYPI E TOR
RASPAPTOR RASPYPI-ACCESS POINT-TOR
• RaspberryPI Model B • WiFi Adapter es.RTI8192 • SD 4GB • Alimentatore • Cavo Ethernet
RASPAPTOR RASPBIAN INSTALL
Scaricare l’immagine http://downloads.raspberrypi.org/raspbian_latest
Procedere con l’installazione
http://www.raspberrypi.org/documentation/installation/installing-images/
RASPAPTOR INSTALL ACCESS POINT 1
1. Utilizzare il comando lsusb per controllare se l’USB Ethernet adapter è riconosciuto correttamente dal Raspberry Pi.
2. Installare il software eseguendo: sudo apt-get install hostapd udhcpd
3. Configurare il DHCP server 1. Editare il file:
sudo nano /etc/dhcp/dhcpd.conf 2. Cerca le righe
option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org;
3. E modificale aggiungendo # all’inizio in questo modo: #option domain-name "example.org"; #option domain-name-servers ns1.example.org, ns2.example.org;
4. Cerca la riga #authoritative;
5. e rimuovi il carattere # in modo che diventi authoritative;
RASPAPTOR INSTALL ACCESS POINT 2
1. Posizionarsi alla fine del file ed inserire subnet 192.168.69.0 netmask 255.255.255.0 { range 192.168.69.10 192.168.69.50; option broadcast-address 192.168.69.255; option routers 192.168.69.1; default-lease-time 600; max-lease-time 7200; option domain-name "local"; option domain-name-servers 8.8.8.8, 8.8.4.4; }
2. Salvare il file ed eseguire sudo nano /etc/default/isc-dhcp-server
3. Cercare la keyword INTERFACES="" e sostituirla con INTERFACES="wlan0" 4. Eseguire
1. sudo ifdown wlan0 2. sudo nano /etc/network/interfaces per editare il file
RASPAPTOR INSTALL ACCESS POINT 3
1. Cercare la linea con auto wlan0 e commentarla insieme a quelle che vi si riferiscono
2. Aggiungi dopo la riga allow hotplug wlan0 Le righe: iface wlan0 inet static address 192.168.69.1 netmask 255.255.255.0
3. Assegna un indirizzo IP staticoall’adattatore WiFi eseguendo sudo ifconfig wlan0 192.168.69.1
RASPAPTOR INSTALL ACCESS POINT 4
1. Configuriamo quindi l’AP editando il file sudo nano /etc/hostapd/hostapd.conf
2. Inseriamo: interface=wlan0 driver=rtl871xdrv Ssid=tor_ap hw_mode=g channel=6 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0 wpa=2 wpa_passphrase=linuxday wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP rsn_pairwise=CCMP
3. Prestare attenzione alla riga driver= impostando il driver adatto al ns adattatore usb
RASPAPTOR INSTALL ACCESS POINT 5
1. Informiamo il Pi della posizione del file di configurazione eseguendo: sudo nano /etc/default/hostapd
2. Cercare e sostituire la riga: #DAEMON_CONF="" con DAEMON_CONF="/etc/hostapd/hostapd.conf” 3. Configuriamo il NAT, editiamo: sudo nano /etc/sysctl.conf 4. Aggiungere in fondo
net.ipv4.ip_forward=1 5. Eseguire sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward” 6. Abilitiamo il NAT:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
7. Eseguire sudo sh -c "iptables-save > /etc/iptables.ipv4.nat” per eseguirla automaticamente ad ogni reboot
RASPAPTOR INSTALL ACCESS POINT 6
1. Eseguire: sudo nano /etc/network/interfaces
2. Aggiungere alla fine up iptables-restore < /etc/iptables.ipv4.nat 3. Eseguire:
ps aux | grep -E 'hostapd|udhcpd’ Per verificare l’esecuzione di: hostapd e udhcpd
4. Riavviare con : sudo reboot Installiamo TOR
1. Eseguiamo sudo apt-get install tor editiamo il file sudo nano /etc/tor/torrc
RASPAPTOR INSTALL ACCESS POINT 7
1. Aggiungiamo in testa al file: Log notice file /var/log/tor/notices.log VirtualAddrNetwork 10.192.0.0/10 AutomapHostsSuffixes .onion,.exit AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 192.168.69.1 DNSPort 53 DNSListenAddress 192.168.69.1
2. Ripuliamo le vecchie NAT Tables sudo iptables -F
sudo iptables -t nat –F 3. Abilitiamo ssh se attivo
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 22 -j REDIRECT --to-ports 22
RASPAPTOR INSTALL ACCESS POINT 8
1. Abilitiamo DNS se attivo sudo iptables -t nat -A PREROUTING -i wlan0 -p udp --dport 53 -j REDIRECT --to-ports 53
2. Tutto il traffico della wlan0 verso tor porta 9040 sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --syn -j REDIRECT --to-ports 9040
3. Controllare infine le IPTABLES sudo iptables -t nat –L
4. Se tutto ok: sudo sh -c "iptables-save > /etc/iptables.ipv4.nat” 5. Infine attiviamo i logs:
sudo touch /var/log/tor/notices.log sudo chown debian-tor /var/log/tor/notices.log sudo chmod 644 /var/log/tor/notices.log
6. Avviamo il servizio: sudo service tor start 7. Facciamo in modo che parta sempre al boot: sudo update-rc.d tor enable
NOTIZIE E SITI Misurare la rete TOR https://metrics.torproject.org/index.html Intercettazioni TOR ed HTTPS https://www.eff.org/pages/tor-and-https Verificare la privacy:
• http://analyze.privacy.net/Default.asp
• http://ipduh.com/anonymity-check/
• https://check.torproject.org/
• http://darktor.com/check.cgi
Q&
A