6/15/2010

使用HTTP代理服务器的安全性简评

作者:@davidsky2012   来源:http://www.google.com/reader/item/tag:google.com,2005:reader/item/83b62f2da4b23c40

  由于各种原因,在国内上网,免不了要和HTTP 代理服务器打交道。HTTP代理服务器分加密代理服务器和普通代理服务器。如果我们在自己的电脑上运行了某些软件之后就能访问之前不能访问的网站,那么很 可能是加密代理;如果我们直接在浏览器中设置代理服务器,不用运行任何软件,那么这种类型的代理服务器就是普通代理。一般来说,如果加密代理软件没有问 题,加密代理的安全性要好于普通代理。在这里,本文主要还是讲述普通代理的安全性。

1、HTTP代理协议简介

  浏览器 和HTTP代理服务器之间是通过HTTP代理协议进行通讯的。如果我们没有使用运行在自己的电脑上的加密代理,而是直接在浏览器中设置了在互联网上的代理 服务器地址,那么浏览器就和代理服务器之间进行的通讯就会发送到互联网上。代理服务器常见的请求有GET、POST和CONNECT,下面分别做介绍:

1.1、GET

  如果我们通过代理服务器访问某个http协议的网站网页,那么浏览器就会向HTTP代理服务器发送GET请求。比如我们通过代理服务器访问 http://www.microsoft.com/ ,那么浏览器就会向HTTP代理服务器发送数据:

  GET http://www.microsoft.com/ HTTP/1.1
  ……

  之后代理服务器取得数据后把网页返回给浏览器:

  HTTP/1.1 200 OK
  ……
  <html>
  ……

  我们来和没有使用代理服务器的情况对比一下,如果没有使用代理服务器,那么我们访问 http://www.microsoft.com/ ,浏览器就会向 www.microsoft.com 这台服务器发送以下请求:

  GET / HTTP/1.1
  ……

  服务器返回:

  HTTP/1.1 200 OK
  ……
  <html>
  ……

  我们看到,使用代理服务器之后,GET请求和返回的格式基本没有变化,是否使用代理服务器的安全性上基本没有差异。

1.2、POST

   当我们在使用http协议的网站上提交表单时(比如网站上的用户登陆表单,填写好用户名和口令,然后点登陆,就把表单提交到服务器了),如果表单类型是 POST(大多数表单类型都为POST,不过搜索引擎的搜索表单好像都是GET类型的),那么浏览器就会向代理服务器发送POST请求。比如在 http://www.williamlong.info/archives/2209.html 中进行评论,数据会提交到 http://www.williamlong.info/cmd.asp?act=cmt&key=a666b083 ,如果我们使用HTTP代理服务器,以下请求会发送到代理服务器:

  POST http://www.williamlong.info/cmd.asp?act=cmt&key=a666b083 HTTP/1.1
  ……
  [提交的评论数据]

  如果没有使用代理服务器,那么以下POST请求直接发送到 www.williamlong.info 服务器:

  POST /cmd.asp?act=cmt&key=a666b083 HTTP/1.1
  ……
  [提交的评论数据]

  使用代理服务器和没有使用代理服务器的返回结果也是基本一致的。所以POST请求在是否使用代理服务器的安全性上也是基本没有差异的。

1.3、CONNECT

  当我们访问https协议的网站时,浏览器会向代理服务器发送CONNECT请求。比如我们访问 https://mail.google.com/mail/?shva=1#inbox 时,浏览器会向代理服务器发送以下请求:

  CONNECT mail.google.com:443 HTTP/1.0
  ……

  之后服务器返回:

  HTTP/1.1 200 Connection established
  ……

  然后浏览器开始向代理服务器发送加密的数据,使用的是 mail.google.com 的SSL证书。代理服务器把 mail.google.com 返回的加密数据原原本本的返回给浏览器。

  如果没有使用代理服务器,那么浏览器直接连接 mail.google.com:443 ,然后开始发送和接收加密数据。

  我们看到,使用了HTTP代理服务器之后,HTTPS协议传输的内容仍旧是端到端加密的,HTTPS仍旧保持了传输的内容不被任何负责传输数据的设备(包括代理服务器)看到的特性。是否使用代理服务器对HTTPS协议的安全性没有变化。

