[教学] RT-N16(Tomato)如何解决Heartbleed

楼主: jimc (jimc1682000)   2014-07-04 01:06:54
网志有图好读版:
http://jimc1682000.blogspot.tw/2014/07/rt-n16tomato-by-shibbyopenssl-heartbleed.html
先说明一下,什么是OpenSSL Heartbleed好了:
就OpenVPN官网的解释:
“A vulnerability in OpenSSL, nicknamed Heartbleed, was published in April
2014 1. OpenVPN uses OpenSSL as its crypto library by default and thus is
affected too.”
引用自 - OpenVPN官网
https://community.openvpn.net/openvpn/wiki/heartbleed#OpenSSLvulnerability-Heartbleed
简单来说,就是使用OpenSSL的服务的人,都会遇到该漏洞,而OpenVPN也是使用OpenSSL
做为其加密数据库,所以也受到其影响。
而OpenVPN(Server)影响到的部份,是从1.0.1版一直到1.0.1f;
Android Client部份,则是一直到4.1.2版本才没受到影响;
MACOS X Client是没受到影响;
Windows的Client端,则是只有从2.3-rc2-I001到2.3.2-I003的安装版本都有受影响,
要如何确定,请到C:\Program Files\OpenVPN\bin资料夹中找到libeay32.dll,再查找其
内容,可参考下两张图。
http://goo.gl/RgF4d8
http://goo.gl/rxPnhR
Windows要更新的,可以到以下官网进行下载:
http://openvpn.net/index.php/download/community-downloads.html
以上资料也引用自OpenVPN官网。
有兴趣了解更多的,可用“CVE-2014-0160”去搜寻,会有许多相关的资料。
而以Tomato by shibby版本而言,是什么时候才解决掉此问题呢?
我们来看一下他的Changelog:
http://tomato.groov.pl/?page_id=78
查找关键字“openssl”之后就可以发现他是在117版本之后才改用1.0.1g……因此在117
版本之前的使用者,请尽快更新版本,而且更新金钥和密码。
相关的处理,和进一步了解,可以参考此网页:
http://devco.re/blog/2014/04/11/openssl-heartbleed-how-to-hack-how-to-protect/
OK,那么我们进入正题。
第一步,确认目前使用版本和类别
在界面左侧,有个ABOUT,按下他之后,会显示如下图。
http://goo.gl/Ouvw0Q
可以看到,我的版本是使用“Tomato Firmware 1.28.0000 MIPSR2-116 K26 USB AIO”,
等一下我们就要找到他的升级版本进行下载。
第二步,进行设定档备份
注意,设定档备份虽然可以加快后续恢复,但是也有可能因为版本不同,直接输入设定档
会造成功能无法使用,请自行进行测试,如不行,重设回原厂默认值。
按左侧界面的Administration,当中有一个Configuration
http://goo.gl/XCEcCi
有个Backup Configuration
点选备份Backup,此备份档会下载到你的电脑当中
http://goo.gl/qi88qQ
然后还是建议备份一下你的OPENVPN资料,像是CERT和KEY,以免出了意外……
第三步,下载你的韧体
到Tomato by shibby官方网址进行下载:
http://tomato.groov.pl/?page_id=164
以我而言,因为我是ASUS RT-N16,所以我点进K26这个分类,
http://goo.gl/ibmFAf
找出最新的120版本,再找出我要的版本tomato-K26USB-1.28.RT-MIPSR1-120-AIO
http://goo.gl/WIds3A
http://goo.gl/WBq3aY
第四步,更新韧体
在Administration中有个Upgrade
http://goo.gl/2twUvf
如果你之前曾经开启JFFS,在此记得先关掉该功能
http://goo.gl/kCOsSR
于JFFS页签中取消勾选ENABLE,然后点选SAVE
http://goo.gl/FpxfoS
重新进入Upgrade中,可以更新了,点选“选择档案”,找出你刚刚下载的更新档地点,
“After flashing, erase all data in NVRAM memory”,此选项可勾可不勾,我个人习
惯勾选,以免之后有什么相容性的问题之类的,最后按下“Upgrade”
http://goo.gl/Qnd5mr
更新开始,就等吧~
http://goo.gl/Bkx7a6
更新完成,按下Continue
http://goo.gl/2Pc9v0
Continue后,基本上设定会全部回原厂值,请将网卡设在192.168.1.10/24,GATEWAY设在
192.168.1.1,然后开启浏览器进行设定,连线位置在:http://192.168.1.1,帐号密码
都是admin
http://goo.gl/ddhFiM
将之前备份好的设定档回复
http://goo.gl/pKYnG6
更新完成
http://goo.gl/LqRQNi
第五步,更改CERT跟KEY
相关重新制作过程,可参考以下网页:
http://www.mobile01.com/topicdetail.php?f=110&t=1987934&p=1
弄好的CERT档和KEY如下图,其中有一个Client1.ovpn是使用在Client端的,我们等一下
会再介绍他
http://goo.gl/MXEWIV
第六步,更改CLIENT端的设定
WINDOWS的部份,还是可参考:
http://www.mobile01.com/topicdetail.php?f=110&t=1987934&p=1
我这边来补一下ANDROID的部份~
1.到Google Play找OpenVPN Connect下载
可参考:
https://play.google.com/store/apps/details?id=net.openvpn.openvpn
2.修改Client1.ovpn档案
个人建议就算是个人还是使用TUN模式较安全,而且基本上任何防火墙应该都可以绕过,
不像TAP的话,有些防火墙会绕不过,再来,使用TLS加密较安全,
像是这次的Heartbleed,使用TLS就比较没有泄密的问题。
http://goo.gl/7K6w9z
没有这个档案的人,可自行使用“记事本”打上下面我复制出来的文字,并另外新档,把
档名改成XXX(随便取).ovpn就行了
==========下面是档案内容=============
client
# 使用 TUN 装置 (routing mode)
dev tun
# vpn server 的 ip address 或是 domain name
remote xxx.xxx.xxx.xxx
#上方的xxx.xxx.xxx.xxx请改上你的对外固定IP,或是使用动态DNS服务,像是NO-IP之类

