1. TOR
The Onion Router project
Marcello Viti
marcello@linux.it
2. 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à.
3. 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
4. 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
6. 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)
7. 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’
8. 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
9. SELEZIONE DI UN
CIRCUITO ANONIMO
Il client Tor
ottiene una lista
dei nodi Tor da
un directory
server
https://www.archimedea.it
11. 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
4
3
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
12. 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…
16. 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;
17. 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
18. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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