2、深入讨论

  Q:我们看到,使用了代理服务器之后,都会把需要访问网站的域名(包括https的)发送给代理服务器,这样如果网络受到监视,就能知道我们在访问什么网站(但https协议监控不到传输的内容,只能知道我们访问了这个网站),这样是否降低了安全性?
  A:如果我们的网络受到监视,所有的网络数据包都被记录,那么如果不用代理服务器,浏览器也会首先去发送查询域名所对应的IP的DNS请求,还会在得到IP后发送TCP连接请求到需要访问的网站,通过网络数据包监视一样可以知道我们在访问什么网站。

  Q:有些代理服务器产品声称能够记录HTTPS传输的内容,是怎么做到的呢?
   A:使用了SSL劫持的手段。这些代理服务器产品无一例外需要安装对应的客户端,一旦安装了这些客户端,就能控制客户端电脑,进而安装代理服务器自己的 证书,进行SSL劫持。有些产品不需安装客户端,但客户端浏览器访问所有的HTTPS网站时都通不过浏览器的SSL证书验证,浏览器都会给出证书无效的警 告。

  Q:如果我们原先不能访问某个网站,使用了代理服务器可以放问这个网站了,这个网站是http协议的,这样访问这个网站所有的行为在受监控的网络环境内都会被记录吧?
  A:是的。因为代理服务器不改变HTTP协议的安全性,所以所有明文传输的内容都能被监控系统记录下来。所以,我们使用代理服务器提交重要信息(比如用户名和口令)时,都要选择HTTPS协议,在输入用户名和口令时需要注意浏览器的地址栏是不是以https开头的。

  Q:使用了代理服务器后,网络数据包所经过的路和没有使用代理服务器时不同,对安全性有什么影响呢?
   A:这要取决于使用了代理服务器前后中所经过的路中的每一个节点了。即使不使用代理服务器,国内上网仍旧会面临各种人为网络故障( http://www.williamlong.info/archives/2195.html ),使用代理服务器后因为经过的路不同,所以有可能还是需要面对这些人为网络故障,也有可能不需要面对这些人为网络故障了(如果代理服务器本身特意解决了 这些故障)。

3、总结

  综合上述,使用远程HTTP代理服务器的安全性和不使用代理服务器相比基本没有什么差别,我们 面对的人为网络故障在使用了代理服务器后也有可能依然存在,也有可能减少甚至消失了。如果有人在国内提供解决了人为网络故障的代理服务器,给一些不会使用 或无法使用加密代理软件的人用,结合《如何使用代理服务器》( http://www.williamlong.info/archives/2057.html )和AutoProxy( http://autoproxy.org/ ),那么全民代理的时代说不定会到来哦。(透露一下,近期内我很可能会提供这样的代理,可能是通过家里的ADSL网络提供,也有可能在服务器上提供,敬请 关注)

  我的Twitter:@davidsky2012,我的Google Reader: https://www.google.com/reader/shared/lehui99


0 评论:

免责声明

1、本人是文盲,以上内容文字均不认识,也看不懂是什么意思(包括但不限于对所以上之内容的识别、阅读、理解、分析、记忆等);

2、本人过去、现在以及将来都不认识本文中提及当事人,且自古以来与该相对人无利益关系;

3、本人昨天、今天以及明天都没有或者不准备去本文所述地点。本文表述之事与本人无关。

4、本人在此发文(包括但不限于汉字、拼音、拉丁字母、斯拉夫字母、日语假名、阿拉伯字母、单词、句子、图片、影像、录音、以及前述之各种任意组合等等)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人局部或全部同意、支持或者反对文中观点。如需要详查请直接与键盘发明者及生产厂商法人代表联系;

5、人生有风险,上网需谨慎。本文不暗示、鼓励、支持或映射读者作出生活方式、工作态度、婚姻交友、股票债券买卖、子女教育的积极或消极判断。未成年人请在监护人陪同下阅读本文。无完全民事行为能力者,请立即关闭网页,并用20%高锰酸钾+75%乙醇对键盘、硬盘、电压插座、显示器、鼠标、cpu进行灌溉消毒;

6、如本人留言违反国家有关法律,请网络管理员及时删除本文,本人保留继续发文的权利;

7、因删贴不及时所产生的任何法律(包括宪法、加法、减法、乘法、除法、剑法、拳法、脚法、指法、民法、刑法、书法、公检法、基本法、劳动法、婚姻法、输入法、没办法、国际法、今日说法、吸星大法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责;

8、本人谢绝任何跨省(包括但不限于跨国、跨洲、跨星球、跨星系)追捕行为。确因不抓不足以平民愤,或不抓就领不到薪水养家户口的公职人员,建议携带工作证、身份证、结婚证/离婚证、独生子女证、健康证、暂住证、毕业证、边防证、县以上政府机关出具的介绍信温情操作。抓捕按照以下排序倒序:作者、原作者以及网络管理员以及网络运行商、电信运营商、电力供应商、电脑生产销售商.