為了強化使用者存取企業內網的安全,及改善VPN的連線穩定度(以在某些地區的使用而言),因此許多網路設備隨著新型號的推出,或者是韌體的修改,而取消了PPTP的VPN伺服器功能,改以容易使用,及具備強大加密能力的SSL VPN做為替代。對於企業來說,SSL VPN主要可以透過2種方式建置:一是購買單一功能的設備;其次,則是使用內建在防火牆等網路設備的SSL VPN伺服器來連線。然而,眾所皆知的是,單一功能的SSL VPN閘道器大多十分昂貴,僅有IT預算充裕的單位得以負擔,而多功能的網路設備則因為需要提供多種服務,因此可供連線的通道數較少,在這種情況下,透過開放原始碼的套件,自行架設SSL VPN也不失為一種可行的做法。

這次我們測試的SSL-Explorer,原本是3SP開發的SSL VPN伺服器套件,它可以分為付費、具備完整功能的Enterprise,及免費使用的Community等2種版本。而在2008年11月,該公司為資安廠商Barracuda收購之後,Enterprise版便改以硬體設備,及VMware虛擬設備(Virtual Appliances,VA)的型式提供,風貌也與以往的軟體套件有所不同。其中,硬體設備的產品線有SSL VPN180、280,一直到最大的880,共囊括6款型號的設備,提供10到1,000位不等的使用者從遠端連線之用;至於Community版,則是改以開放原始碼的套件型式,在SourceForge網站開放下載,最新版本為2008年推出的1.0.0_RC17。

部署環境以Unix為主,需搭配Java始能運作

SourceForge所提供的SSL-Explorer,主要為適用於Unix-based環境的套件。在iThome的測試環境,我們將它先後安裝在CentOS 5.5,及系出同源的Fedora 14等2種Linux作業系統,結果皆能順利運作,而在部署之前,我們必須確認Linux是否已經安裝Java SE Development Kit(JDK),及Apache Ant(類同於Unix下的make工具)等2套做為搭配的軟體。

SSL-Explorer是一套基於Java開發而成的SSL VPN伺服器,而Linux版本的JDK可以從Sun的官網下載。

SSL-Explorer的部署,需透過Apache Ant編譯、安裝,在SSL-Explorer安裝檔所在的目錄,執行「ant install」指令之後,會在文字介面顯示網頁設定介面的所在網址,透過瀏覽器以HTTP、TCP 28080埠的管道連入之後,便能以設定精靈的方式,完成SSL VPN伺服器的基本設定;接著,再於文字介面下,執行「ant install-service」指令,將SSL-Explorer加入Linux的系統服務列表,便可以透過service指令啟、停用SSL VPN伺服器的服務。以iThome實際的安裝經驗來說,整個流程大約可以在4分鐘以內結束。

值得注意的是,安裝完成之後,我們還必須修改SSL-Explorer的系統編碼設定,最後,再重新啟動SSL VPN伺服器的服務,SSL VPN伺服器的部署也就到此告一段落。

另可透過虛擬設備檔部署,降低安裝難度

除此之外,免費版本的SSL-Explorer也有與Linux整合好的VMware虛擬設備檔,放置在SourceForge網站開放下載,這個壓縮後的檔案大小為146MB,解開之後則為476MB,而VMDK檔預設的虛擬磁碟體積上限為1.8GB。它所使用的SSL VPN伺服器套件版本,同樣為1.0.0_RC17。

透過虛擬設備部署SSL-Explorer,可以說是最簡單的一種架設方式,當它於VMware Server/Workstation,或者是vSphere/ESXi的環境啟動之後,就可以連入設定介面,以精靈介面的型式完成基本設定,完成之後,僅需再重新啟動SSL VPN伺服器的服務,就能使其上線,不需要修改憑證的編碼設定。

不過,有鑒於SSL VPN運作時,對於系統資源會有不少的消耗,對於欲開放大量使用者從外部連入的企業來說,我們建議最好可以儘量加大配屬給虛擬設備的記憶體(預設為512MB),及處理器資源(預設為單顆處理器),藉此提高其運算能力,或者架設於實體主機的環境。

雖然SSL-Explorer本身已經不再更新,但是在GPL的規範之下,其他人仍然可以利用其原始碼繼續開發,例如Adito(後來改稱為OpenVPN ALS)就是以其為藍本,發展出來的的SSL VPN伺服器套件,因此兩者的操作介面、安裝方式也幾乎相同,它最新的版本為0.9.1,而安裝檔目前只有安裝在Unix-based系統的套件,尚未推出虛擬設備的版本,因為如此,這次我們主要仍以SSL-Explorer,做為免費SSL VPN伺服器的介紹對象。

連線設定主要區分為3大類

SSL-Explorer所使用的SSL憑證,預設為一般常見的1,024位元長度,然而,它也支援更為強健的2,048位元長度的SSL憑證,使它得以完整因應企業對於各種連線加密的需求。而在連線的控管方面,SSL-Explorer可以設定單一帳號,或者每個IP位址所能建立的通道數,確保不會有其他人使用相同帳號連入。