port 1194
#可自行改PORT
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
# PKCS12
cert client1.pem
key client1.key
comp-lzo
verb 3
# 如果用TAP模式的话,redirect-gateway要拿掉
redirect-gateway
==========上面是档案内容=============
其中#号的该行会被注解掉,也就是会被无视掉,所以可以做一些自己的小注解,然后也
请各位改上自己的相关资讯,像是IP位置或是TUN/TAP之类的。
3.将档案放入Android手机当中
先将刚刚产出之ca.crt、client1.crt、client1.key、Client1.ovpn、client1.pem放入
同一个资料夹中,使用Dropbox或是直接传入手机当中,请记得存放位置。
(以SAMSUNG而言,如果是手机内建内存,其位置在于/storage/sdcard0;外接SD卡,则
是/storage/extSdCard)
4.开启OpenVPN Connect
http://goo.gl/8j8F4f
按下选单键,让其出现选项
http://goo.gl/YIoc0X
点选Import
http://goo.gl/aiD9Bs
选择Import Profilie from SD card
http://goo.gl/cssqjC
Import完,就可以点选Connect进行连线
http://goo.gl/INV7DN
选择我信任这个程式,按下确认
http://goo.gl/FP3woc
连线成功!!(请记得要在外网环境或是使用3G进行测试)
http://goo.gl/5iVftu
最后一步,检查是否还有OpenSSL Heartbleed问题:
可使用下面网址的工具检查:
http://www.ithome.com.tw/news/86882
好了,大功告成!!
有什么问题,都可以再跟我讨论喔!

Links booklink

Contact Us: admin [ a t ] ucptt.com