Context Navigation

This is a list of questions people wish were answered in the [:../TorFAQ]; please add some more. Better yet answer one and move it to [:../TorFAQ]. Finally you can vote for a question to be answered by incrementing the number after the question in parens.

Please do not report bugs here; instead, use the ​bug tracker. Soon, we'll designate one of the proposed bug servers as official, and you'll be able to post bugs there too.

Unanswered FAQ Questions

If an attacker has access to past logs of ISP and any given visted site, does the prng of the tor client allow the attacker to guess which circuit it used next?

Tor uses cryptographically strong random numbers provided by OpenSSL when choosing nodes to use in a circuit. How OpenSSL implements this is operating system specific. If there's a weakness in Tor's method of choosing nodes, it probably isn't in the random number generator.

* Hmm, if the prng is deterministic, and you can narrow one result of calling it by knowing what host was chosen, can you, knowing the algorithm, however good it is, thereby narrow the result of the next call to it? This question might be a bit ignorant; for example the prng might use other data on the client computer instead of following an algorithm to return the next item.

* Thanks for your comments, BTW, as a lot of us are wondering the answers to these FAQU.

* It has nothing todo with determinism. It is a matter of predictability. Without using real entropy, everything done on conventional computers should be deterministic (try teling that to people who use Windows ;). However, the part that we are interested in is whether someone can predict what Tor is going to next choose.

