加入RUN!PC粉絲團
最近新增的精選文章
 
最多人點閱的精選文章
 
 
精選文章 - 網管資安
分享到Plurk
分享到FaceBook
 
Direct Access如何有效且安全的取代VPN
文/黃建笙 2010/8/3 上午 11:51:27

資訊的腳步從來就沒有停留過,IT人員所負擔的管理範圍,也隨著科技的進步愈來愈廣;不止包山包海,再加上行動工作概念的實現、交通運輸的便利,人為因素所造成的各項安全問題,讓不少IT人員傷透了腦筋。國內對於企業資訊安全與機密保護觀念提升,加上資訊安全政策發佈,讓本來為了安全而安全的天秤更是傾向一面倒的趨勢,難道就沒有即安全又簡單方便的VPN方案嗎?而現在熱門的安全議題「透明加密」也不斷延燒,是否有能不增加管理者的負擔,並兼具安全與便利的VPN解決方案呢?

現有VPN方案的比較
現在有提出來的各種VPN方案中,經過評估最安全的就屬IPsec,而最不受外在環境因素影響的VPN方案就屬SSTP(Security Socket Tunneling Protocol),再來就是架構比較簡單一點的PPTP(Point-to-Point Tunneling Protocol),不論是IPsec、SSTP或PPTP,各個VPN方案都有不錯的表現,也讓不少IT決策者傷透了腦筋該如何選擇?筆者就以Windows平台提供的VPN解決方案,以彈性及傳遞的安全性來做比較:


透過上表的內容,DirectAccess在安全架構上採用PKI架構,且不易受到外在環境的影響,尤其綜合IPsec及SSTP的優點,兼具安全與便利的特性。DirectAccess 透過ESP(Encapsulating Security Payload)、AH(Authentication Header )技術並結合使用者憑證及電腦憑證來進行驗證及加密,可以確保用戶端來源的正確性,更可透過PKI架構將使用者憑證發行成為Smarter card(智慧卡),達成雙因子(Two-factor)驗證的強度,使驗證來源的安全性考量則更加安全。

高安全性的連線,提供更嚴謹的存取控制
DirectAccess可以確保高安全性的連線,主要的原因是DirectAccess Client(以下簡稱為DAC)及DirectAccess Server(以下簡稱DAS)會建立兩條穿隧通道,分別是以電腦憑證建立基礎建置通道(Infrastructure tunnel),及以電腦憑證與使用者憑證建立內部網路通道(Intranet Tunnel),而這兩條通道建立的第一條基礎建置通道都是以電腦憑證來建立,另一條與內部網路連接的內部網路通道,則視存取保護的模型不同而有所差異。

那麼連線通道建立之後,連線的保護模式主要分為End to End(端點對端點)及End to edge(端點對邊界)兩種型態的存取保護。當DAC發起連線時,會以Client電腦憑證發起建立一條IP TLS加密的ESP通道 (如下圖1所示綠色通道),來進行電腦的驗證。當電腦憑證驗證通過後,接下來則視DAS上設定驗證,如果有設定Smarter Card驗證,那麼DAC在第二條的ESP Tunnel時則會以電腦憑證、使用者憑證及Smarter Card來建立IP TLS加密的ESP通道 (如下圖1所示藍色通道)直接存取內部網路的資源。如果沒有設定驗證Smarter Card,那麼在建立第二條ESP Tunnel時,會以用戶端的電腦憑證、用戶端的使用者憑證來建立這個IP TLS加密的ESP通道,此時DAS就依照連線模式的限制,來做為網際網路及內部網路資源的轉送站,還是由DAC直接存取內部資源。其實說穿了,DAS就與IPsec Gateway是相同的功能角色。


▲ DirectAccess通道建立示意圖。

遠端使用者在完成連線通訊時,隨即遇到的安全問題就是連線存取。而這個連線存取會分成兩種的主因,就在於與目的主機間的連線是使用IPv6還是IPv4,若連結的目的伺服器是只能使用IPv4,那麼就只能用在End to Edge的連線存取架構,若是連企業內部伺服器主機都支援IPv6,那麼就可以使用End to End將資料的傳遞全程的保護起來,以確保資訊不會有明碼傳遞的問題。也就是說,如果在企業內部環境之下尚有Windows 2003 server,並未安裝有IPv6的設備上,則只能使用End to Edge的存取方式。

End to End的存取保護
End to End存取保護顧名思義就是由來源到目的的存取保護方式,以使用者及電腦憑證建立IP-TLS加密與ESP通道,在完全保護的狀態之下運行。當DAC進行連線到企業內部時,若目的主機亦支援IPv6的連結,那麼DAS就會自動讓用戶端,將通道建立至目的伺服器上,以保全所有連線資訊的內容,並可確保資料的機密性及資料的完整性。


