SlideShare a Scribd company logo
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... 
• 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 
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
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
TOR - The Onion Router

More Related Content

What's hot

SSH - Secure Shell
SSH - Secure ShellSSH - Secure Shell
SSH - Secure Shell
Peter R. Egli
 
Installation de snort avec pulled pork
Installation de snort avec pulled porkInstallation de snort avec pulled pork
Installation de snort avec pulled pork
SamiMessaoudi4
 
PACKET Sniffer IMPLEMENTATION
PACKET Sniffer IMPLEMENTATIONPACKET Sniffer IMPLEMENTATION
PACKET Sniffer IMPLEMENTATION
Goutham Royal
 
Sécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFISécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFI
Soukaina Boujadi
 
What is Tails OS ?
What is Tails OS ?What is Tails OS ?
What is Tails OS ?
PriyanshuPorwal7
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
Thomas Moegli
 
Ağ tabanlı Saldırı Tespit Sistemleri
Ağ tabanlı Saldırı Tespit SistemleriAğ tabanlı Saldırı Tespit Sistemleri
Ağ tabanlı Saldırı Tespit Sistemleriosmncht
 
Wireshark Traffic Analysis
Wireshark Traffic AnalysisWireshark Traffic Analysis
Wireshark Traffic Analysis
David Sweigert
 
SNMP Network Tracker Project
SNMP Network Tracker ProjectSNMP Network Tracker Project
SNMP Network Tracker Project
Praveen Mathews
 
Mise en place d'un wifi securise
Mise en place d'un wifi securiseMise en place d'un wifi securise
Mise en place d'un wifi securise
JUNIOR SORO
 
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımıSüleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Kasım Erkan
 
Nmap
NmapNmap
Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)
Edouard DEBERDT
 
Firewall
FirewallFirewall
Firewall
Yadh Krandel
 
Introduction to YARA rules
Introduction to YARA rulesIntroduction to YARA rules
Introduction to YARA rules
n|u - The Open Security Community
 
DHCP sous fedora
DHCP sous fedora DHCP sous fedora
DHCP sous fedora Souhaib El
 
Cours eigrp i pv4 et ipv6
Cours eigrp i pv4 et ipv6Cours eigrp i pv4 et ipv6
Cours eigrp i pv4 et ipv6
EL AMRI El Hassan
 
SquirrelMail for webmail
SquirrelMail for webmailSquirrelMail for webmail
SquirrelMail for webmail
Aryman Gautam
 
wolfSSL and TLS 1.3
wolfSSL and TLS 1.3wolfSSL and TLS 1.3
wolfSSL and TLS 1.3
wolfSSL
 

What's hot (20)

SSH - Secure Shell
SSH - Secure ShellSSH - Secure Shell
SSH - Secure Shell
 
Installation de snort avec pulled pork
Installation de snort avec pulled porkInstallation de snort avec pulled pork
Installation de snort avec pulled pork
 
PACKET Sniffer IMPLEMENTATION
PACKET Sniffer IMPLEMENTATIONPACKET Sniffer IMPLEMENTATION
PACKET Sniffer IMPLEMENTATION
 
Sécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFISécurité des réseaux sans fil WIFI
Sécurité des réseaux sans fil WIFI
 
What is Tails OS ?
What is Tails OS ?What is Tails OS ?
What is Tails OS ?
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
 
Ağ tabanlı Saldırı Tespit Sistemleri
Ağ tabanlı Saldırı Tespit SistemleriAğ tabanlı Saldırı Tespit Sistemleri
Ağ tabanlı Saldırı Tespit Sistemleri
 
Memoire_cedric
Memoire_cedricMemoire_cedric
Memoire_cedric
 
Wireshark Traffic Analysis
Wireshark Traffic AnalysisWireshark Traffic Analysis
Wireshark Traffic Analysis
 
SNMP Network Tracker Project
SNMP Network Tracker ProjectSNMP Network Tracker Project
SNMP Network Tracker Project
 
Mise en place d'un wifi securise
Mise en place d'un wifi securiseMise en place d'un wifi securise
Mise en place d'un wifi securise
 
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımıSüleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
Süleyman Özarslan - Cyber kill chain modeli güvenlik denetim yaklaşımı
 
Nmap
NmapNmap
Nmap
 
Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)Introduction au Software Defined Networking (SDN)
Introduction au Software Defined Networking (SDN)
 
Firewall
FirewallFirewall
Firewall
 
Introduction to YARA rules
Introduction to YARA rulesIntroduction to YARA rules
Introduction to YARA rules
 
DHCP sous fedora
DHCP sous fedora DHCP sous fedora
DHCP sous fedora
 
