Goagent如果使用https谷歌代理软件goagent,安全性怎样

从支付宝插件无提示导入根证书带来的安全隐患说开去:谈谈HTTPS的加密方式
(或者浏览器)中,会集成世界范围内所有被信任的CA的根证书。
这样,用户B在收到A发送给他的证书后,需要利用CA的根证书(公钥)解密后才能得到正确的公钥,如此一来,就完成了对A发送过来的信息的验证,证明了A的正身,不是C伪造的假证书,从而达成了中间人攻击的防范。
四、第三方CA的问题
目前很多机构都会要求你安装第三方的CA证书,特别是遇到网上支付时候。另一种就是goagent的根证书了。这些机构使用自签名证书的验证方式,这对于支付宝、网上银行这种为个人制作验证用的证书的情况很正常,因为为如此庞大的用户群体制作证书,如果交给正规CA来做不知道得收多少钱。。。不过他们却把本来可以不导入至你系统中的根证书导入进去了,这将带来一些安全隐患。
GOAGENT的伪HTTPS代理
由于GAE的功能性限制(只能实现HTTP代理),无法实现HTTPS信息原封不动的转发,于是Goagent的伪HTTPS代理其实就是利用了中间人攻击:在GAE服务器上解密服务器数据,并利用伪密钥对重新加密数据发给用户。本来这种中间人攻击因为CA的问题被检查出证书错误,出现警告:Goagent CA不是受信任的证书颁发机构;不过如果向系统导入了goagent CA的根证书以后,就会消除此现象。这就是goagent为什么要导入根证书的原因。
不过虽然HTTPS没有证书警告了,不过当你查看证书详情的时候,还是会发现,证书颁发机构从原来的值变成了&GoAgent CA&,不过通常是很难察觉这个变化的(如下图红色框)
导入ROOTCA的危险性:
如果导入goagent、铁道部这种第三方CA的根证书,将会大大增加受到中间人攻击的可能性。如果GoAgent私钥泄露,所有Goagent用户都有遭到中间人攻击的可能性。
而铁道部的根证书更危险,铁道部的私钥必然对LD是公开的,GFW完全有能力通过铁道部的私钥来实现对所有导入了铁道部CA根证书的用户的中间人攻击,让你的HTTPS加密流量完全暴露给GFW。正确的做法是,不导入根证书,访问12306购票时候,无视证书警告,点仍然继续,依然可以正常购票,且不影响购票的安全性。
各大银行的CA证书、支付宝亦是同理。这些网站验证证书时候均使用了插件,那既然如此使用插件自己读取自己的证书即可,本大可不必将根证书导入至系统。但他们却这么干了。如此一来把其根证书作用域从插件自身扩大至整个系统,扩大了安全隐患。
不止如此,安装个支付宝控件,你会发现多了一个OSCCA的ROOTCA,然后你查找OSCCA,结果是:国家商用密码办公室。。。好吧我之前都没注意
&&&&[3]&&&
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】thanks Cssk8 &&
翻墙 代理 goagent下载|使用教程 gae账号密码
goagent是国内很多朋友常用的免费代理工具,也是使用最广泛的谷歌应用之一,今天我们就来分享下goagent下载以及使用的相关事宜。 首先介绍一下goagent,它是使用Python和Google App EngineSDK编写的,可以在 Windows,Mac,Linux,Android,iPod Touch,iPhone,iPad,webOS,OpenWrt,Maemo 等平台上使用。
这里要提醒一点,goagent代理其数据传输是没有加密的,而且由于国内封锁了Google App Engine的IP段(位于美国),使用GAE托管程序的goagent通常是用谷歌中国在北京数据中心的IP地址。如果你对代理的数据安全很看重,就别选择goagent,要选择那些能加密数据的代理工具,如果对于代理安全性没有什么特别要求,使用goagent即可。
为方便大家,这里再分享几款安全性非常出色的代理工具,全部完全免费,采用高强度加密代理,可保障用户安全,而且代理速度很快,使用方法比goagent更为简单,需要的朋友可以【】
◆ goagent下载使用方法
goagent官方下载地址是:&/p/goagent/&,要下载最新goagent版本的朋友,可以收藏该地址。如果该网址打不开,可能是被河蟹了,可借助上面提供的代理工具来访问。
下载了 goagent 后,我们需要申请 Google Appengine 并创建 appid ,申请的详细方法见教程:/p/goagent/wiki/InstallGuide
然后我们修改&local\proxy.ini&中的[gae]下的 appid=你的appid (多appid请用|隔开)
双击&server\uploader.bat&,上传成功后即可使用了(地址127.0.0.1:8087)
如果你使用chrome浏览器,请安装SwitchySharp插件,然后导入这个设置:/files/SwitchyOptions.bak
firefox浏览器请安装FoxyProxy,Firefox需要导入证书,更多说明可见其官方下载地址,里面有非常详细的说明。
goagent对用户是有流量限制的,目前为每人每天1GB,如果要看视频,觉得流量不够,可以多申请几个号码,也可以使用上面提供的代理工具,因为那几款代理工具没有任何流量限制。
◆ goagent常见问答
1. goagent提示Error code 错误怎么办?
如果出现错误,可参考下面的错误代码解释来修改。
401:&Unauthorized 一般是你处于内网环境中,需要设置proxy.ini里面的proxy段落。还需要检查:Internet属性&&》连接(connections)&&》局域网设置(LAN settings)&&》代理服务器(Proxy server)里面打勾,地址和端口应该是127.0.0.1:8087,如果不是可以在proxy.ini中查到
404:&Not Found 一般是proxy.ini里面appid没有填对,或者服务端没有部署成功。
409:&一般是您处于内网或者校园网环境,建议您换外网再次上传即可。
503:&Service Unavailable 一般是流量用完了,请更换appid。
403: &用记事本打开proxy.ini, (路径为goagent文件夹/local/proxy.ini)将&profile = google_cn&改为&profile = google_hk"就可以了
2. 如何对goagent进行修改?
客户端代码直接改local/proxy.py,改完重启goagent.exe即可;服务端改server/wsgi.py,改完用uploader.bat上传即可。
ssl错误的看这里:http://blog.netsh.org/posts/goagent-https-ssl-error_1013.netsh.html
我的gae账号和密码:
用户名:或者 共享账户
密码: f*****1**
注意:1,启动代理 双击 goagent/local/goagent.exe&
& & & & &2,安装谷歌浏览器和switchysharp插件后,插件的图标在浏览器输入框那个收藏按钮的右边,一个地球的形状
& & & & &3, 点开那个地球,按照上面的网址的配置本地导入那个SwitchyOptions.bak,见附件,然后修改下各个配置的端口和goagent/local/proxy.ini各个部分的端口对应,一般来说paas有点问题
& & & & &4, 最后点击按个地球按钮,选择自动切换模式[我这不成功],所以我现在是手动模式,要访问或者youtube等就切换到GoAgent,其他的就换着自动切换模式,比如你访问sohu用不着翻墙
附件1:&SwitchyOptions.bak
附件2:goagent.zip
&&&&&&&&&&&
&&&&&&&&&&&& 如何解决goagent的安全问题
如何解决goagent的安全问题
围观8650次
编辑日期:
&&&&&&&&用goagent也差不多快2年了,偶而会用它去看看外面的世界,也并没有注意他的安全问题,不过今天才发现原来它是漏洞百出,安全严重出血问题,还有我之前也只是用它来登陆facebook、推特,google+、再看点真实新闻,也不实际什么重要的账号。不过现在得注意下了,不然迟早有天回中招的,下面就如何处理goagent的安全问题作一分析。
&&&&&&&&什么,你不知道什么是goagent,感觉百度谷歌吧,什么你还没配置好,看这里吧《》
GoAgent 利用 Google App Engine (GAE) 来实现安全上网,以免费、快速、稳定的特点深受网民的欢迎。但是,GoAgent 的安装和配置中存在两点严重安全风险的问题却鲜为人知。这两点安全风险都可能被攻击者利用进行 “中间人攻击(man-in-the-middle attack)” 来窃取 GoAgent 用户的网络帐号密码等敏感信息,其概括描述如下:
&&&&&&&&GoAgent 在启动时会尝试自动往系统的可信根证书中导入一个名为 “GoAgent CA” 的证书。由于这个证书的私钥是公开的,导致任何人都可以利用这个私钥来伪造任意网站的证书进行 HTTPS 中间人攻击。即使在不开启 GoAgent 时,这种攻击的风险仍然存在。换而言之,一旦这个证书被导入,攻击者可以用此绕过几乎所有网站的 HTTPS 保护。
GoAgent 本身对 TLS 证书的认证存在问题,而且默认时不对证书进行检查,这导致在使用 GoAgent 时存在 HTTPS 中间人攻击的风险。
  事实上曾经有用户在 GoAgent 主页上的问题跟踪列表中指出了这两个安全问题(见以下链接),但既没有修复也没有广泛公开,多数用户,尤其是非中文用户可能并不知情。下面是这两个问题的详细解释。
