首页 > 范文大全 > 正文

安全Web隧道DIY

开篇:润墨网以专业的文秘视角,为您筛选了一篇安全Web隧道DIY范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

在外出差、休假时,总要上网处理工作和邮件,或者查询一些讯息。如果没有公司VPN,又不想花很多钱,是否还能确保无线上网行为的安全呢?跟我学,试着打造自己的安全web隧道吧,你也可以拥有专有、安全的加密互联网连接。

不管你上网用的公共无线

网络是受密码保护的,还是按分钟收费的,连接至该网络的人(餐馆里的其他顾客、候机大厅的乘客,或者其他付费用户)都能偷窥到你的HTTP流量。

需要建立一条加密隧道,来解决这个问题:可以通过加密隧道,发送以自己的笔记本电脑为起点、以某个已知位置(隧道“端点”)为终点的Web流量。隧道可以把你的Web请求转发到公共互联网。当然,一旦流量在隧道外面传送,通常可能会受到互联网服务提供商(ISP)或执法部门等有关方的审查; 但是当你的数据通过公共Wi-Fi热点来传送时,就可以安全地上网冲浪。

第1步:通过SSH实现简单、低成本的安全连接

要建立自己的安全Web隧道,最简单的办法就是向主机提供商支付月费,由其处理所有的复杂工作:获得服务器、安装操作系统、确保服务器每天24小时保持在线,而且有可靠的备用电源。采用这种方法,你不必为家里自行安装任何防火墙而操心,外出时也不必让电脑继续运行。

很多共享主机提供商都能提供访问安全外壳(SSH)服务器的服务。以HostGator为例,该公司基本的Hatchling主机方案每月收费约5美元,也就是说,每天只要花几毛钱,就能通过该公司的服务拥有自己的安全隧道。一旦在HostGator建立了账户,你就可以收到登录信息和指定服务器。之后,只要发出SSH命令,就可以建立临时的Web系统。

第2步:获得SSH

客户端软件

OS X随带命令行SSH客户端软件,所以只需打开Terminal(位于Application文件夹下的Utilities文件夹里),你会看到带用户名和电脑名称的命令行提示(跟在$符号后面,下文提到的所有命令前面都要输入这个符号)。

在Windows机器上,需要下载SSH客户端软件。这方面的选择很多,目前流行的免费客户端软件是PuTTY。

第3步:

测试SSH服务器

使用主机提供商提供的登录信息,就可以在OS X上建立SSH会话,只要在$符号后面输入下列字符:

$ ssh

在Windows机器上,开启PuTTY,输入主机提供商提供的服务器名。选择Protocol下面的SSH单选按钮。Port字段应设成22(默认的SSH端口)。然后点击Open按钮。

由于是第一次连接至该服务器,OS X的客户端软件和PuTTY都会显示提醒信息,提示核实主机指纹(这个提示应该只出现一次,之后,SSH客户端软件会核实指纹没有变化。要是指纹有变,可能表明你的连接已被篡改)。你会看到类似下面的文本:

The authenticity of host “” can't be established. RSA key fingerprint is 11:22:33:44:55.

(无法确定主机“”的真实性。RSA密钥指纹是11:22:33:44:55。)

Are you sure you want to continue connecting? Yes

(你确信要继续连接吗?是的)

一旦核实了指纹,PuTTY会提示输入用户名和密码。OS X会提示只需要输入密码,因为你已经在命令行上提供了用户名。

登录后,会看到表明现已连接至远程服务器的命令行的一个提示。注意:$之前的服务器名已有变化,以体现远程系统:

login as: username

Using keyboard-interactive authentication.

Password: ……

Last login: Fri Jan 01 02:03:04 2010 from 1.2.3.4

username@server $

现在你已确定有一台正常工作的SSH服务器,下面可以继续建立隧道了。输入命令exit,即可关闭SSH会话。

第4步:本地监听端口和远程端点

你需要在本地电脑上配置一个端口(本地监听端口),接收你发给它的任何数据包,然后发送到SSH加密会话。在隧道另一端,流量会在SSH服务器上倒出来。下面介绍如何配置Web浏览器,以便经过该本地监听端口的流量。尽管从概念上来看,你似乎想把Web浏览器指向远程服务器,但实际上你是把它指向“本地主机”(localhost),这是你本地电脑的特殊名称。

你要告诉SSH客户端连接至SSH服务器,建立一条以使用端口8888的笔记本电脑(localhost)为起点、以SSH服务器为终点的隧道,然后数据会转发到最终目的地网站。

第5步:

建立SSH隧道

在OS X上,这个过程简单明了,可以用一个命令来代表:

