Escaping the firewall with an SSH tunnel, SOCKS proxy, and PuTTY

Once upon a time the thought of a firewalled, cordoned, and censored web was enough to send chills up the spine of any internet user. As the years have passed, however, our sentiment has softened. A completely free, decentralized, and unaccountable web might sound ideal, but in actuality itâs a very tall order for any large, centralizedinstitution to successfully manage. As a result, the web itself â the backbone â is still free, but schools, offices, ISPs, and even a few countries have started to filter your connection to it.
Now, most surfers arenât even aware that their web access is being filtered, but for tuned-in power users and libertarians the effects of filtering, traffic shaping, and censorship are an assault against their most vital human rights. Fortunately, with a free program called PuTTY, a process called SSH tunneling, and SOCKS proxying, almost anyone can escape their local firewall and enjoy the web in its free and original form. As a rather nice added bonus, SSH tunneling also encrypts all of the data that passes through your local network and ISP, ensuring that no one can snoop on your communications.
PuTTY and SSH
PuTTY is an SSH client. You can use it to access a remote CLI, or you can use it to set up a tunnel â and thatâs what weâre going to do now.
Tunneling
When you type a URL or click a link, a request travels from your computer, through the local router and modem, over your ISPâs network, across the internet, and into the remote web server. Your request can be filtered at any stage, but generally itâs at the local router (the school/corporate firewall) or at the ISP (traffic shaping, federal censorship).
Tunneling bypasses the local router, modem, and your ISPâs network, and connects you directly to the internet. If youâre in China, for example, SSH tunneling all of your traffic through a computer in America will bypass any national-level filtering and censorship. The actual act of forcing your web traffic through another computer (and another port) is called SOCKS proxying, incidentally â and you can SOCKS proxy without SSH, but itâs less secure and more likely to be filtered by your local ISP.
Setting up a tunnel
This guide will focus on using PuTTY, which is only available for Windows. There is a section at the end for Mac and Linux users.
First, download PuTTY (putty.exe). Itâs a free, standalone program that doesnât require installation â so just make a shortcut on your desktop or taskbar.
Next, you need to find a remote Linux server to use as the end point of your SSH tunnel. You can use a free one (which might involve you jumping through a few hoops to get an account activated), or you can rent a cheap virtual private server (VPS) for around $5/month (which you could also use as a development server or BitTorrent seed box). Either way, you need an SSH account on a remote server, and the IP address and port that you need to connect to.
Now open PuTTY and fill in the Host Name and Port. Make sure SSH is selected from the Connection Type. It should look something like this:
In the left-hand panel, navigate through Connection > SSH > Tunnels (see below). Enter 8080 in the Source Port box and select the Dynamic radio button. Click Add and âD8080â will appear in the Forwarded Ports list.
Now head back to Session at the top of the left-hand panel, type a name in the Saved Sessions box (âtunnelâ), and click Save. Click Open at the bottom of the PuTTY and a new window will pop up asking for your login name; type it in and press Enter. Type your password in and press Enter.
Voila! You now have an open SSH tunnel.
ComentĂĄrios
Postar um comentĂĄrio