如何使用SSH保護虛擬專用網的網絡通信?
建立虛擬專用網,使用SSH保護網絡通信是本文主要講解的內容,但是如何進行操作呢?具體內容如下所述。
當接入公共無線網絡時,我們必須想辦法如何確保數據的安全,例如使用公司的虛擬專用網絡或者加密網絡通道(如HotspotShield)。如果公司沒有虛擬專用網或者不想使用HotspotShield,則可以通過建立自己的虛擬專用網保護無線通信安全,確保無線加密網絡通信不被竊聽。
加密流量通道
不管你使用的公共無線網絡是受密碼保護還是每分鐘計費,任何接入網絡的人都可能竊取你的HTTP流量。
你可以通過創建加密通道來解決這個問題,加密通道可以幫助你將筆記本電腦的網絡流量發送給已知位置(即通道“終端”)。從那里,通道將你的網絡請求路由到公共網絡,一旦流量位于通道外面,就受到來自互聯網服務供應商和相關法規的監控,即使你的數據通過公共接入Wi-Fi熱點,你的網絡接入也是安全的。
在上圖中,接入無線熱點網絡的普通用戶會直接路由到網站(紅色線標記),但使用加密通道(藍色線標記)就能保護在熱點網絡中的流量。當位于通道終端時,網絡流量會通過普通未加密方式(紅色標記)來通過互聯網到達目的網站。
通過SSH加強安全性,簡單又便宜
建立自己的虛擬專用網最簡單的方法就是每月向托管公司支付費用,讓托管公司完成所有麻煩的工作:獲取服務器、安裝操作系統、確保服務器保持24小時在線并確保充足的后備發電功率。這種方法很省事,既不用糾結于任何防火墻系統,也無需保持電腦時刻運行。
只要是提供到SSH(安全外殼)服務器訪問的共享網絡托管服務供應商都能夠提供這些服務,SSH旨在創建加密版本的telnet(互聯網原始協議之一)用于在計算機間發送字符信息。
例如可以選擇HostGator,該供應商擁有大型數據中心。當獲取HostGator帳戶后,你就會收到登錄信息和指定的服務器,然后可以通過SSH命令來建立網絡代理。
獲取SSH客戶端
蘋果OSX附帶一個命令行SSH客戶端,你只需要打開Terminal(位于Application文件夾的Utilities文件夾中),接著會彈出一個命令提示,其中包含你的用戶名和計算機名稱,緊跟著$符號。
在Windows系統中,則需要下載SSH客戶端,其中比較流行的免費客戶端為PuTTY。
測試SSH服務器
使用托管服務供應商提供的登錄信息,你可以通過在$符號后面輸入以下內容來打開OSX系統中的SSH會話。
$sshusername@server.websitewelcome.com
在windows系統中,開啟PuTTY并輸入托管服務供應商提供的服務器名稱。選擇“Protocol”下面的SSH單選按鈕,端口字段應該設置為22(默認SSH端口),點擊打開按鈕。
由于這是第一次連接到服務器,OSX客戶端和PuTTY都會顯示警告信息并提示確認主機的指紋。(這只會出現一次,之后,SSH客戶端會確認指紋沒有更改,如有更改,則可能表明網絡連接已被篡改),你會看到以下內容:
無法完成對主機‘server.websitewelcome.com’的驗證,RSA密鑰指紋是:11:22:33:44:55。
你確認要繼續連接嗎?
確認指紋后,PuTTY將提示輸入用戶名和密碼,OSX僅提示輸入密碼,因為已經在命令行中提供了用戶名。登錄后,會顯示一個提示說明已經連接到遠程服務器的命令行,請注意$符號前的服務器名稱已經變為遠程系統信息:
以此用戶名登錄:username
使用鍵盤交互式驗證
密碼:*********
上次登錄時間:2010年1月1日星期五2時03分04秒,來自1.2.3.4
username@server$
現在已經有了SSH服務器,我們可以繼續設置通道,輸入命令退出并關閉SSH會話。
本地監聽器和遠程端點
現在操作變得有點復雜了,你需要配置本地計算機(“監聽器”)上的端口,該計算機會將所有你扔過來的數據包都放入SSH加密會話。在通道的另一端,流量會流入SSH服務器。在下面的章節中,我們將探討如何配置web瀏覽器來通過這個本地監聽器代理流量。雖然概念上來看,似乎是將web瀏覽器指向遠程服務器,技術上指向的是“本地主機”,也就是本地計算機。
你需要設置SSH客戶端連接到SSH服務器,并打開從你的計算機(本地主機)端口8888開始的通道,終止SSH服務器,然后數據會被轉發到最終目的網站。
創建SSH通道
這個操作在OSX上很簡單,只需要一個命令:
$ssh-ND8888username@server.websitewelcome.com
‘N’告訴SSH客戶端你不想要交互式會話(命令提示),因為你只想設置一個通道。‘D8888’則告訴SSH客戶端在端口8888建立一個“動態”端口轉發通道,該通道為動態,因為目的網站會時常變化。其他端口轉發通道有靜態規則,但對于web瀏覽只需要動態模式。在輸入該命令后,你會被要求輸入密碼。如果命令成功運行的話,端口將會打開,但不會受到任何確認信息。
對于windows系統,則需要再次啟動PuTTY,滾動左邊的‘Category’到‘Connection’。展開‘SSH’類別選擇Tunnels,選擇Dynamic單選按鈕,輸入8888作為‘Sourceport’,并點擊添加。
現在,單擊打開按鈕,輸入密碼后,你的通道將被創建。在命令提示中不會顯示任何確認信息。
使用新通道
現在可以進行測試了。打開web瀏覽器,訪問www.whatismyipaddress.com,并記住IP地址,這個地址是當你連接到網絡時別人所能看到的公共IP地址。當你更高web代理設置時,你需要回到這個網站來驗證互聯網是否認為你是從SSH服務器訪問網絡,這樣網頁瀏覽才無法被其他無線熱點網絡用戶監聽。
IE用戶需要點擊工具菜單并選擇Internet選項,從對話框中,選擇Connection選項,然后點擊局域網設置按鈕。在彈出的對話框中,選擇‘使用代理服務器作為局域網’,現在點擊高級。在‘SOCKS’旁邊地址輸入localhost,端口輸入8888,其他框都不需要填。點擊確認,然后再回到www.whatismyipaddress.com查看當前IP地址。
Windows系統中的Firefox用戶需要點擊工具菜單,選擇Option,而OSX系統中的Firefox用戶則需要點擊Firefox菜單,點擊Preferences。然后,選擇Advanced類別(齒輪圖標)并選擇Network選項(左二),點擊設置按鈕。
選擇ManualProxyConfiguration,在‘SOCKS’旁邊地址輸入localhost,端口輸入8888,其他框都不需要填。選擇SOCKS5單選選項(如果還未被選)。在windows系統中,點擊兩次確認,在OSX中只需關閉這些參數窗口。再次訪問WhatIsMyIPAddress網站,查看IP地址,現在IP地址將會反映出正在使用SSH服務器。
運行自己的SSH服務器
現在你已經有了一個安全的通道可以用來安全地使用公共無線網絡。但是如果你不想每月支付托管服務費用怎么辦?你可以運行自己的SSH服務器,但這個方法并不適合每一個人,除非你能夠完全理解上述的內容,并且知道如何通過家庭DSL/有線路由器允許一個連接或者如何更改辦公網絡的防火墻。另外,你需要保持計算機24小時運行,這可能會耗費更多電力資源。
筆者強烈推薦選擇托管服務供應商,但是如果你真正理解運行自己的SSH服務器所涉及的風險,請繼續閱讀,配置如下:
OSX用戶很幸運:該操作系統中已經內置了一個SSH服務器。只需要打開SystemPreferences并打開Sharing類別。在Services選項中,選擇RemoteLogin(又稱SSH服務器),就這么簡單!
對于Windows用戶,有很多免費且便宜的SSH服務器可供選擇(有時成為SSHD,D為守護進程),本文中將使用的是WinSSHD版本5,該服務器免費供個人使用。運行安裝器,并選擇個人版本。控制面板會在安裝后進行加載,并顯示簡易設置向導。所有默認設置都適用,只需要點擊取消,單擊開始,就能夠開啟SSH服務器。
測試SSH服務器
下一步就是測試SSH服務器,你需要使用上文中提及的命令,OSX用戶請輸入以下命令:
$sshusername@localhost
Windows用戶需要啟動PuTTY并輸入localhost作為服務器地址,你可以使用計算機登錄密碼,請記住這是一個新連接,所以會出現指紋驗證提示。如果失效的話,雙擊打開防火墻或者其他可能阻止連接的安全軟件。
下一步,嘗試從外部連接回到SSH服務器,在本地計算機創建一個測試帳號,并請朋友使用測試帳號密碼來測試連接。當然,你的朋友需要安裝同樣的步驟來安裝SSH客戶端軟件和web瀏覽器。
永遠不要在網上裸奔
本文探討了如何在公共無線熱點網絡中通過安全通道進行網絡訪問的方法。使用免費的HotspotShield服務,安裝自己的SSH服務器或者使用便宜的托管服務,都是不錯的選擇,但無論如何不要嘗試網上裸奔。
總結:
希望本文介紹的使用SSH保護虛擬專用網的網絡通信方法能夠對讀者有所幫助,更多有關操作系統的知識還有待于讀者去探索和學習。
【編輯推薦】