/p/goagent/issues/detail?id=11091
/p/goagent/issues/detail?id=8031
  GoAgent 导入公开私钥根证书的问题
  GoAgent 在启动时会尝试在系统中导入一个根证书来避免访问 HTTPS 网站时的证书报警,但在默认情况下所导入证书的私钥是公开的。因为私钥公开,任何人可以作为 “GoAgent CA” 来签发任何网站的证书。即使在 GoAgent 没有启动甚至卸载的情况下,这个公钥仍会遗留在系统中。在有些系统中,GoAgent 所导入的根证书不仅被 GoAgent 默认使用的浏览器信任,其他的浏览器也可能会信任这一根证书,从而受到这一问题的影响。
&&&&&&&&GoAgent 所导入的这一公开私钥根证书的指纹是:
SHA1 Fingerprint=AB:70:2C:DF:18:EB:E8:B4:38:C5:28:69:CD:4A:5D:EF:48:B4:0E:33MD5 Fingerprint=56:B1:20:86:1B:0A:B0:61:38:00:1B:C3:67:CF:0C:CC
  包含这一 “GoAgent CA” 证书以其私钥(文件中 -----BEGIN RSA PRIVATE KEY----- 位置)的文件 URL 为:
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/local/CA.crt
  根据版本信息,这一证书和私钥从 2011 年 6 月甚至更早的时间以来一直保持不变。
