TOR - linuxday 2014
Transcript
TOR - linuxday 2014
TOR The Onion Router project Marcello Viti [email protected] 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 con altri criminali Tutte le tecnologie possono essere utilizzate persenza scopisubire criminali sensibili il degli altri di strumenti di anonimizzazionegiudizio non introduce dei nuovi ¥!LÕuso Persone che organizza abusi ¥! Non essere profilato truffe 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) pt No cry t Cryp 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 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 4 Il client Tor crypta utilizzando le chiavi pubbliche di ciascun nodo in ordine inverso 3 Ogni nodo decrypta utilizzando la propria chiave privata per identificare q chi inviare sucessivamente il messaggio 5 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