月度归档:2012年06月

google talk的加密问题

 

翻出多年未用的Gtalk来用,用着用着就想到了安全性的问题,于是通过抓包发现Gtalk的安全性还是比较堪忧的。于是上网查找解决方法,找到大牛(tombkeeper)正好有一篇关于Gtalk加密的博文,下面转给大家,希望能帮助大家完善Gtalk的安全性。

 

下午写了一篇《talk about google talk》,里面提到,虽然google talk本身还不支持加密,但是目前至少用Gaim这样的客户端已经可以进行加密通信了。

晚上吃饭的时候,我想应该找一个既能用标准客户端,又能加密通信,还要简便易行,老少皆宜的法子出来。要不然总觉得有点对不起观众。

我对jabber协议一无所知,也不打算花时间去看文档,索性就硬上。先抓gaim的加密通信包和官方客户端的非加密包看看再说。

官方客户端的身份认证是通过gmail.com来做的,这个过程基于HTTPS,是加密的;聊天数据通过talk.google.com,不加密。

Gaim的认证和聊天都通过talk.google.com,而且必须选择加密。talk.google.com不支持非加密的身份认证过程。

奇怪的是,无论是加密还是不加密,聊天数据都是通过talk.google.com的5222端口。根据抓包看到的数据,和对5222手工SSL协商失败这个结果来看。jabber所支持的加密方式和HTTPS、POPS等是不完全一样的。也就是说,不能简单的通过stunnel来建立加密隧道。

事情就这样结束了么?当然不会,否则我现在一定正在郁闷,而不是写这篇文档。

像我这种人,看到一个5222端口,就不可能不去看看有没有5221、5223、5224……这是多少年养成的习惯。我发现talk.google.com上就有5223和5224端口。简单测试了一下,发现这两个端口都支持标准SSL协商。那么这能用否这两个端口进行通信呢?

我做了下面这几件事:

1、在机器上的%SyetemRoot%/system32/drivers/etc/hosts中加了这一行:

127.0.0.1 talk.google.com

2、在stunnel.conf中加了这些:

[Google Talk]
accept = 127.0.0.1:5222
connect = 216.239.37.125:5223

然后重新启动Stunnel,再运行google talk。

OK,现在google talk完全可以正常使用,并且这时所有来往的数据都是经过加密的。

看我blog的朋友不一定都搞技术,所以这里科普一下:上面做的第一件事是让google talk客户端认为我本机就是聊天服务器talk.google.com;第二件事是在本机建立了一个加密隧道,google talk用非加密数据和本机的Stunnel通信,Stunnel把数据加密后传递给能接收标准SSL加密的talk.google.com:5223,并把服务器的加密数据解密后交给google talk客户端。

打个比方,google talk是一个只会说汉语的人,Gaim懂意大利语,Stunnel既懂汉语又懂阿拉伯语,talk.google.com:5222懂意大利语和汉语,talk.google.com:5223只懂阿拉伯语。

现在我们要和talk.google.com说话。虽然google talk和talk.google.com:5222可以直接用汉语沟通,但是这样会被偷听。所以我们让google talk先把要说的话用汉语告诉Stunnel(这个过程是在自己家完成的,不会被偷听),然后Stunnel用阿拉伯语对talk.google.com:5223转述。或者,用Gaim和talk.google.com:5222说意大利语也是一个选择。

PS:又看了一下google的文档,这个5223是为了兼容某些jabber客户端而留的。可能目前就是有两种jabber加密方式并存,不同客户端用了不同方式。
文档里面没有提5224,以我恶毒的心来揣测,估计是因为加密对系统负担比较大,google的人特意开了这个口给熟人用的,这个没什么人用的端口速度应该比较快――哈哈哈哈,纯属玩笑。

备注一下:在windows环境下按原文在添加stunnel.conf记录后会出 "SSL3_GET_RECORD:wrong version number" error的错误。此时只需将记录改为

[Google Talk]
client = yes
accept = 127.0.0.1:5222
connect = 216.239.37.125:5223

就可以解决了。

 

参考资料:

再谈google talk的加密问题

[stunnel-users] "SSL3_GET_RECORD:wrong version number" error

[stunnel-users] How to disable SSLv2

RE: "SSL3_GET_RECORD:wrong version number"

Godaddy优惠码2012

又到了有的域名续费的时节,去网上收集了一些狗爹的优惠码。

Specials for June 2012
199JUNE - $1.99 Hosting - get economy hosting for $1.99
399US1 - $3.99 .US Domains {good from June 15th to July 15}

Domain Coupons (never expire)
FAN3 - 42% off .COM $7.49 domain names
FAN749 - 50% off .ORG .NET .BIZ $7.49 domains

HITCH2 - $5 off an order of $30 or more & .TV Domains
Comment from below "Robin"
The code HITCH2 works for renewing .TV domain Thanks a lot!

$ Discount by Order Size:
$30 or more : FAN2 - $5 off
$40 or more : FANOFF - $10 off

% Discount by Order Size:
10% Off: FAN1 - any order size
15% Off : FAN15 - $75 or more

For Hosting:
FAN20 - 20% off a 1yr or greater hosting plan
FAN1 - 10% off a month to month plan

For Auctions:
AUCTION12 - 50% off a subscription

For SSL:
FANSSL - $12.99 SSL account which is 70% off (usually $69.99)

UK Specific Coupons
For Domains:
BRIT3 - 30% off .com domain names

% Discount by Order Size:
10% Off: QUEEN1 - any order size

Other UK Specific:
FANSSL : 12.99 SSL
FAN20 : 20% Off Hosting

扩展:
关于Godaddy:http://zh.wikipedia.org/wiki/Go_Daddy

为何Google老是玩弄小站的PR?

最近小站的PR值来回不断的跳来跳去,令人堪忧。本来在5月Google最新一次更新PR时,小站奇迹般的由0升为了2,但之后就开始被Google耍了。。。。。。。。。。。。

sometimes,小站的PR一下子跳到了4,之后自己又会跳回2。然后循环往复跳了若干次。

但从昨天开始,PR居然一下子跳到了6!!!!!!!!去查询PR真假,结果是主站(www.derekwei.com)劫持了一个子域名(data.derekwei.com)的PR值,然后子域名(data.derekwei.com)的PR值就是6!!!
我嚓,Google这是玩什么TT,快恢复正常吧,要不就保持在6不要动了XD。

附图:

小站无言以对……