除了系統的基本設定之外,SSL-Explorer的大多數功能,也都可以透過設定精靈的方式操作,而點選網頁介面的說明,即有圖文並具的說明可供參考,這對於採用這套開放源始碼系統的企業來說,可以大為提升操作的親和度。

和大多數單一功能的SSL VPN閘道器一樣,SSL-Explorer對於內網的存取方式,以網頁型式的反向代理為主,它將企業內網的資源區分為Web Forwards(網頁連線)、Network Places(網路空間存取),及Applications(應用程式連線)等3種不同的類型。在權限的控管上,SSL-Explorer可以如同iThome測試過的其他SSL VPN閘道器,設定讓個別的群組,存取不同的內部資源項目。

Web Forwards
SSL-Explorer能透過多種方式連線到內部的網頁伺服器,這其中,以Replacement Proxy,及Tunneled Web等2種方式最為常用。

Replacement Proxy就是一般常見的網頁反向代理,它的設定十分容易,一般來說,我們僅需要輸入網頁伺服器的IP位址,或者帶有存取路徑的網址,及透過下拉式選單定義網頁的編碼方式,最後,設定好可以存取該項目的使用者帳號,或者群組之後,即可透過SSL-Explorer,從外部存取來企業內部的網頁服務。

至於Tunneled Web,則是以類似NAT,提供網頁伺服器的遠端存取。它的基本設定和Replacement Proxy大同小異,實際連線時,它會在個人端電腦安裝連接器的Java-based代理程式,隨後,我們將能透過SSL VPN伺服器所在的IP位址,及一個由SSL-Explorer隨機給予的通訊埠,與網頁伺服器連線,在連接器未關閉的情況下,可以繼續使用瀏覽器以這個網址做連線,而不需要每次都透過SSL VPN的網頁介面才能存取。

Network Places
透過Network Places,我們可以設定使用者對於內網的資料存取。和一般SSL VPN閘道器不同的是,SSL-Explorer不只能將後端伺服器的儲存空間,透過FTP、網芳等型式,提供給使用者遠端存取之外,也能將主機本身的硬碟空間分享出來,做為網路磁碟使用。

除了基本的檔案上傳、下載之外,透過SSL-Explorer的網頁介面,我們亦能在這些類型的儲存伺服器上,新增檔案夾,以便分類資料,並且可以採用剪貼的方式搬移檔案;而檔案名稱的顯示,可以同時支援正體、簡體中文在內的多種語系,使用上不會有亂碼的產生。

SSL-Explorer還可以設定限制,僅讓使用者以唯讀的方式存取儲存伺服器,另外,對於具有隱藏屬性的檔案,也可以設定一併顯示,讓使用者對於檔案的存取,不會有所遺漏。

Applications
SSL-Explorer將Web Forwards、Network Places以外的應用程式存取方式,歸類於Applications的項目當中。它的設定十分特別,首先,我們必須用瀏覽器連至SSL VPN伺服器的Extension Manager頁面,下載安裝Extension Store所提供的外掛程式,如此一來才能開放特定應用程式對於內網的存取,舉例來說,像是我們經常使用的Windows遠端桌面連線,就是其中之一。

不過,Extension Store的外掛程式,有些原本是提供給這套軟體的Enterprise版使用的,因此像是虛擬鍵盤等許多的模組,就無法安裝於免費版本的SSL-Explorer伺服器。

具備通道模式的功能,登入SSL VPN之後,使用者可直接存取特定的應用程式項目

有鑒於企業所使用的網路應用程式種類五花八門,因此,想要在Applications逐一地完成所有的應用程式存取設定,可以說是一件不可能的任務,但如果透過連接器的軟體,以類似於PPTP、IPsec VPN的全通道,開放使用者完整存取內網的做法卻又太危險,不僅重要的機密資料可能因此流失,惡意程式也可以利用VPN的通道,在內網擴散,對此,SSL-Explorer則是以SSL Tunnels的功能,做為解決方式,一方面開放企業的網路應用程式透過此一功能連線,其次,卻又不會給予使用者過度的權限,連線之餘,也能顧及安全控管。

SSL Tunnels在設定上可,以在使用者登入SSL VPN之後,即自行啟動服務。這項功能的存取方式類似於NAT,設定上除了需要指定目的地電腦的IP位址,及應用程式通訊埠之外,還需要設定一個開放外部連線之用的通訊埠,而且須為未使用的埠號。

SSL Tunnels預設是以127.0.0.1,做為開放連線的IP位址,當通道建立之後,我們可以在網路應用程式,輸入「127.0.0.1:外部的連線埠號」,就可以建立連線。

除了本機帳號之外,另外能以底層的Unix帳號,或者是AD做為驗證來源

