I've been using an ssh tunnel for browsing, reading that doing so would encrypt the connection to the internet. However, i have no idea as to what kind of protection that the ssh tunnel really provide.
Does it just protect my connection from network/packet sniffers or does it block out my ISP as well?
EDIT:
Also, must i use a remote server to ssh to or can i just tunnel to localhost and still have the same effects? e.g the command i use now is ssh localhost -p 22 -ND 8080
It also blocks out your ISP completely if and only if DNS lookups are also tunneled, and not done in the clear or worse, from the ISP's own DNS servers.
What I mean is, suppose you want to visit www.wikileaks.org over your SSH-SOCKS proxy. What your browser will almost certainly do is use regular DNS to resolve www.wikileaks.org to an IP, but then tunnel all traffic to that IP over the proxy. So your ISP (or a sniffer) could tell that you wanted to visit wikileaks.org, but not what page you wanted to see (or saw).
The solution is to also tunnel DNS lookups over the proxy.
For Firefox, it's as simple as typing
about:config
and changing thenetwork.proxy.socks_remote_dns
setting to true.Chromium (or Chrome) will only do this if you are using a Socks 5 proxy!
The global way to do this is to set your DNS using NetworkManager to
localhost
, where you forward port '53' over SSH to port '53' on the remote DNS server (possibly with your SSH server acting as forwarder).