▲ End to End連線存取示意圖。

End to Edge的存取保護
End to Edge與End to End最大的不同,在以使用者及電腦憑證建立ESP通道及IP TLS加密資料至DAS為止,DAC連結到目的資源主機時,再由DAS中介向資源主機取得所提供的服務。主因在目的資源主機不提供IPv6的連結,因此會透過DAS去取得目的資源再轉送給使用者,如果目的主機提供的服務是有加密的資訊,那麼就是以加密傳遞到DAS去,轉進IPsec-ESP通道中;若目的主機提供的服務是明碼,那麼在目的主機到DAS之間的傳遞就是明碼傳送。


▲ End to Edge連線存取示意圖。

Selected Server的存取保護
Selected server是以End to Edge為基礎運作,與End to Edge不同的是DAC會再以電腦憑證建立ESP-Null封裝到存取資源主機,以驗證DAC的連線,並不完全提供確認資料的完整性、機密性。只有在第一個交換封包時提供IPsec驗證,與IKE(Internet Key Exchange:網際網路金鑰交換)交涉之後,由DAC以電腦憑證建立的Null封裝,自DAS到資源主機的通訊脫離IPsec的保護,且DAC也僅能存取指定的資源主機,並在每次存取資源主機時都必須經過驗證,以確保存取資源的來源,而在DAC及DAS之間還是保有End to Edge的運作模式,如圖4所示。


▲ Selected Server連線存取示意圖。


搭配安全建構的Direct Access
DirectAccess安全的基礎建構來自PKI,雖說IPsec及SSTP也一樣是基於這個基礎點,但不同於另外二者,DirectAccess在應用的部分配合AD的管理及GPO的發佈,使得Windows Server 2008 R2與Windows 7的結合更加緊密。因為無界的觀念,使用外部使用者操作電腦與內部使用者無異,因此在安全的規劃上吃重於PKI架構。另外值得一提的是,與SSTP相同,在微軟的這個VPN方案中,可以提供NAP來提供資訊安全的保護,當DirectAccess結合NAP(Network Access Protection)、RMS(Right Manager Service)的功能,使得用戶端在外不止有了方便,更兼具安全的需求。

自動、方便且彈性連結
DirectAccess架構之下,透過ISATAP來部署IPv6的環境,DirectAccess可應用的轉換技術有Teredo IPv6及6to4,以IPv4來封裝IPv6的內容。DirectAccess在基本的需求中必須使用到2個連續的公開IP,這兩個IP就是用於DAS做為Teredo server使用。Teredo主要提供用戶在一個NAT的網路環境中,透過封包偵測、轉送使用。若此時DAC所取得的IP是公開IP,則會透過6to4的轉換技術將DAC的通訊封包封裝,透過IPv4的協定傳遞到DAS,如果DAC取得的IP是虛擬IP,那麼DAC就會發起Teredo轉換技術將通訊封包封裝,執行IPv4連線傳遞。在DAC連接到網路時都會先以IPv6的連線,確認所在的環境是否存在企業內部。若無法直接以IPv6連線到DAS,DAC則會直接以DNS解析取得DAS的IP並以Teredo或是6To4進行連線。
但是往往事情並非所想的這麼簡單,如果在連線的過程中,可能是在一個受到限制的網路環境,那麼不管是Teredo或者是6to4都無法連結成功。此時就會啟用IP-HTTPS來連結到DAS,因為IP-HTPS是採用SSL來封裝IPv6的封包內容,透過TCP/443來連線到DAS上,相當的具有連線的彈性,不會因為網路環境的外在因素,而造成單一種DAS建立連線失效的問題。
為何DirectAccess會具有連線的彈性呢?主要就是因為DirectAccess提供了三種連線基礎的連接方式。由於現在的廣域網路中,尚未完全的支援IPv6的連結,那麼在ISATAP(Intra-Site Automatic Tunnel Addressing Protocol; RFC 5214)位址指派及自動通道技術之下,提供以Teredo, 6to4以及IP-HTTPS來達成廣域間IPv6封包傳遞,但是這三種封裝的轉換技術各別有那些用途或特性呢?
.Teredo:由RFC 3056所定義,Teredo主要是提供被置放於IPv4網路位址轉譯後端的用戶,封裝IPv6的內容在IPv4的廣域網路上傳遞,伺服器端是以UDP port 3544提供服務。
.6to4:由RFC 4380所定義,6to4與Teredo最大的不同就在於用戶端所取得的IP是公開IP,那麼就會啟用6to4轉換技術來封裝IPv6的內容進行傳遞,伺服器端是透過TCP/UDP Port 41提供服務。
.IP-HTTPS:由於本項轉換技術是上述兩項的備胎,因此在效能的表現上是不遠如Teredo及6to4,就因為本項也是windows server 2008 R2及Windows 7新的通訊協定,本項連線就等同於使用SSTP + IPsec,效能表現差的部份,可以選擇另外建置乙台IP-HTTPS伺服器來改善效能的表現。

