IT實戰:用Token強化VPN的身分驗證

實際示範如何將憑證整合至VPN的前後端,再加強遠端身分驗證的安全性。

在一般的網路上傳送資料,如果沒有加密是很不安全的,因此企業通常會要求員工從遠端登入企業網路時,必須透過VPN,但VPN連線還是有一些漏洞可鑽,例如連線過程是經過加密保護的,但使用者在本機電腦上設定與啟動連線時,仍只以帳號、密碼來驗證身分,因此搭配更完善的身分驗證機制是必要的,接下來,我們將告訴你如何建置用既有的環境去建置相關的方案。


硬體式的身分驗證強化方案

首先你要準備第二層驗證(帳號、密碼屬第一層的驗證機制)的設備,常見的產品有2種:1種是內建USB介面可連接使用者電腦的Token,1種則是提供動態密碼的OTP裝置。

我們這次實作的認證裝置主要是USB Token。它是一種將儲存媒介(智慧卡晶片或者是Flash記憶體)與讀卡機裝置合而為一的產品。就功能來說,主要是提供使用者登入系統與網路服務的驗證保護,裝置內部可以集中存放多組常用的帳號、密碼。當使用者在個人端電腦插上Token後,每一次當他登入企業的應用系統時,這項裝置會自動將預存的帳號、密碼資料,填入驗證系統上的身分表單欄位,自動完成登入,或者在帶入資料後,再由使用者輸入裝置管理者的密碼,才能登入。

憑證是另外一種經常存放於Token的資料類別,透過自行架設的CA(Certificate Authority)伺服器,我們可以替裝置所產生的憑證執行簽章的動作,成為特定使用者所專用的個人憑證。這樣的憑證服務不只是向驗證伺服器表明登入服務的使用者身分,也能同時搭配金鑰執行加、解密。


結合Token實施VPN驗證

目前能透過Token來驗證身分的網路服務,主要有兩大類:網頁表單的登入,以及VPN等網路服務的身分驗證。前者主要是利用一般的帳號、密碼完成登入程序,至於後者則是借助於憑證來核對身分。

以Aladdin的eToken Pro裝置為例,當我們登入網頁表單的時候,可以透過安裝於電腦上的eToken管理軟體,將帳號、密碼寫入到裝置存放。但整合憑證的驗證程序較為複雜,因此我們設計了一個PPTP VPN的測試環境,作為此次技術實作的重點。

環境配置上,我們在路由器後方的內部網路,部署了一臺以Windows Server 2003架設而成的VPN伺服器,並且同時賦與它CA、AD,以及RADIUS等多重伺服器角色。

由於連線過程中,是以憑證取代一般常見的帳號、密碼進行身分驗證,因此我們並未讓VPN伺服器直接連結到AD驗證使用者身分,而是採用可以整合憑證運作的RADIUS做為驗證伺服器。

個人端電腦使用Token連接VPN之前,必須透過CA伺服器將使用者的個人憑證匯入到裝置對於Token用量龐大的企業來說,匯入個人憑證的工作因為需要逐一執行,所以需要花費相當多時間才能完成。

實際連線的過程如下:開啟VPN連線軟體(這裡使用的是Windows內建的連線工具),在指定透過智慧卡,也就是Token驗證的前提下,啟動PPTP VPN的撥號程序,此時,連線軟體會要求使用者必須輸入Token裝置的PIN碼,才能進行驗證的相關步驟。

連線軟體會確認先前手動匯入的憑證,和RADIUS伺服器所擁有的憑證,是否為同一臺CA伺服器,也就是原發行單位所產生的,一旦兩者相符,即視為信任的連線。

此外,Token會將存放在裝置內的個人憑證帶出,向RADIUS伺服器表明連線的使用者身分,完成交換公鑰的非對稱式加密架構之後,便能建立通道,允許使用者存取企業內部的網路資源。

《詳細內文請見iThome電腦報381期(www.ithome.com.tw),天瓏、誠品、何嘉仁、搜主義、敦煌、法雅客、Page one書店均有銷售》


381期其他精采內容:
.封面故事:2009年10大IT趨勢
.名家專欄:沒有失敗的創新
.焦點新聞:桃園機場電腦大當機,硬碟與備援機制都掛點
.焦點新聞:電腦廠商提供降級XP服務只到6月底
.CIO TALK:成就感是轉業成功的關鍵 藍領階級撐起臺糖IT一片天
.IT實戰:用Token強化VPN的身分驗證
.產品測試:iSCSI磁碟陣列:Dell Equallogic PS5000
.產品測試:筆記型電腦:HP TouchSmart tx2