J'ai un problème avec tor et obfsproxy pour utiliser des ponts sur Ubuntu 14.04. Tor ne peut pas démarrer obfsproxy et renvoie toujours l'autorisation refusée.
grep -v "^#" /etc/tor/torrc | sed '/^$/d'
UseBridges 1
Bridge obfs2 192.36.27.216:55313 fccb4bf2a7b89b070902bdd05923c255fb4b0bdb
ClientTransportPlugin obfs2,obfs3 exec /usr/bin/obfsproxy --managed
tail -f /var/log/tor/log
Aug 01 13:06:30.000 [notice] Tor 0.2.4.23 (git-05b81fcd2a655c5a) opening new log file.
Aug 01 13:06:30.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Aug 01 13:06:30.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Aug 01 13:06:30.000 [warn] OpenSSL version from headers does not match the version we're running with. If you get weird crashes, that might be why. (Compiled with 1000105f: OpenSSL 1.0.1e 11 Feb 2013; running with 1000106f: OpenSSL 1.0.1f 6 Jan 2014).
Aug 01 13:06:33.000 [warn] Could not launch managed proxy executable at '/usr/bin/obfsproxy' ('Permission denied').
Aug 01 13:06:34.000 [notice] Bootstrapped 5%: Connecting to directory server.
Aug 01 13:06:34.000 [warn] We were supposed to connect to bridge '192.36.27.216:55313' using pluggable transport 'obfs2', but we can't find a pluggable transport proxy supporting 'obfs2'. This can happen if you haven't provided a ClientTransportPlugin line, or if your pluggable transport proxy stopped running.
Prémisse
Comment configurer Tor et Obfsproxy:
- https://www.torproject.org/projects/obfsproxy-debian-instructions
Selon ce rapport de bogue:
https://trac.torproject.org/projects/tor/ticket/6996
... l'erreur de permission obfsproxy est déclenchée par le script tor init (au moins sur debian/ubuntu) à cause d'un script incorrect pour apparmor (/etc/apparmor.d/system_tor
)
donc, fondamentalement, approuch est d’arrêter le service et de lancer tor directement de manière simple et directe:
Sudo service tor stop && tor
cela devrait fonctionner (n'utilisez pas Sudo
pour lancer tor ou vous obtiendrez une erreur différente :(
Meilleure solution
consiste à fixer le profil d’apparateur de manière à ce que le service soit démarré correctement
/etc/apparmor.d/system_tor
/usr/bin/obfsproxy Ux,
Sudo service apparmor restart
)Donc, le profil devrait ressembler à quelque chose comme ça:
# vim:syntax=apparmor
#include <tunables/global>
profile system_tor {
#include <abstractions/tor>
owner /var/lib/tor/** rwk,
owner /var/log/tor/* w,
/usr/bin/obfsproxy Ux, ## this is the FIX
/{,var/}run/tor/control w,
/{,var/}run/tor/tor.pid w,
/{,var/}run/tor/control.authcookie w,
/{,var/}run/tor/control.authcookie.tmp rw,
# Site-specific additions and overrides. See local/README for details.
#include <local/system_tor>
}
J'ai modifié apparmor profil / etc/apparmor.d/system_tor, je viens d'ajouter trois lignes:
/usr/bin/obfsproxy PUx,
profile /etc/apparmor.d/usr.bin.obfsproxy {
}
Échantillon de fichier entier:
# vim:syntax=apparmor
#include <tunables/global>
profile system_tor flags=(attach_disconnected) {
#include <abstractions/tor>
/usr/bin/obfsproxy PUx,
profile /etc/apparmor.d/usr.bin.obfsproxy {
}
owner /var/lib/tor/** rwk,
owner /var/lib/tor/ r,
owner /var/log/tor/* w,
# During startup, tor (as root) tries to open various things such as
# directories via check_private_dir(). Let it.
/var/lib/tor/** r,
/{,var/}run/tor/ r,
/{,var/}run/tor/control w,
/{,var/}run/tor/socks w,
/{,var/}run/tor/tor.pid w,
/{,var/}run/tor/control.authcookie w,
/{,var/}run/tor/control.authcookie.tmp rw,
/{,var/}run/systemd/notify w,
# Site-specific additions and overrides. See local/README for details.
#include <local/system_tor>
}
ligne
/usr/bin/obfsproxy PUx,
J'ai pris de la poste ci-dessus
Les versions les plus récentes d'Ubuntu requièrent que /etc/apparmor/system_tor
soit comme ceci:
# vim:syntax=apparmor
#include <tunables/global>
profile system_tor {
#include <abstractions/tor>
owner /var/lib/tor/** rwk,
owner /var/log/tor/* w,
/usr/bin/obfsproxy PUx, ## this is the FIX
/{,var/}run/tor/control w,
/{,var/}run/tor/tor.pid w,
/{,var/}run/tor/control.authcookie w,
/{,var/}run/tor/control.authcookie.tmp rw,
# Site-specific additions and overrides. See local/README for details.
#include <local/system_tor>
}
Prenez note du PUx
au lieu du Ux
tel qu’il serait utilisé dans les versions précédentes d’Ubuntu.