$ ssh -ND 8888

N选项告诉SSH客户端,你不想要交互式会话(命令提示),而只想建立一条隧道。D 8888选项要求SSH客户端建立一条“动态的”端口转发隧道,使用端口8888。之所以要动态隧道,是因为目的地网站会因访问的对象而发生变化; 其他端口转发隧道使用静态规则,但就上网浏览而言,你需要动态规则。发出命令后,系统会提示你输入密码,然后什么动静都没有。实际上,如果命令奏效,这个端口就会打开,但你不会在Terminal里面收到任何核实信息。OS X用户可以继续下一步。

对Windows用户来说,再次开启PuTTY,向下翻滚到Connection左边的Category列表,展开SSH类别,选择Tunnels。

再选择Dynamic单选按钮,在Source port处输入8888,然后点击Add。

现在点击Open按钮。输入密码后,隧道应已建立好。命令提示里面不会出现核实消息。

第6步:

试试新隧道

现在可以试一试新隧道了。启动Web浏览器,访问What Is My IP Address网站,注意显示的IP地址。这是你从当前位置(家里、单位、学校或咖啡馆)连接时,别人都会看到的公共IP地址。

一旦你改变了Web的设置,需要回到该网站上,核实互联网相信你是从你的SSH服务器来访问的,核实你在安全上网浏览,没有其他Wi-Fi热点用户在窃听。

IE用户应进入到Tools菜单,选择Internet Options。从该对话框中选择Connections选项卡(左起第五个),点击底部的LAN Settings按钮。在这个弹出对话框中,选择Use a proxy server for your LAN旁边的复选框。现在点击Advanced。在'SOCKS'旁边输入localhost作为地址,输入8888作为端口; 其他所有字段都空着。点击“OK”三次,再次进入到What Is My IP Address网站。你的IP地址现在应体现SSH服务器的地址。

Windows平台上的Mozilla Firefox用户应进入到Tools菜单,选择Options; OS X Firefox用户应进入到Firefox菜单,选择Preferences。之后,任何一种平台的用户应选择Advanced类别(齿轮图标),然后选择Network选项卡(左起第二个),点击Settings按钮。

选择Manual Proxy Configuration。在'SOCKS Host'旁边输入localhost作为地址,输入8888作为端口; 其他所有字段都空着。如果SOCKS5单选按钮还没有选中,请选中。在Windows上,OK点击两次; 在OS X上,只要关闭两个参数设置窗口。再次访问What Is My IP Address。你的IP地址现在应体现SSH服务器的地址。

OS X 系统上的Safari用户应进入到Safari菜单,选择Preferences。选择Advanced类别(齿轮图标),然后选择Proxies旁边的Change Settings按钮。这会打开当前网络连接的System Preferences。在Proxies选项卡上,选中SOCKS Proxy旁边的复选框,然后输入localhost作为地址,输入8888作为端口。点击OK和应用,然后关闭System Preferences。再次访问What Is My IP Address。你的IP地址现在应该体现SSH服务器的地址。

第7步:运行你的SSH服务器

要是不想每月付费给主机提供商,该怎么办呢?你可以运行自己的SSH服务器。但这种方法并不适合每个人―除非你觉得前面的部分很容易理解,否则不要继续以下步骤。OS X用户很幸运:SSH服务器内置在操作系统中。只要打开System Preferences,再打开Sharing类别。在Services选项卡下,选择Remote Login旁边的复选框(又叫SSH服务器),就搞定了!

而对Windows用户来说,有许多免费及廉价的SSH服务器可以使用。运行安装程序,选择Personal Edition(若是公司用户,Standard Edition是一个非常好的低成本选择)。安装完成后,控制面板会载入,显示Easy Settings向导程序。采用所有默认值,点击用蓝色高亮显示的Start WinSSHD链接,即可开启SSH服务器。

第8步:

测试SSH服务器

下一步是测试SSH服务器,需要用到前面介绍过的一些命令。

OS X用户应输入下列命令:

$ ssh username@localhost

Windows用户应开启PuTTY,输入localhost作为服务器地址。可以使用用来登录到笔记本电脑的自有密码。记住:这是一条新的连接,所以可能会看到核实指纹的提示。如果没有通过核实,仔细检查防火墙或其他安全软件。

接下来,试着从外部连回到你的SSH服务器。在本地电脑上建立一个测试账户,请朋友使用该测试账户的密码来测试连接。

现在你明白了当连接至公共Wi-Fi热点上时,使用安全隧道来上网浏览有多么容易――那么,以后千万不要再在毫无防备的情况下就去上网冲浪喽!