在現(xiàn)今高度資訊化的世界,不論是個人、企業(yè)組織或是政府單位,都利用許多電腦系 統(tǒng)來處理事務(wù)或提供服務(wù),因此也改變了人們生活型態(tài)及工作模式。然而在資訊科技提供 的方便性之下,同時也有許多軟硬體設(shè)備維護(hù)的問題,因為這些提供服務(wù)的個人電腦或伺 服器可能分散於世界各地,電腦的軟硬體維護(hù)工作往往令工程人員疲於奔命,且企業(yè)組織 營運必須擁有迅速回應(yīng)的能力,所以專業(yè)的 IT 人員更要掌握關(guān)鍵時間來維護(hù)各項服務(wù)的 正常運作,因此在資訊科技的成熟以及寬頻網(wǎng)際網(wǎng)路的發(fā)展普及之下,有越來越多的諸如 此類的需求希望能透過網(wǎng)路來操作或管理在不同地域的伺服器,使得遠(yuǎn)端遙控技術(shù)的重要 性隨之增加,因此各種遠(yuǎn)端遙控軟體就應(yīng)運而生,提供網(wǎng)管人員安全、迅速、可靠的解決 方案,能夠立即的支援遠(yuǎn)端伺服器的軟硬體設(shè)備並進(jìn)行疑難排解;在個人使用者方面,協(xié) 助中心的諮詢服務(wù)人員也能透過此方式來直接操作來解決使用者軟體使用的問題。
遠(yuǎn)端遙控軟體介紹
遠(yuǎn)端遙控技術(shù)簡而言之就是在不同的地域中存在著主控端電腦(Client)與被控端電腦 (Server),主控端電腦透過架構(gòu)在網(wǎng)際網(wǎng)路上的通訊協(xié)定連線至被控端電腦,經(jīng)過密碼的 身份驗証後取得控端電腦的操作能力、桌面環(huán)境等資源,被控端電腦持續(xù)將遠(yuǎn)端畫面同步 傳輸至主控端電腦,主控端依據(jù)遠(yuǎn)端畫面操作電腦鍵盤、滑鼠,再將這些輸入動作傳輸至 被控端電腦上來執(zhí)行,感覺就像是使用者直接在遠(yuǎn)端電腦上操作一般。接下來將介紹多種 不同的遠(yuǎn)端遙控軟體,並比較及加強其在安全性方面的設(shè)定。
一、VNC (Virtual Network Computing) VNC 最初是由 AT&T Cambridge Laboratory 所發(fā)展出來的軟體,原本只是提供 實驗室內(nèi)部人員所使用,之後又分享在網(wǎng)路上並公開原始碼讓網(wǎng)友可依其需要改良, 後來雖然 AT&T 已經(jīng)停止開發(fā) VNC 了,但網(wǎng)路上持續(xù)有一些團(tuán)體持續(xù)開發(fā)維護(hù),並 且也出現(xiàn)一系列xxxVNC的遠(yuǎn)端操控軟體,其中較知名的就屬 Real VNC 了,它採用了 GPL 授權(quán)條款,任何人皆可免費取得其原始碼。VNC 軟體可提供遠(yuǎn)端使用者透過 Internet 上的任何電腦或行動裝置,來觀看其他被控端電腦的圖形使用界面,並可 在主控端與被控端間進(jìn)行互動,且 VNC 軟體具有跨平臺的特性,讓不同類型的電腦 也可以互相遠(yuǎn)端控制,透過 Java Applet 技術(shù)的的網(wǎng)頁介面,使用者甚至可以不用 安裝任何軟體,就能夠透過包括 IE 或 Firefox 等瀏覽器,直接在瀏覽器中操控任 何遠(yuǎn)端電腦的桌面。
AT&T VNC 提供許多平臺的 VNC 原始碼,而在 VNC 用戶端軟體中以 RealVNC 及 TightVNC 提供最完備的作業(yè)系統(tǒng)支援。VNC 在 Mac 平臺的就叫 MacVNC,在 Windows 系列平臺的就叫 WinVNC,且開發(fā)出來的 VNC 軟體所支援的平臺非常廣泛, 包含了 Mac、Windows 系列、Solaris Linux RPMs & Debian packages、Acorn RISC OS、Amiga、BeOS、BSDI、Cygwin32、DOS、FreeBSD、Geos、GGI、HPUX、KDE、NetBSD 、NetWinder、Nokia 9000、OpenStep/Mach、OS/2、PalmPilot、SCO OpenServer、 SGI Irix 6.2、SPARC Linux、SunOS 4.1.3、SVGALIB (Linux without an X server) 、VMS、Windows CE、Windows NT/Alpha等等,讓技術(shù)人員非常方便的遠(yuǎn)端連線至不 同平臺的伺服器上操作。
VNC 的 Server 與 Client 間是透過 VNC Protopol 來讓 Client 取得 Server 的圖形使用介面,而 VNC Protopol 的概念是基於 RFB(remote framebuffer)而來的 ,這樣的通訊協(xié)定建立在如 TCP/IP 等的可靠的傳輸之上,可以讓 Server 端很容易 的更新framebuffer,而 Client 端就可以透過 viewer 取得 framebuffer 更新的資 訊,而透過 framebuffer 層級來傳輸資料,也讓如 X/Unix、Windows、Macintosh 甚至 PDAs 等具有通訊能力的設(shè)備能夠應(yīng)用此技術(shù),也使得 VNC 能夠具有跨平臺的 能力。
下列軟體都是藉由AT&T的VNC技術(shù)為基礎(chǔ)所再延伸發(fā)展出來的VNC軟體: OSXvnc OS9vnc Real VNC Ultra VNC WinVNC Palm VNC 2.0 PocketPC VNCViewer Client SmartLab Pocket PC VNC Server
另外還有其他軟體公司所自行開發(fā)類似VNC的遠(yuǎn)端連線軟體,如下: Microsoft Windows XP中的遠(yuǎn)端協(xié)助、遠(yuǎn)端桌面連線 Apple Remote Desktop Symantec pcAnywhere NetOp Remote Control R-Desktop
二、RealVNC(WinVNC) WinVNC 其實就是 RealVNC 的前身,RealVNC 是在 Windows 9x/2000/NT(Intel Win32)平臺上執(zhí)行的VNC,而 RealVNC依所提供的功能又有 Free Edition、Personal Edition及Enterprise Edition,目前最新版本為RealVNC 4.12,而各版本之間功能的 差異如下: Free Edition:僅提供了建立VNC連線最基本的功能,且能夠與VNC 3的版本相容, 以及VNC 4 免費版本能夠相容。 Personal Edition:除了Free Edition所提供的功能之外,還包含了連線加密的能 力,能夠使用2048-bits的RSA來做身份驗証的動作,以及在同一個session當(dāng)中使用 128-bits的AES做加密來保護(hù)連線中所傳輸?shù)馁Y料。在Windows的平臺上還提供了檔 案傳輸及視窗縮放的功能。 Enterprise Edition:除了Personal Edition所提供的功能之外,在Windows的平臺 上還提供了能夠使用Windows NT擁有的帳戶來做身份驗証的功能,並提供功能強大 的部署工具套件給使用者;而且不同的是此版本在UNIX及MAX OSX的平臺上亦能夠用 平臺上擁有的帳戶來做身份驗証。
下載並安裝好RealVNC後,可以在安裝好的資料夾(通常預(yù)設(shè)的路徑為C:\Program Files\RealVNC\VNC4) 中看到 winvnc.exe及 vncviewer.exe這兩個執(zhí)行檔,其中 winvnc.exe是 Server (被控端)的程式,提供Client(主控端)作遠(yuǎn)端連線的服務(wù);而 vncviewer.exe是Client(主控端)的viewer程式,可以透過這個vncviewer.exe的程式 來連上Server。RealVNC Server執(zhí)行的操作模式又有分為User-Mode及Service-Mode, Service-Mode就是將RealVNC當(dāng)作Windows裡面的服務(wù)一般來執(zhí)行,不過一般來說被控 端通常只要執(zhí)行User-Mode即可讓使用者做遠(yuǎn)端遙控;在參數(shù)設(shè)定方面最重要的就是在 Authentication中設(shè)定VNC Password Authentication,以便控制端連線時輸入密碼做 身份認(rèn)証之用,並且防止網(wǎng)際網(wǎng)路不當(dāng)掃描IP的電腦任意登入,NT Logon Authentication使用NT驗證可以減少記憶帳號密碼的數(shù)量,Encryption建議一定要啟 動加密避免在傳輸資料過程中被監(jiān)聽封包,但此功能在免費版本中並沒有提供; Connections中是設(shè)定連線所要開啟的port(預(yù)設(shè)值為 5900但建議改用 10000以後的 port)、能夠限制連線的IP範(fàn)圍以及透過網(wǎng)頁瀏覽器的Java Applet遙控遠(yuǎn)端電腦所要 開啟的網(wǎng)頁服務(wù)port為何(預(yù)設(shè)值為5800);Inputs中是設(shè)定Client與Server的資料輸 入來源;Desktop建議設(shè)定將去除桌布可以減少傳輸延遲,且在使用者離線後鎖定可 以增加安全性。
另外當(dāng)Server端在公司內(nèi)部沒有真實IP的狀況之下,VNC Viewer另外還提供了 Listen Mode的特殊模式,還是可以透過內(nèi)部虛擬IP等狀況來連線,因為一般使用VNC 遠(yuǎn)端遙控時,都是由主控端(VNC Viewer)呼叫被控端(VNC Server)進(jìn)行控制;而 Listen Mode則反過來由被控端(VNC Server)邀請主控端(VNC Viewer Listen Mode) 進(jìn)行控制。而在VNC Server的一般模式之下,等待Client連線的port是5800,Java Applet的網(wǎng)頁介面port是5900,這兩個通訊埠有可能被防火牆給檔下來,因此當(dāng)兩端 無法建立連線時也有必須檢查防火牆上的設(shè)定。
三、TightVNC TightVNC開發(fā)是以原始發(fā)佈的VNC為基礎(chǔ),目前最新版本為tightvnc-1.2.9,與其 他版本的VNC軟體不同的是,TightVNC強調(diào)In short在低頻寬提供最佳品質(zhì),因為有將 影像在Server端做最佳化壓縮處理,讓影像資訊在傳輸?shù)倪^程中更快速,並加強了許 多VNC的特點,包含了效率的最佳化,以及修正原始的VNC版本中所存在的漏洞,讓此 版本的VNC更加穩(wěn)定,且與其他VNC所使用的 RFB通訊協(xié)定完全相容,所以就算被控端 安裝的是其他版本的VNC Server端,TightVNC還是能夠以最基本的功能執(zhí)行遠(yuǎn)端遙控 的功能;但如果Server端也是使用TightVNC的話,那麼所能發(fā)揮的功能就更多了,包 含了:
1.將遠(yuǎn)端影像用JPG方式壓縮,稍微降低的影像品質(zhì)來使影像傳遞更為順暢,在中低 速的網(wǎng)路下也能有良好的畫面更新速度。 2.能設(shè)定不同的密碼讓使用者能夠完全控制或是只能顯示遠(yuǎn)端畫面,區(qū)分使用者取得 控制的權(quán)限增加安全性。 3.對UNIX自動啟動SSL傳輸加密的功能,以防資料在傳輸?shù)倪^程中被竊取。
TightVNC提供三種VNC Viewer模式:Best Compression、Fast Compression及 Listen模式。其中Best Compression模式提供最佳壓縮結(jié)果,適合頻寬較小的使用者 使用,但相對的被控端的電腦負(fù)載會比較高,而Fast Compression則是快速壓縮,適 合受控端電腦性能較低但是頻寬足夠的情況使用,使用者可依據(jù)電腦的配備和網(wǎng)路頻 寬決定使用何種模式,而且TightVNC仍然是免費的自由軟體,一樣可以在GNU General Public License的條款下散佈。
四、UltraVNC UltraVNC是強大且有用的VNC 軟體,它的開發(fā)也是以原始發(fā)佈的VNC為基礎(chǔ),目前 最新版本為July 1 2006所發(fā)佈的Ultr@VNC 1.0.2,它除了擁有上述RealVNC的功能之 外,而且UltraVNC也提供了類似TightVNC的遠(yuǎn)端顯示加速的技術(shù),也是在所有VNC相關(guān) 軟體當(dāng)中提供最多的額外支援功能的Addons,可以讓使用者能夠控制更複雜的連線狀 況。而且UltraVNC也是自由軟體,可以在GNU General Public License的條款下任意 散佈。
UltraVNC與其他從VNC所衍生出來的軟體中,所提供的功能有以下特點: 1.檔案傳輸:內(nèi)建圖形介面的檔案傳送功能,允許客戶端和伺服器之間做簡易的檔案 複製與傳輸功能。 2.VideoDriver:稱作視訊虛擬驅(qū)動程式,成功地改進(jìn)效能並降低網(wǎng)路連線時的CPU負(fù) 載量,在Windows之下所建立的連線能夠提供更好的品質(zhì),畫面更平滑不會延遲過久 ,並且加上了TightVNC的游標(biāo)控制與編碼,讓使用者在遠(yuǎn)端連線工作時能更加順暢。 3.MSLogon:使用者可以透過已經(jīng)在Server端所建立的帳戶進(jìn)行連線的動作,而不用再 另行替使用者建立新的帳戶,還能將使用者所進(jìn)行的動作記錄下來。 4.optional EncryptionPlugins:在傳輸資料的過程中,可以載入額外的加解密套件 替資料作加密的動作,避免在傳輸?shù)倪^程中被竊取。 5.TextChat:允許在客戶端和伺服器之間傳輸即時訊息。
五、PC Anywhere pcAnywhere是Symantec所開發(fā)的遠(yuǎn)端連線軟體,所使用的技術(shù)和VNC的RFB協(xié)定不 同,它提供了閘道功能,即使被控端位於防火牆或路由器之後,甚至沒有固定的IP位 址,也可讓主控端使用者尋找所需的被控端,並且在安全性方面內(nèi)建FIPS 140- 2驗 證AES 256位元加密,可確保階段作業(yè)的安全性,且自動偵測頻寬功能會自動將每一種 連線類型的pcAnywhere效能最佳化。
但pcAnywhere與上述VNC軟體比較,VNC軟體大多是免費的,而最新版本的 Symantec pcAnywhere 12售價是NTD$:6,690可以說是十分昂貴,且VNC檔案大小約為幾 百KB至幾MB,而pcAnywhere為幾十MB的大小,一般而言就功能價售比較之下,相信大 多數(shù)人都會選擇使用VNC吧。
六、遠(yuǎn)端桌面 微軟的Windows系列作業(yè)系統(tǒng)自從Windows XP之後,就提供了遠(yuǎn)端桌面以及遠(yuǎn)端協(xié) 助的功能,遠(yuǎn)端桌面是透過RDP(Remote Desktop Protocol)協(xié)定來使用微軟作業(yè)系統(tǒng) 的Terminal Service,是在遠(yuǎn)端透過port 3389連線使用提供此協(xié)定的Windows主機(jī), 遠(yuǎn)端桌面和遠(yuǎn)端協(xié)助不同的是遠(yuǎn)端桌面被控端不需要有人回應(yīng)即可操作,而發(fā)出遠(yuǎn)端 協(xié)助的使用者,必須先產(chǎn)生RAInvitation.msrcincident這個檔案來請求對方電腦的協(xié) 助。
遠(yuǎn)端桌面以及遠(yuǎn)端協(xié)助是使用RDP(Remote Desktop Protocol) 的通訊協(xié)定,與 VNC是使用RFB(remote framebuffer)不同,RFB的特點就是能夠透過framebuffer來達(dá) 到跨平臺的功能及重新調(diào)整電腦負(fù)載的平衡;但遠(yuǎn)端桌面雖然只能在Windows平臺上執(zhí) 行,但是也因為是使用相同的平臺及RDP技術(shù),雖然RFB協(xié)定中有像素壓縮功能,但資 料的傳輸量還是比使用RDP協(xié)定高,因此遠(yuǎn)端桌面的延遲速度還是比VNC來得小,使用 遠(yuǎn)端桌面甚至還能在Windows上播放影片呢。
以上所介紹的VNC連線軟體其實都是師出同門,但是大多數(shù)的VNC軟體除了在輸入帳號 密碼的認(rèn)証階段有加密,之後所做的的操作傳輸都沒有做保護(hù)的動作,相較於Windows的遠(yuǎn) 端桌面VNC多少還是有安全性的顧慮,因此我們還是可以透過安全通道來建立連線傳輸資料 ,如在Unix平臺上常用的SSH Tunnel來建立VNC Connection加強VNC安全性,且SSH Client 可以很容易的在Windows、Macs以及其他的平臺上取得。
另外在2006年5月17日VNC有一個驗證密碼弱點漏洞被發(fā)現(xiàn),會影響RealVNC 4.11與之 前的版本,當(dāng)密碼設(shè)定超過八位數(shù)以上時即可能存在此項弱點,其使得有心人士可以躲過 驗證程序,進(jìn)入遠(yuǎn)端系統(tǒng)進(jìn)行非授權(quán)的存取。解決方案是儘速更新RealVNC至4.12版本。 這些諸如此類的遠(yuǎn)端遙控軟體,在網(wǎng)管人員的應(yīng)用方面,提供了專業(yè)的IT人員能夠遠(yuǎn)端遙 控的將障礙排除、維修及系統(tǒng)回復(fù)作業(yè),並且大量減少現(xiàn)場維修(deskside visits)次數(shù) ;在線上諮詢方面,使用者有問題時能夠即時的解決,操作的過程包括下達(dá)的指令也完全 顯示於雙方的螢?zāi)簧?,讓使用者了解問題出在什麼地方,更可提供使用者線上學(xué)習(xí)機(jī)會, 達(dá)到事半功倍之效;另外在教學(xué)的應(yīng)用,也能透過遠(yuǎn)端廣播的方式來達(dá)成遠(yuǎn)端教學(xué)、遠(yuǎn)程 醫(yī)療的功能,而這些都要拜資訊科技之賜。
參考資料: [1] Tristan Richardson, Quentin Stafford-Fraser, Kenneth R. Wood & Andy Hopper, "Virtual Network Computing", IEEE Internet Computing, Vol.2 No.1, Jan/Feb 1998 pp33-38. [2] Real VNC, http://www.realvnc.com/ [3] Ultra VNC, http://ultravnc.sourceforge.net/ [4] Palm VNC 2.0, http://palmvnc2.free.fr/ [5] Symantec pcAnywhere, http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=pf&pvid=pca12 [6] NetOp Remote Control, http://www.netop.com/ [7] R-Desktop, http://www.rdesktop.org/ [8] Best VNC-Based Screen Sharing Solutions: Slashdot Reports, http://www.masternewmedia.org/news/2004/10/23/best_vncbased_screen_sharing_ solutions.htm [9] Tristan Richardson, Kenneth R. Wood, ORL & Cambridge, “The RFB Protocol” , 16 July 1998, http://www.cl.cam.ac.uk/research/dtg/attarchive/vnc/rfbproto.pdf | |