[教學] RT-N16(Tomato)如何解決Heartbleed

看板Network作者 (jimc1682000)時間11年前 (2014/07/04 01:07), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
網誌有圖好讀版: 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 好了,大功告成!! 有什麼問題,都可以再跟我討論喔! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.99.93 ※ 文章網址: http://www.ptt.cc/bbs/Network/M.1404407230.A.196.html
文章代碼(AID): #1JjOs-6M (Network)
文章代碼(AID): #1JjOs-6M (Network)