/goagent/goagent/blob/fae48a477fd5495afbc2363a51baa/local/CA.key
  GoAgent 主要包含两个部分:一个在用户计算机上运行的本地代理程序 proxy.py,以及一个在 GAE 上运行的远程代理程序 gae.py。
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/local/proxy.py
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/server/gae/gae.py
  安装时,用户需要上传 gae.py 到 GAE。用户浏览器通过设置一个本地代理将 HTTP/HTTPS 请求转发到 proxy.py,再由 proxy.py 和 gae.py 进行通信。
  默认情况下,GoAgent 在启动时试图导入上述 GoAgent CA 证书。具体的代码为 proxy.py 中的 CertUtil.import_ca:
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/local/proxy.py#L337
  这个函数会根据用户操作系统通过不同的方式尝试导入证书,在某些情况下会需要管理员(root/administrator)权限。在 Windows 下,这个函数会调用 CertAddEncodedCertificateToStore 这一 API。在 OS X 下,会尝试执行系统命令
security find-certificate -a -c "GoAgent" | grep "GoAgent" &/dev/null || security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "pwd/CA.crt"
  在 Ubuntu 下,会拷贝证书文件到 /usr/local/share/ca-certificates 然后执行 update-ca-certificates。在其他 GNU/Linux 发行版中,会尝试执行以下命令更改 NSS 数据库:
