巧设PuTTY做Windows的安全代理
2008-05-27 10:24:00 来源:WEB开发网PuTTY可能是微软操作系统中最流行的SSH客户端工具,今天我们将探讨如何在Windows中用PuTTY实现一个安全代理。
概述
通过公共的无线网络进行Web访问有可能是危险的事情,因为恶意的攻击者和身份窃贼有可能正在监听你的Web通信。有两种非常简单的方案可以解决这个问题:一是简单地避免从事涉及到登录或其它敏感数据(包括为了防止垃圾邮件和网络钓鱼而实施保护的电子邮件地址)传输的任何联机活动;二是使用一个到网络安全代理器的加密链接。
代理服务器是某种网络通信可借以转发的另外一种系统,这使得它看似是互联网服务器,好像这个代理服务器是网络通信的真正源头。与只是从无线网络上的笔记本电脑将数据直接发送到互联网上相比,在一个没有安全保障的无线网络上的一台笔记本电脑与一个有安全保障网络上的代理服务器之间的直接加密链接可以为WEB的浏览者提供一个更加安全的通道。
这是怎样一款工具?
本文假设你已经在一台安装了windows平台的笔记本电脑上安装了PuTTY和Firefox浏览器,假设你想通过这台电脑连接到一个安全的代理服务器。本文还假定你拥有访问家里的电脑或另外一个可信任网络中的电脑的访问权,这些电脑运行着UNIX,基于Linux或类UNIX的操作系统,并安装了OpenSSH。
笔者还假设你已经配置了可信任的网络,并可以提供来自外部网络的SSH访问。这通常要涉及到配置路由器和防火墙上的端口转发,其设置细节根据路由器和防火墙的不同而变化。
如何实施?
首先,配置一个连接到UNIX/linux系统的PuTTY会话,这个UNIX/linux系统就是你将要用作代理服务器的机器。你需要配置以下数据:
1、(Host Name (Or IP Address)):主机名或IP地址:如果你拥有通过动态DNS服务实现的域名解析,或者采用其它方式通过域名访问网络,那么一般来说这里就可以是域名。当然也可以是路由器或防火墙的IP地址。
2、Port即端口:SSH通常使用22号端口,不过这要依赖于你在可信任网络上的端口转发配置。
3、Connection type连接类型也就是选择协议类型:选择SSH即可。
为了便于以后能够轻易地创建这些加密的代理会话,你也许希望给这个会话起一个名字以便于日后使用,请在“Saved Sessions(保存会话)”标签下输入即可。但现在还不能单击“Open”按钮。
为了便于操作,下面给出一个屏幕截图:
其次,配置一个SSH加密通道,通过这个通道你的HTTP请求可以被转发到将被用作代理服务器的系统。在左侧的“category”标签下,依次找到Connection > SSH > Tunnels,在右侧的窗格中配置如下的内容:
1、Source Port:配置源端口。在这里填上笔记本电脑上用于这个连接的本地端口号。例如,可以用8080作为HTTP请求的转发端口。
2、Destination:这里无需设置。选择其下的Dynamic 和 Auto两个单选按钮即可。
然后单击“Add”按钮提交这些加密通道设置。此时,你会看到一个字符串出现在“Forwarded Ports”中,如下图所示:
第三步,保存会话设置,目的是保障可轻易地找到加密的通道设置,然后单击“Open” 按钮建立一个连接。为了建立连接,你将必须提供远程系统上的一个合法的用户名和口令。
第四步,配置Firefox浏览器使其使用加密连接。从浏览器的“Tools”菜单中打开“Options”对话框,然后选择“Advanced”。要保障选中“Network”,而后单击“Settings”按钮,并填写如下内容:
1. Configure proxies to access the Internet: 选择 Manual Proxy Configuration。
2. SOCKS Host: 在此字段中输入127.0.0.1。
3. Port: 在 SOCKS Host的port文本框中, 填上与前面设置PuTTY通道时同样的端口号,在此例中即是8080。
单击“OK”按钮提交更改,并退出“Options”对话框。在你将单击“Ok”按钮时,“Connection Settings”对话框将如下所示:
最后,大功告成。此后,你使用浏览器访问的所有通信都要通过加密的SSH通道流经代理服务器,由此提供了普通的无线连接望尘莫及的安全性。