Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
les instructions ci-dessous sont pour leur majeur partie tirées de ces tutos (en anglais) :
Le but de ce tutorial est de créer, à l'aide d'un raspberry, un point d'accès wifi (“hotspot”) qui route l'ensemble du traffic des appareils qui s'y connectent par Tor.
Lorsque vous connectez un appareil à ce hotspot, l'ensemble du trafic est redirigé sur Tor. Cela peut être utile dans les cas de figure suivants:
On commence par une petite mise à jour du système, cela ne peut pas faire de mal :
sudo apt update && sudo apt dist-upgrade
On vérifie que les deux interfaces désirées sont reconnues :
ifconfig -a
eth0 Link encap:Ethernet HWaddr XXX inet6 addr: XXX Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16514 errors:0 dropped:0 overruns:0 frame:0 TX packets:16514 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:35719859 (34.0 MiB) TX bytes:35719859 (34.0 MiB) wlan0 Link encap:Ethernet HWaddr XXX inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::93d8:59fb:5c7a:1a86/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:378004 errors:0 dropped:0 overruns:0 frame:0 TX packets:206942 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:205328121 (195.8 MiB) TX bytes:101559626 (96.8 MiB) wlan1 Link encap:Ethernet HWaddr XXX UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
comme on le voit ici, l'interface wlan1, qui correspond à l'adaptateur wifi, est reconnue mais pas encore configurée. C'est elle qui servira de point d'accès wifi
sudo apt install hostapd isc-dhcp-server
sudo apt install iptables-persistent
Il s'agit maintenant d'éditer le fichier /etc/dhcp/dhcpd.conf
, pour permettre à notre futur point d'accès d'attribuer automatiquement les plages d'adresses IP locales et de gérer les DNS.
Commencez par faire un backup du fichier :
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp dhcpd.conf.back
Ensuite remplacez l'ensemble du contenu du fichier /etc/dhcp/dhcpd.conf
par les lignes suivantes :
authoritative; default-lease-time 600; max-lease-time 7200; subnet 192.168.42.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.42.255; option routers 192.168.42.1; option domain-name-servers 192.168.42.1; range 192.168.42.1 192.168.42.100; }
Ensuite, éditez le fichier /etc/default/isc-dhcp-server
nano /etc/default/isc-dhcp-server
Et ajoutez remplacez INTERFACES=“”
par INTERFACES=“wlan1”
ainsi :
# Defaults for isc-dhcp-server initscript # sourced by /etc/init.d/isc-dhcp-server # installed at /etc/default/isc-dhcp-server by the maintainer scripts # # This is a POSIX shell fragment # # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). #DHCPD_CONF=/etc/dhcp/dhcpd.conf # Path to dhcpd's PID file (default: /var/run/dhcpd.pid). #DHCPD_PID=/var/run/dhcpd.pid # Additional options to start dhcpd with. # Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead #OPTIONS="" # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="wlan1"
sudo nano /etc/network/interfaces
iface wlan1 inet static address 192.168.42.1 netmask 255.255.255.0
Après avoir sauvegardé vos modifications, attribuez l'adresse statique 192.168.42.1 à votre point d'accès :
sudo ifconfig wlan1 192.168.42.1
ou wlan0…
Nous allons maintenant configurer le point d'accès, et lui donner un mot de passe.
Créer un nouveau fichier hostapd.conf
en entrant la commande suivante :
sudo nano /etc/hostapd/hostapd.conf
et entrez les lignes suivantes :
interface=wlan1 ssid=Onion country_code=FR hw_mode=g channel=11 macaddr_acl=0 #auth_algs=1 ignore_broadcast_ssid=0 wpa=1 wpa_passphrase=raspberry wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP wpa_group_rekey=86400 ieee80211n=1 wme_enabled=1
Une fois le fichier sauvegardez, éditez le fichier /etc/default/hostapd:
sudo nano /etc/default/hostapd
et modifiez la ligne :
#DAEMON_CONF=""
ainsi :
DAEMON_CONF="/etc/hostapd/hostapd.conf"
# Defaults for hostapd initscript # # See /usr/share/doc/hostapd/README.Debian for information about alternative # methods of managing hostapd. # # Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration # file and hostapd will be started during system boot. An example configuration # file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz # DAEMON_CONF="/etc/hostapd/hostapd.conf" # Additional daemon options to be appended to hostapd command:- # -d show more debug messages (-dd for even more) # -K include key data in debug messages # -t include timestamps in some debug messages # # Note that -B (daemon mode) and -P (pidfile) options are automatically # configured by the init.d script and must not be added to DAEMON_OPTS. # #DAEMON_OPTS=""
Même chose avec le fichier /etc/init.d/hostapd, remplacez :
DAEMON_CONF=
par :
DAEMON_CONF=/etc/hostapd/hostapd.conf
sudo nano /etc/init.d/hostapd
#!/bin/sh ### BEGIN INIT INFO # Provides: hostapd # Required-Start: $remote_fs # Required-Stop: $remote_fs # Should-Start: $network # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Advanced IEEE 802.11 management daemon # Description: Userspace IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP # Authenticator ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON_SBIN=/usr/sbin/hostapd DAEMON_DEFS=/etc/default/hostapd DAEMON_CONF=/etc/hostapd/hostapd.conf NAME=hostapd DESC="advanced IEEE 802.11 management" PIDFILE=/run/hostapd.pid [ -x "$DAEMON_SBIN" ] || exit 0 [ -s "$DAEMON_DEFS" ] && . /etc/default/hostapd [ -n "$DAEMON_CONF" ] || exit 0 DAEMON_OPTS="-B -P $PIDFILE $DAEMON_OPTS $DAEMON_CONF" . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting $DESC" "$NAME" start-stop-daemon --start --oknodo --quiet --exec "$DAEMON_SBIN" \ --pidfile "$PIDFILE" -- $DAEMON_OPTS >/dev/null log_end_msg "$?" ;; stop) log_daemon_msg "Stopping $DESC" "$NAME" start-stop-daemon --stop --oknodo --quiet --exec "$DAEMON_SBIN" \ --pidfile "$PIDFILE" log_end_msg "$?" ;; reload) log_daemon_msg "Reloading $DESC" "$NAME" start-stop-daemon --stop --signal HUP --exec "$DAEMON_SBIN" \ --pidfile "$PIDFILE" log_end_msg "$?" ;; restart|force-reload) $0 stop sleep 8 $0 start ;; status) status_of_proc "$DAEMON_SBIN" "$NAME" exit $? ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|reload|status}" >&2 exit 1 ;; esac exit 0
Installez le paquet Tor :
sudo apt install tor
Ajoutez les lignes suivantes à la fin du fichier /etc/tor/torrc:
sudo nano /etc/tor/torrc
VirtualAddrNetwork 10.192.0.0/10 AutomapHostsSuffixes .onion,.exit AutomapHostsOnResolve 1 TransPort 192.168.42.1:9040 TransListenAddress 192.168.42.1 DNSPort 192.168.42.1:53 DNSListenAddress 192.168.42.1
Note: si vous utilisez une version antérieure à Debian Buster, ajoutez les lignes suivantes à la fin du fichier /etc/tor/torrc:
VirtualAddrNetwork 10.192.0.0/10 AutomapHostsSuffixes .onion,.exit AutomapHostsOnResolve 1 TransPort 9040 TransListenAddress 192.168.42.1 DNSPort 53 DNSListenAddress 192.168.42.1
Enclenchez l'ip forwarding au démarrage de la machine en ajoutant net.ipv4.ip_forward=1
sur une nouvelle ligne tout à la fin du fichier /etc/sysctl.conf :
sudo nano /etc/systctl.conf
# Do not send ICMP redirects (we are not a router) #net.ipv4.conf.all.send_redirects = 0 # # Do not accept IP source route packets (we are not a router) #net.ipv4.conf.all.accept_source_route = 0 #net.ipv6.conf.all.accept_source_route = 0 # # Log Martian Packets #net.ipv4.conf.all.log_martians = 1 # net.ipv4.ip_forward=1
Puis entrez la commande suivante pour activer l'ip forwarding immédiatement :
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Maintenant il s'agit d'entrer les règles iptables qui vont permettre de router les connexions au point d'accès (wlan1 chez moi) par Tor.
On commence par supprimer les règles existantes, au cas où :
sudo iptables -F
sudo iptables -t nat -F
Ensuite on entre les deux commandes suivantes :
sudo iptables -t nat -A PREROUTING -i wlan1 -p udp --dport 53 -j REDIRECT --to-ports 53
sudo iptables -t nat -A PREROUTING -i wlan1 -p tcp --syn -j REDIRECT --to- ports 9040
Enfin, on sauvegarde ces règles pour qu'elles persistent au redémarrage du Raspberry :
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
Testez manuellement votre point d'accès en entrant la commande suivante :
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
Si tout fonctionne, vous devriez voir apparaître un nouveau réseau wifi appelé Onion
2).
Essayez de vous y connecter et testez votre adresse IP dans un navigateur, en vous rendant sur une page qui vous renseigne sur votre adresse IP et votre navigateur (il en existe des centaines), comme whoer.net
.
Entrez les commandes suivantes pour activer votre point d'accès au démarrage de la machine :
sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable
Il y a des chances que vous n'y arriviez pas du premier coup.
Les commandes suivantes :
sudo service hostapd status
sudo service isc-dhcp-server status
vous permettent d'inspecter l'état des services du point d'accès.
Cela peut vous donner des indications précieuses en cas d'erreur.
Vous pouvez également vérifier que Tor fonctionne :
sudo service tor status
Enfin, si vous n'y arrivez vraiment pas, je vous suggère de tout reprendre depuis le début en vous référant à la documentation à l'origine d'adafruit :
Peut-être qu'il vaut mieux d'abord s'assurer que vous parvenez à faire fonctionner un point d'accès wifi simple, avant d'essayer de le torréifier.
Ce point d'accès wifi à lui seul ne suffit pas à vous rendre anonyme !
Si vous vous y connectez avec vos appareils habituels, les cookies de vos navigateurs, les préférences de vos apps, etc… suffisent à vous déanonymiser !
De plus, vous pourrez rencontrer des problèmes à vous connecter à vos services habituels (messageries, etc.).