certutil -L -d sql:$HOME/.pki/nssdb | grep "GoAgent" || certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "GoAgent" -i "pwd/CA.crt"
  由于 Firefox 采用了不同的方式存储证书,这一自动安装过程不会导入 GoAgent CA 证书到 Firefox 中。但是 GoAgent 的安装指南和 FAQ 中说明了如何手动导入这一证书:
/p/goagent/wiki/InstallGuide
/p/goagent/wiki/FAQ
  这一证书随后被 proxy.py 用来作为 HTTPS 中间人来避免浏览器在访问 HTTPS 网站时出现报警。GoAgent 的工作原理如下:首先 proxy.py 将浏览器的 HTTP 请求进行编码并转发给 gae.py,gae.py 完成收到的请求然后将结果进行编码后返回给 proxy.py,最后 proxy.py 将结果转发给浏览器来完成 “翻墙” 过程。由于 GAE 的限制 (免费 app 无法使用 socket 接口),对于 HTTPS 请求,proxy.py 无法进行透明转发,只能作为中间人先和浏览器完成连接,然后获得其中的明文请求以后在转发给 gae.py。当收到 CONNECT 请求(这意味着浏览器正在浏览一个 HTTPS 网站), proxy.py 首先利用 GoAgent CA 签发一个假的证书来和浏览器完成握手,从用户的角度,所有的 HTTPS 网站的证书都是由事先导入的 “GoAgent CA” 认证的,所以不会报警。有些浏览器会对少数网站的证书进行特别的检查(Certificate Pinning),这种情况下 "GoAgent CA” 所签发的证书可能会触发证书不安全的报警。GoAgent 的这种工作方式导致 HTTPS 不再是浏览器到网站的端到端安全通信,而变成了 proxy.py 到 GAE,以及 GAE 到网站两段独立的 HTTPS 连接,GAE 能够看到请求和应答的明文。
  测试页面
  请访问
https://goagent-cert-/
  来进行测试。这个页面使用了一个由 GoAgent CA 签发的证书。如果你的浏览器没有受到影响,会显示报警信息;如果没有看到报警,则表明你的浏览器导入了公开的 GoAgent CA 证书,存在严重安全风险。
  如何防止风险 & & & &&
  GoAgent 本身带有生成证书文件 CA.crt 的功能。只需要删除 local/CA.crt 文件就能保证 GoAgent 所导入的证书是唯一的,不会被网络上的攻击者利用来进行攻击。
  下面的 “补丁(patch)” 文件会帮助你从 GoAgent 的 git 仓库中删除 CA.crt 文件,请下载补丁文件并执行以下命令: git am 0001-Remove-static-CA.crt.patch. 如果你不是通过 git 获得 GoAgent(例如直接从 /p/goagent/ 上的链接下载得到),请手动删除 local/CA.crt 文件。
0001-Remove-static-CA.crt.patch
  如果你以前曾经使用过 GoAgent,务必要检查系统中任何可能的地方,删除 SHA-1 指纹为 AB:70:2C:DF:18:EB:E8:B4:38:C5:28:69:CD:4A:5D:EF:48:B4:0E:33 的 “GoAgent CA” 证书(建议使用浏览器访问上面的测试页面进行检查)。下面说明在常见系统中检查和删除 GoAgent CA 证书的方法。
  如何删除 GoAgent CA 证书
  Firefox 中,打开 “preferences”,”Advanced”, “Certificates”, “View Certificates”, “Authorities”,然后在证书列表中找到 “GoAgent CA”,选中并点击 “Delete or Distrust...” 按钮,然后确认。
  Ubuntu 下,删除 /usr/local/share/ca-certificates/GoAgent.crt 然后执行