Cours eigrp i pv4 et ipv6
Cours eigrp i pv4 et ipv6Cours eigrp i pv4 et ipv6
Cours eigrp i pv4 et ipv6
 
SquirrelMail for webmail
SquirrelMail for webmailSquirrelMail for webmail
SquirrelMail for webmail
 
wolfSSL and TLS 1.3
wolfSSL and TLS 1.3wolfSSL and TLS 1.3
wolfSSL and TLS 1.3
 

Similar to TOR - The Onion Router

Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewall
Fulvio Corno
 
Installare i server via rete con Cobbler
Installare i server via rete con CobblerInstallare i server via rete con Cobbler
Installare i server via rete con Cobbler
Babel
 
Darknet 1.2.2
Darknet 1.2.2Darknet 1.2.2
Darknet 1.2.2
Alessandro Selli
 
Progetto Netkit
Progetto NetkitProgetto Netkit
Progetto Netkit
Florin D. Tanasache
 
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Camelug Fava
 
Traffic Shaping Su Linux
Traffic Shaping Su LinuxTraffic Shaping Su Linux
Traffic Shaping Su LinuxMajong DevJfu
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
Fulvio Corno
 
Dark net.1203
Dark net.1203Dark net.1203
Dark net.1203
Emanuele Florindi
 
Penetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferPenetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network Sniffer
Simone Onofri
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
Claudio Cardinali
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b
Alfredo Morresi
 
TCP IP
TCP IPTCP IP
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018
Andrea Tosato
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking Engineering
NaLUG
 
Network_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptxNetwork_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptx
ManlioSantonastaso
 
14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh EccMauro Ferrigno
 
From Scratch To Network - User mode linux
From Scratch To Network - User mode linuxFrom Scratch To Network - User mode linux
From Scratch To Network - User mode linuxMajong DevJfu
 
Idp, passo dopo passo!
Idp, passo dopo passo!Idp, passo dopo passo!
Idp, passo dopo passo!
Claudio Marotta
 
Pf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open sourcePf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open source
Giovanni Bechis
 

Similar to TOR - The Onion Router (20)

Packet Sniffing
Packet SniffingPacket Sniffing
Packet Sniffing
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewall
 
Installare i server via rete con Cobbler
Installare i server via rete con CobblerInstallare i server via rete con Cobbler
Installare i server via rete con Cobbler
 
Darknet 1.2.2
Darknet 1.2.2Darknet 1.2.2
Darknet 1.2.2
 
Progetto Netkit
Progetto NetkitProgetto Netkit
Progetto Netkit
 
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
Snort React per Webfiltering : "Soluzioni per le Leggi-Lista"
 
Traffic Shaping Su Linux
Traffic Shaping Su LinuxTraffic Shaping Su Linux
Traffic Shaping Su Linux
 
Richiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatoriRichiami su Linux - Webmin - Reti di calcolatori
Richiami su Linux - Webmin - Reti di calcolatori
 
Dark net.1203
Dark net.1203Dark net.1203
Dark net.1203
 
Penetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network SnifferPenetration Testing con Python - Network Sniffer
Penetration Testing con Python - Network Sniffer
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b
 
TCP IP
TCP IPTCP IP
TCP IP
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018
 
Security and hacking Engineering
Security and hacking EngineeringSecurity and hacking Engineering
Security and hacking Engineering
 
Network_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptxNetwork_Forensics_Analysis_Tool.pptx
Network_Forensics_Analysis_Tool.pptx
 
14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc14 Linux Network Tenet Ssh Ecc
14 Linux Network Tenet Ssh Ecc
 
From Scratch To Network - User mode linux
From Scratch To Network - User mode linuxFrom Scratch To Network - User mode linux
From Scratch To Network - User mode linux
 
Idp, passo dopo passo!
Idp, passo dopo passo!Idp, passo dopo passo!
Idp, passo dopo passo!
 
Pf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open sourcePf e netfilter, analisi dei firewall open source
Pf e netfilter, analisi dei firewall open source
 

TOR - The Onion Router

  • 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
  • 5. PRIVACY NELLE RETI PUBBLICHE (2) No crypt Crypt
  • 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
  • 10. COSTRUZIONE DEL CIRCUITO Il client Tor seleziona casualmente un circuito 4 3 5
  • 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…
  • 14. RASPAPTOR RASPYPI-ACCESS POINT-TOR • RaspberryPI Model B • WiFi Adapter es.RTI8192 • SD 4GB • Alimentatore • Cavo Ethernet
  • 15. RASPAPTOR RASPBIAN INSTALL Scaricare l’immagine http://downloads.raspberrypi.org/raspbian_latest Procedere con l’installazione http://www.raspberrypi.org/documentation/installation/ installing-images/
  • 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
  • 25. Q&A