[教學] 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