update-ca-certificates --fresh
  Windows 下,请参考以下链接:
/en-us/library/cc754841.aspx#BKMK_addlocal
  中 "Adding certificates to the Trusted Root Certification Authorities store for a local computer" 的步骤,但是在 step 8 时右键选中 "GoAgent CA" 然后选择 "Delete"。
  在 Mac OS X下,打开 “Keychain Access” 应用,点击锁图标并输入密码解锁。在边上的控制面板中,选择 "System" 以及 "Certificates",选中 "GoAgent CA" 然后按 “Delete” 键,点击 "Delete" 按钮并输入你的密码确认。
  GoAgent 没有进行正确的 TLS 验证,存在中间人攻击的风险
  默认情况下,GoAgent 会通过 HTTPS 来保护本地 proxy.py 和 GAE 服务器上的 gae.py 之间的通信 (在配置文件 proxy.ini 中相关的设置默认为 gae.mode=https)。但是同样在默认情况下,GoAgent 不会要求对 GAE 服务器的证书进行验证(gae.validate=0),这导致本地 proxy.py 和 App Engine 服务器之间的通信存在 HTTPS 中间人攻击的风险。此外, gae.validate 配置项同样控制 App Engine 上的 gae.py 是否对网站服务器的证书进行验证,默认配置下这一配置为 0 导致 gae.py 也不会对网站证书进行验证,使得 gae.py 和网站之间的通信同样存在 HTTPS 中间人攻击的风险
  即使修改配置启用证书验证(gae.validate=1),GoAgent 对 App Engine 服务器证书的验证也并不严格:在 proxy.py 中只是对证书的 organizationName 进行了粗略的检查(是否为 “Google ” 开头),而没有对主机名(hostname)进行匹配。
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/local/proxy.py#L1623
  将配置改为 gae.validate=1 同时会启用 gae.py 段对网站服务器证书的验证,这部分的事先没有明显的问题。
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/server/gae/gae.py#L184
  GoAgent 还提供了一个可选功能,通过 RC4 和一个共享密钥来对 proxy.py 和 gae.py 之间的数据进行进一步的混淆。启用这一功能需要在 proxy.ini 中设置 gae.password,以及 gae.options=rc4,并在 gae.py 中设置 __password__ 变量。
/goagent/goagent/blob/c3e2ebed25f1ee3f9cb/server/gae/gae.py#L5
  但是,这里的 RC4 加密只能起到一个简单的混淆作用,无法在不启用 HTTPS 的情况下利用这一功能来防止中间人攻击。GoAgent 中的 RC4 无法实现数据的机密性,因为密码本身会通过一个 G-password 头在 proxy.py 和 gae.py 中传送,而且在两段通信中会使用同样的密码流(keystream),导致攻击者很容易通过密文的 XOR 操作来获得 XOR 过的明文(见流密码的重用问题,Stream Cipher Key Reuse),进而得到明文。在这里 RC4 只能起到防止其他 GoAgent 用户共享服务端流量的目的,无法提供更多的保护来防止网络攻击。
  如何防止风险
  确认在 proxy.ini 中设置了 gae.mode=https (默认),并且启用了证书验证 gae.validate=1(非默认)。这样的设定基本上能够防止 proxy.py 和 GAE 服务器,以及 GAE 服务器和网站服务器之间的 HTTPS 中间人攻击。由于 proxy.py 中没有对证书的主机名进行严格匹配,proxy.py 和 GAE 服务器的通信仍存在(相对较小的)风险,如果有人能够申请到 organizationName 字段以 “Google ” 开头的证书,仍然能够成功进行HTTPS 中间人攻击。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
文章来自,本站有修改
-与您分享计算机技术、互联网资讯
除非注明,文章均为 Wings Blog 原创,欢迎转载!
本文固定链接:
转载请注明: :
微信扫一扫,关注本站公众号

我要回帖

更多关于 goagent全局代理 的文章

 

随机推荐