SSL-Explorer允許我們可以透過底層主機的使用者帳號、密碼,登入SSL VPN的服務,不過,在安全的考量下,預設是使用建立於本機的帳號來使用SSL VPN,或者可以整合企業現有的LDAP/Windows AD做為帳號的來源。

當我們一開始透過設定精靈,完成SSL-Explorer的基本設定時,即可以在上述3種的驗證方式當中擇一使用,而對於想要整合RADIUS伺服器,或者更進一步以OTP動態密碼裝置驗證使用者身分的企業來說,免費版本的套件並不包含這些功能的設定選項,不過在以免費為前提的情況下,已經是綽綽有餘。

內建強化連線安全

提供遠端連線之餘,SSL-Explorer本身也提供相當程度的連線功能,防止SSL VPN成為發動惡意攻擊的跳板。除了限制單一帳號,及單一IP位址的連線數之外,我們還能透過黑、白名單的機制,規範特定IP位址的權限。

另外,SSL-Explorer預設當使用者連續登入失敗超過3次時,即停用該帳號5分鐘,避免他人以非法的方式嘗試取得帳號的連線密碼。

管理者所使用的主控臺
雖然是採免費型式提供的套件,但SSL-Explorer的操作介面仍然十分視覺化。

 

使用者端的網頁操作介面
透過瀏覽器以HTTPS的方式連接SSL VPN伺服器所在的IP位址,即可登入連線到企業內網,各種不同的服務皆有專屬的圖示,使用上很容易識別。其中,Auto Tunnel的項目,是我們建立的通道模式設定檔,可設定在使用者登入SSL VPN之後即自動連線,成功之後,圖示下方的燈號會亮起。

 

SSL-Explorer的代理程式是Java-based的軟體,因此能透過IE、Firefox等常用的瀏覽器部署到個人端電腦,使用上較不受限制。當我們登入SSL VPN的網頁介面,啟動網頁反向代理以外的存取項目時,該程式即會啟動,透過上方的File、Web Forwards等欄位,我們能從此使用可供存取的內網資源。
Apache Ant的安裝頗為容易,它可以透過CentOS,及Fedora皆內建的YUM部署,自行從YUM的網路伺服器下載檔案安裝;不僅如此,YUM還會偵測執行Apache Ant所需的其它軟體。如果沒有的話,就會一併安裝,或者加以更新。

 

可利用虛擬設備的方式建置系統
SSL-Explorer的免費版本,亦提供VMware虛擬機器型式的虛擬設備檔,在它本機的文字介面下,我們可以透過如圖的介面,操作SSL VPN伺服器的啟、停,或者切換進入指令模式,無論是部署或使用,都較額外安裝於現有Linux主機方便。

 

修改編碼設定

透過vi等文字編輯器,開啟SSL-Explorer安裝檔目錄下的wrapper.conf,及system.properties等2個檔案(以我們將SSL-Explorer的安裝檔放置於/usr/local來說,這2個檔案是位於/usr/local/sslexplorer-1.0.0_RC17/sslexplorer/conf底下),加入如圖所示的編碼設定,最後重新啟動服務,否則當我們連接到SSL VPN的網頁介面,輸入管理員,或者SSL VPN使用者的密碼之後,就會出現「Invalid credentials」的錯誤訊息,同時限制登入。

SSL-Explorer在部署上,需定義系統的編碼設定,才能成功登入系統的網頁介面,以便使用各項功能。

 

設定Applications服務

如果透過SSL-Explorer,以個人端電腦的網路應用程式,與企業內網的電腦連線,主要是在Applications完成設定。這項功能的操作,與一般支援多種應用程式、具備相同機制的SSL VPN閘道器較不相同,為一項特別之處,這裡我們以微軟的RDP為例,示範連線的6個主要步驟。

 

步驟 1  安裝外掛程式
以管理帳號連入SSL-Explorer的網頁介面,在Extension Manager頁面下的Remote Access頁籤,點一下Microsoft RDP Client項目右側的圖示,安裝外掛程式。

 

步驟 2  新增連線項目
透過網頁介面,新增一項Applications連線,畫面中央會將RDP的項目列出,標示為可供連線的應用程式類型,按下Next鍵,即能透過設定精靈的 方式,完成此一操作。

 

步驟 3  新增連線資訊
輸入連線資訊,以便和其他同類型的設定有所區別。

 

步驟 4  輸入目的地電腦的連線設定
這裡可以輸入IP位址,定義所要連線的目的地電腦,另外,還可以調整螢幕的解析度,及所要一併帶入的內網資源,如印表機、共享資料夾等。

 

步驟 5  設定可供連線的帳號,或者群組
除了開放給所有人使用之外,我們也可以在此另行指定具有連線權限的使用者或者群組,設定上非常容易,僅需匯入到右側欄位,就能完成套用。

 

步驟 6  連線到目的地主機
登入SSL VPN,點選剛才設定好的RDP項目,啟動之後,就能透過個人端電腦本機的程式開啟內網電腦的視窗畫面,以圖型化的方式連入內網。

 


Advertisement

更多 iThome相關內容