Cryptographic number generators have the property that they (shouldn't) give up their internal state by their external outputs quickly. So, unless the attacker gets to see a lot of outputs - node choices - without reseeding from real entropy they are pretty much screwed provided the cryptograpphic prng isn't broken.

Is there a signal i can send the tor client to tell it to switch circuits immediately?

You can connect to Tor's control port and send "authenticateCRLFsignal newnymCRLF" where CRLF is a carriage return line feed pair.

Why does Firefox/Privoxy/Tor return Privoxy 404 pages so frequently -- almost every time -- when properly configured, even on sites like google.com? How to mitigate? The tor process is running fine.
(Votes: 2)

The first problem is that Privoxy doesn't retry in case of
DNS errors. It shows the 404 no such domain message right away.
The second problem is that some browser cache Privoxy's error
messages and Firefox is one of them.

For that matter, why is DNS the main failure mode? Who is timing out and why? Can Tor (1) change the timeout, (2) deprecate bad servers, or (3) cache DNS locally so it doesn't have to make a long, slow, failure-prone DNS lookup every time?

You should be sending hostnames to Tor over SOCKS4a or SOCKS5. In that case, the Tor exit node will resolve the hostname before making a connection for you. Unless the exit node is misconfigured, there shouldn't be a problem with DNS resolves timing out.

* Actually, for me this happens most of the time. I am sending through Privoxy, and tried both sockses. So why would I be hitting so many exit nodes that FREQUENTLY time out on DNS? Firefox 1.5, most recent stable Tor.

Is the reason that gmail rarely works: gmail, tor, privoxy, firefox, your own bandwidth/latency, tor's bw/latency, or some combination? Is it fixable?

* For Gmail for me, it's even worse; I have to try 5 or 6 times before I get a page.

Why is the argument against more than 3 hops that both-ends attacks are the enemy? Wouldn't it be better to have more than 3 if the enemy cannot mount a both-ends attack?

This is two questions, really.

To understand it better, think from the perspective of an attacker. They have a choice: they can make a both-ends attack, an attack comprising the hops and both.

Now, at this point you need to think what attacker you are trying to defend against. The NSA? Sorry, your screwed - find something else. A big company? Some rogue ISP's? Ok, now that's something that Tor may be able to defend against...

Now, what information are you - the attacker - trying to find? Who is talking to who? Content of some transmissions? Both?

Well, for finding content of transmissions your best way is to just listen in on some exit nodes.. or create some malicious ones. That's not the attack threat we're trying to defend against, then.
For finding who is talking to who? Ok, let's say that's what we're trying to find out.

From this perspective, what is needed to mount a both-ends attack? Listening on both ends. If there is some mitigation technique used - like random timing - compromising those both ends could come in handy (at this point, more hops would really be useful). But there isn't - AFAIK - and so we shall suppose that listening on both ends is enough.

Now, what is the alternative option? Listening to all the hops AS WELL? Oh dear, that's a little harder.. and what does it bring us? Well, we can get slightly more accurate results - maybe - as we can more closely correlate. This, of course, gets yet better if we compromise some of those hops.

The key word here is slightly. Provided the number of hops is a constant - so you can get a reasonably accurate latency estimate - then, over a longer enough period of time, you will be able to correlate and get your results.

The key word here is slightly. Provided the number of hops is a constant - so you can get a reasonably accurate latency estimate - then, over a longer enough period of time, you will be able to correlate and get your results.

So, yes, the hops will make it slightly more secure. But only slightly. And yes, in some cases, it may be really useful.. but in those cases, you probably should be using something with much stronger anonymity than tor (if someone knowing what your saying is unacceptable, don't use tor.. not, at any rate, on it's own).

Now, then, what are the disadvantages to more hops? More bandwidth is used. Latency is increased.

Despite this, it's possible that having number of hops as an easily configurable option is not a bad idea... I would guess that there is an excess of middle-man nodes with the recent draconian laws in some parts of the Western oh so free world that make people interested in privacy yet at the same time too scared to actually stick their neck out. In this case, Tor as a network would likely not lose much by doing that.

* I ommitted elaboration of the cases where more hops would be really useful (I think I forgot about it..). These cases are generally when traffic originating from an exit node is wanted to be tracked down and a response can be made quickly, but does not have global observer capabilities. In that case, in order to find the entry node, going through each hop is the only sensible solution in a network with > 50 servers. How much you would gain from extra hops is difficult to answer.. it would depend, I think, on how often circuits rotate and the probability of a hop being out of the grasp of the attackers. Hops are, I think, probably most useful when you - or your data - specifically are being targeted..

How can I be sure that sending DNS through tor doesn't get spoofed sites?

Use a method for authenticating the site you want to connect to, such as ensuring an SSL certificate is associated with the domain name and signed by a trusted authority, or verifying an SSH fingerprint out-of-band. Hidden services on Tor are not subject to this problem because their .onion names are self-authenticating as hashes of their public keys.

How does tor relate to ipv6 and how should typical applications handle ipv6 if they use tor (or tor via Privoxy)?

Like a dog talking to a quasar... I never was good with similes.

Tor carries TCP data (does it? Maybe it just carries some data that is then transported over TCP... I know, for instance, that it also contains IP and port... TCP doesn't) over another layer - currently IPv4. There is work to make Tor work with IPV6, but I am not aware of it being completed.

As for how an application would interface with it -- depends. It could use SOCKS; in that case, I think it would have to use SOCKS5 in the event of addressing IPv6 (rather than domains). This could be hacked around by adding a .ipv6 domain - nasty.

Privoxy? Same as currently, if it handles it..

What version of libevent should I be using?

the latest. at least 1.1

How to use Tor in squid? For using Tor on a network using Squid as proxy, for example...

How to use Tor with PF (Packet Filter, found in OpenBSD, NetBSD, DragonFlyBSD and FreeBSD)?

How does Tor work with tabbed browsing, say with Firefox? Do these requests all follow the same circuit through the Tor network? Can an eavesdropper link a user across all sites opened simultaneously in tabs?

ver 1.5 Works fine for me, I use No-Script Plugin to help be even safer. Anyone else have a problem with Firefox. Weither the request follow the same curcuit is out of my realm. My surfing experience is good to just fine. ProBastion

When using the Tor/Privoxy configuration, is there an easy way to switch Privoxy between using Tor and using the standard connection (to allow for secure browsing, but also allowing a more direct connection when needed to keep large file transfers from bogging down in Tor)?

It is possible to do this - however, it involves manually editing the config files for Privoxy, as well as possessing administrative/sudo access for your machine. Also, once Privoxy is toggled to use a direct connection instead of Tor, your IP will be visible, and Privoxy does n ot provide as much security alone as it does with Tor.

If you wish to do this, you will need to make a copy of your Privoxy config file, and comment out the line that causes Privoxy to use the Tor service. Once you have done this, to switch over, just stop Privoxy, swap the config files, and restart it. You can also automate the process with a very simple shell script - an OSX version including sample config files and a shell script can be found ​here, and the script can be used as an example for other *nix systems.

Tor works fine for POP3 email. But, Whistle-blowers and others who need anonymous
political free speech must have reliable SSL smtp email services. How can Tor be used
by them when *all* smtp ports, eg, ports 25, 465, 587, etc are now blocked by Tor exit
servers? Blocking port 25 helps to defeat spammers, but the smtp SSL/TLS ports are not
generally not used by them. Is there any solution with Tor to help the free speech folk
and others who need to use secure, reliable smtp services? (votes: 6)

How would one route his email through Tor? My email client (Microsoft Entourage for Mac OS X) has support for SOCKS and TUNNEL proxies, but setting my mail proxy for SOCKS 127.0.0.1 port 9050 or 8118 both produces errors when trying to proxy to SSL SMTP servers via port 25. What am I missing here? Also, setting this proxy doesn't seem to affect incoming POP3 SSL mail, but only affects outgoing mail, albeit without success. A little guidance on how to configure POP3 email clients to use Tor would be much appreciated'''

An attempt to answer the smtp email questions above: The Tor exit servers are likely blocking smtp port 25 in an attempt to stop spammers. Some Tor exit servers *sporadically* allow TLS/SSL smtp over ports 587, 995, etc., but at the present time there is no consistent, reliable policy or service. (Also your remote email provider must support the use of alternate smtp ports such as those above.) You could use the remailer network but there can be reliability problems with them. Of greater importance is the fact that the remailer network does NOT accept large messages, e.g., scanned documents which can easily be many MB each. If you are a whistleblower or other person who needs to send large documents quickly and anonymously, you have a real problem. At this moment, Tor is not the answer.

Can Tor be used in a network that has NO DEFAULT ROUTE? The only access method from this network is to use a traditional proxy. Is there a way to chain proxies so that TOR requests are sent outbound via the standard proxy? (votes: 1)

Maybe. If you can get some routes for the Tor servers, then that of course is great.... assuming it must go through the proxy, however, it will need to support sending Tor requests.

Assuming it does.. AFAIK, Tor doesn't have built-in support directly for this. So, you'll have to make it look to Tor like it really can connect .. err.. normally.

I can see several ways of doing this.

You could overload the network commands and have them actually connect to the proxy.. that's easy but a hack.

You could try doing something with OpenVPN; personally, I don't have any experience with it... but I'm guessing you could do something neat with it (I remember someone setting up an OpenVPN with Tor being used to route things.. so it supports socks, I think, in some way. In that case, assuming the proxy is socks... all done :) Oterwise, you could write an interface to make it socks).

Is there any way to forward an ident response via TOR so that the ident doesn't come back as whatever the end server wants, but your normal response? (votes: 1)

no.

How can I uninstall tor? (votes: 1)

I have legal questions about running Tor. Is there anybody I can contact? ( votes: 1)

Added 2.1.06- The Developers do not provide Legal advice. period! Over at the Tor Legal FAQ there is a written section by EFF lawyers. It aims to give you an overview of some of the legal issues that arise from the Tor project. Read the Disclaimer. The FAQ does provide a dialougue on the legalality & posssible scenarios of operating a Tor Server. They also provide you with contact information to a EFF Lawyer. The Tor FAQ also provides a links to an Abuse FAQ, & Tor Technical FAQ Wiki. See this address for more information along these lines. ​http://tor.eff.org/faq.html

If I set up Tor to only act as a router node (reject *:* in torrc) can I still be a contact point for hidden services?

yes.

Can anonymity be broken if all Tor servers in the chain are compromised/malicious and so are keeping logs to trace the chain?

Yes. Indeed, if all the servers in a circuit are compromised then they need not even be communicated with.. the entry node can decipher for all the (possibly even non-existent) nodes. In order to maintain a superficial view of anonymity, it would probably be good to forward it to the exit server however.

What system resources does a TOR server use? The FAQ already dicusses memory a bit. What about CPU? Encryption is CPU-intensive. Specific question I'd like answered: I'll be setting up a TOR node bandwidth-limited to about 256kbps (half my upstream bandwidth). Will an old 300MHz G3 Mac easily handle this, or will a faster processor be needed? How 'bout a P90? Presumably, TOR's disk usage and I/O is minimal. (Votes: 1)

tor-resolve doesnt seem to work, i get this:
connection_ap_handshake_process_socks(): Resolve requests to hidden services not allowed. Failing.
from the copy of tor running locally. Please help!

(from original questioner: thank you. I got the mistaken idea that this would work because it is suggested in the 'how to torrify an application' article on this wiki. It makes more sense now. Someone who understands better might want to upate that document)

This question is answered; see 'How Do I Access Tor Hidden Servers.' You get this message when you try to use tor-resolve to resolve the address of a hidden service. But hidden services are hidden - they don't *have* an IP address you can use. Instead, you need to pass the hostnames to Tor directly.

Clock Skew

My system clock is behind 3 days and I don't have permission to change it.
Therefore all the certificates are invalid.
Is there a runtime option to skew the time?

This should not a problem as of 0.0.9pre6.

Does not connect to port xyz

All of a sudden, Tor will no longer let me connect to my distant smtp server.
The smtp port used is 587 and the connection is SSL. Why is this now happening?

587 isn't in the default exit policy. The tor node known as bollox had an
accept everything policy so your port 587 requests would have always gone through that.
As bollox is no longer around there are no exit nodes that allow port 587. If you
control this smtp server, try changing it's port number to something over 1024.

Debian and how to use the package management system

Also would recomend posting default config files for debian online since apt will not reinstall them if they are removed (/etc/init.d/tor and /etc/torrc for example)

Answer: RTFM. dpkg differentiatea between two states of package removal.
There's remove, which will just remove the normal files a package comes with,
and there's purge, which will remove configuration files also. Changes to your
configuration (like you removing them) are kept over a remove/install cycle. If
you want them to installed anyway, you should install with
{{dpkg --force-confmiss --install tor...deb}}
or just purge tor (which will delete /var/lib/tor with its keys if you are a server!), and then install it again.

.

After uninstalling everything then reinstalling on debian (using apt-get of course) nothing loads in a browser or anything, eventually a 503 will come up. Tor is running and privoxy is running, both correctly configured(I think). If this is a configuration problem, where can I find more information about configuration in debian?

Answer: Duh. Have you checked out /etc/tor? What about /var/log/tor and /usr/share/doc/tor? Why do you think it would be any different than on other OSs?

Privoxy config

Similar to above, on brand new install of sarge with tor and privoxy browser, gaim, etc will spend a long time trying to connect eventually failing with 503, if tor is not running a 503 is instant.

Answer: Privoxy by default does not allow CONNECT to ports other than 443. Fix your privoxy config.

(If someone writes a proper question, this might actually go into the FAQ)

How To Configure One's Web Browser So Tor Is Only Used For Some Sites But Not Others

Question: Can I configure Tor so it will only use the onion routing network for some sites but not others?

Answer: No, Tor itself is all or nothing, a request either goes through it or it does not.

Privoxy is also all or nothing in the sense that if a request has made it to Privoxy then either Privoxy is set up to go through Tor or it's not, there does not appear to be a way to program Privoxy so it will use Tor for some requests but not others.

There is a script for OS X, available ​here, that will make it such that Privoxy never uses Tor but this is an 'all or nothing' mechanism. The script will either start Privoxy such that all requests go through Tor or no requests go through Tor.

There is one mechanism that is at least useful for web browsers, it's called a pac file. It was invented by Netscape, the original documentation is available ​here, but it is now supported by all major browsers. One can use a pac file to program the browser to use the Privoxy proxy for certain requests but not others. For example, the following pac file will cause all requests to Google or to the special Privoxy configuration addresses to be sent to Privoxy (and hence Tor) but will allow other other requests to go out without Privoxy/Tor being used:

To configure Firefox to use a pac file under OS X go to Firefox->preferences->General->Connection Settings...->Automatic proxy configuration URL:. Enter in a URL (you can use file:// to point to a local file) that points to your pac file and click reload.

It's probably not a good idea to use pac files with Safari on OS X as its pac file support seems to be more than a little buggy.

The pac file solution is far from ideal. It won't apply to non-web access and it runs into problems such as the bad pac file support in Safari. It also is not secure. A malicious website can trivially bypass this mechanism by placing pictures on its website from domains that it controls but are unlikely to be on a 'black list'. Therefore this mechanism is only useful with Websites that are not in and of themselves malicious but rather, due to their nature, can collect substantial amounts of personal information that one would rather not release. A search engine is a classic example. If and when privacy is a critical concern then the only proper course of action is to get rid of the pac file and instead configure all connections to go through privoxy/tor.

I've been banned as an contributor at Slashdot! I run a Win 2003 server, with a decent pipe. They said that if I blocked them they would let me contribute again. I did an edit on my torrc file by adding a line:

reject *:66.35.250.150 (which is Slashdot.com by using an online DNS 'dig' page

I add the above right after my default exit. Which was just this:
#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
ExitPolicy accept *:119 # accept nntp as well as default exit policy
#ExitPolicy reject *:* # middleman only -- no exits allowed
reject *:66.35.250.15

Is this the way to do this, and just block Slashdot? Any help would be helpful, I've googled, did the tor.eff site, etc. But I'm not real UNIX centric (though thats changing) so just wanted to run it by some community persons.

Anyway, you should probably block their IP rather than ports that happen to be theirs ;) (which don't exist - surprised tor let you do that..)

What is the significance of the changes in the Bittorrent Torify HOWTO?

I noticed I can't connect with btdownloadcurses through proxychains any more. Looking for answers, I went back to the Torify HOWTO and noticed that it had been altered. Where it used to explain about using proxychains to run bittorrent through TOR, which I used successfully for over a year, it now says that Bittorrent "uses a mechanism similar to TOR." That was certainly news to me. How is the generic Bittorrent client technically similar to TOR in any way? I have always heard that the generic Bittorrent client offers almost no anonimity at all. Now I'm reading that Bittorrent and TOR are practically the same thing and it would be redundant to use them together. Seems a bit curious.

As a sub-question, let me just ask directly: Is it true that Bittorrent through TOR via proxychains no longer works?

Also, the same page now mentions a technique of using Tor to connect to the tracker only, as opposed to the peers, by including the line --tracker-proxy 127.0.0.1:8118: on the command line. However, I see no documentation of this option in the btdownloadcurses client and I find it a bit suspicious that the format of this option uses a hyphen rather than an underscore as all the other command line options that are listed as being compatible with btdownloadcurses use underscores to separate options with two words such as --check_hashes <arg> or --report_hash_failures <arg>. Is that a typo or an undocumented option that just happens to deviate from the naming convetion of all the other options?

How do you start and stop Tor and Privoxy in OS X (Panther) if you did not install the startup script? (needs to be added to installation instructions)

How do you configure the proxy if you are using Tor and Privoxy in OS X (Panther) with a router's firewall and the built-in OS X firewall, e.g. when using Wi-fi to connect to wireless router? (needs to be added to installation instructions)

What to do (troubleshooting) if browsing slows to a crawl with Tor and Privoxy running in OS X?

I am running a Tor server on one computer on a network. Can I stop the other PCs on the same network from being k-lined on QuakeNet?

Would it make sense to support binding to multiple ports in Tor server (e.g. to bind to ports 443, 22, 5190 etc.) for clients behind _really_ restrictive firewalls? If this was implemented one day, maybe you could also support binding to multiple specific IP addresses on multihomed servers?