TOR The Onion Router project Marcello Viti marcello@linux.it
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... Criminale che vede opportunità di business Aggirare la censura dei governi Partecipare alla Criminale che comunica discussione di argomenti Tutte con le altri tecnologie criminali possono essere utilizzate sensibili per senza scopi subire criminali il L uso Persone di strumenti che organizza di anonimizzazione giudizio non introduce degli altri dei nuovi truffe abusi Non essere profilato commercialmente Autorità giudiziarie che non vuole essere identificate come tale durante le attività investigative
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. I messaggi sono criptati costantemente con una tecnica a cipolla Quindi inviati attraverso alcuni nodi della rete chiamati relay che creano un circuito di nodi
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 4 Il client Tor seleziona casualmente un circuito 3 5
ENCRYPTION OVVERO LA COSTRUZIONE DELLA CIPOLLA E LO SPOSTAMENTO Esempio di cipolla inviata dal client al nodo 4 4 3 5 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 4 3 5 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
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