網路分流技術提升網路效能
DirectAccess除了提供以上的彈性的連結,其它VPN方案都必須經由VPN Server來轉發用戶端所需的網路傳輸。一旦撥接至VPN後,用戶端若欲連結到外部網站,這個連結需求就會傳送到VPN伺服器上,轉而向網際網路要求服務提供。網路服務回應時,亦是透過VPN Server將資料轉送給VPN Client,而DirectAccess則透過DNS查詢的記錄,來分割網際網路與內部網路的傳輸。因此透過DirectAccess在於VPN的效能表現能優於其它VPN解決方案,也因為本項而加分不少。如果僅止於此,那麼這個網路分流的功能就不值得一提了,兩台在外部的DAC透過內部名稱連線解析,可直接透過DAS的保護,將資料傳遞安全加密,並且兩台DAC的網際網路需求自動分流不用將封包傳遞回到DAS再做轉送,因為網路分流的功能讓DirectAccess加分不少。(請見圖5。)


▲ DirectAcces網路分流運作示意圖。

標榜無縫連結的DirectAccess
DirectAccess是微軟在Windows Server 2008 R2的重大更新功能,如果以與其它的解決方案來比較起來,DirectAccess像是以IPv6為基礎,綜合IPsec及SSTP的VPN解決方案。因為DirectAccess綜合了IPv6 Over IPv4的技術,使得在各種可能造成連線阻礙的因素之下,可以自動的調整連接的方式,簡單的來說,如果IPv6 Over IPv4的解決方案無法克服環境限制,那麼就會使用IP-HTTPS的連接方式透過SSL的保護,將IPv6的傳輸內容封裝起來傳遞到DAS上。
說到這裡,你是否會覺的這個只是個不用撥號的IPsec VPN,反正我IPsec撥不通,我就改撥SSTP VPN就好了。如果使用VPN人員是不具有基本的網路通訊技能,也無法完全確認網路是否連接正常時,光是花在除錯抓問題的溝通成本上,恐怕是難以估算。DirectAccess標榜的是只要能連上DAS,就能連回到公司內部,只要確保網路是可以連到公司網站,那麼就可以連上VPN回到公司內部網路。如果網路可以連結但無法正常使用公司內部資源,那就代表你已經處在一個網路受限的環境,透過這麼簡單的方法,就能讓遠端使用者了解所在環境是否正常,就有如產品標語「永遠在線、無縫連結」一般。

DirectAccess在安全與成本的天平是持平?還是傾斜?
DirectAccess在筆者測試過程中,發現DirectAccess在網路無界概念下,展現的更加透徹。透過自動連結、安全驗證,若配合使用NAP,更可以將有問題的遠端使用者,在連回公司內部環境前直接被隔離,以降低資訊安全風險。雖然DirectAccess並不提供Network-to-Network的VPN模式,而DirectAccess又是以IPsec為基礎架構,但DirectAccess主要是以Client / Server架構來提供網際網路上的使用者存取企業資源。既然是提供方便兼具安全又免撥號的VPN,那麼相對建置所需求的環境就複雜了許多。筆者建置測試環境的除錯過程也遭遇到不少問題,除了在安裝過程中出現的問題可以立即解決,其它非設定的問題,都要到了把整個DirectAccess的架構完成,才發現無法執行。而問題出在那一個步驟,恐怕就必須視其問題特徵來反推設定內容了。
當然,方便又好用的服務所要付出的代價也不低,除了建置Direct Access伺服器必須是Windows server 2008 R2標準版以上版本外,還得建置一個PKI,而企業內部環境之下也需要有AD,而且用戶端也必須是Windows 7 Enterprise或Ultimate以上版本。不過,現在市面上購買到的設備,隨機OS版本都幾乎是home版或者是Professional,在用戶端要達成DirectAccess的目標,其代價不禁也會讓使用者去評估,是否一定要為了這個功能而花費近萬元來升級用戶端OS,雖然DirectAccess 在VPN安全與便利的天平已經達成接近平衡的狀態,但是站在企業管理者的角度,建置DirectAccess所投資進去的費用及技術成本,到底讓投資效益的天平是持平還是傾向一邊,就看各位如何來評估這個天平的傾斜角度,是否和投資的金額有達成最佳效益了。

(原文刊載於RUN!PC雜誌:2010年04月號)