本系列的文章將介紹如何使用CA來建立Remote-Access VPN(使用者連入公司設備)及Site to Site VPN(兩部設備建立VPN連線),並且依序以pfSense及Cisco Router進行個別的實作。
不需任何花費,使用pfSense架設OpenVPN Server就可以輕易地建立Remote-Access VPN,並且可以穿透NAT設備或防火牆。
相較於須付費的SSL VPN或IPSec VPN而言,免費的OpenVPN不僅節省了成本,而且實作上也不會太困難。
行前準備
在開始實作之前,需事先準備好以下的軟體及硬體設備:
- pfSense:使用2.0以上的版本,本文中
所使用的版本是2.1.5。pfSense的介紹請見「https://www.pfsense.org/」,之前已做過簡單的介紹,因此不再贅述。
- 電腦一部:用來安裝pfSense,建議
CPU至少是Intel Pentium 4以上等級的機器,而記憶體越大越好。
- CA相關知識:CA是Certificate
Authority的縮寫,詳細的介紹請見「http://en.wikipedia.org/wiki/Certificate_authority」,如果需要中文詳細說明,可以參考以下的PDF檔(http://security.nknu.edu.tw/textbook1ed/CHAP7-KeyManagement.pdf),這裡僅需了解其基本觀念即可。
- OpenVPN Client軟體:請自行下載
安裝,本文使用的是Windows系統版本的2.3.4版,下載點在「https://openvpn.net/index.php/open-source/downloads.html」。
本次的測試架構圖,則如圖1所示。先在pfSense上安裝及設定OpenVPN的相關套件,接著可以在家中或是外地透過OpenVPN Client連線至OFFICE,進行原先必須進辦公室才能執行的工作。
|
▲圖1 Remote-Access VPN架構圖。 |
之前介紹過的VPN都是使用密碼來進行身分驗證,但這樣做會產生一個問題:假設VPN Server沒有限制來源IP(事實上,由於使用者的IP很少是固定的,因此要做限制是相當困難的),有心人士只要知道密碼就可以連入VPN進行破壞或竊取資料。
採用CA做連線身分憑證的好處是,除非有心人士拿到真正的憑證檔,否則要連入VPN Server是相當不容易的。
pfSense相關設定
首先進行pfSense部分的設定,總共有以下五項,分別加以說明。
安裝OpenVPN Client Export Ultility
此套件是用來匯出CA以自己私密金鑰簽發的憑證,此憑證包含與其私密金鑰相對應的公開金鑰,藉此驗證使用者的身分(使用者須使用此公開金鑰來進行連線時的身分確認)。
先點選System,再點選Packages,接著按一下Available Packages,再往下找到OpenVPN Client Export Utililty。最後,點選右邊的加號(+)圖示進行安裝,如圖2所示。
|
▲圖2 安裝OpenVPN Client Export Utility。 |
建立CA
此步驟的目的是建立CA,依序點選System以及Cert Manager,接著點選CAs,之後按一下右邊的加號(+)圖示以新增一組CA,如圖3所示。
|
▲圖3 新增一組CA。 |
在Descriptive Name部分填入VPNCA,接著將Method部分改為【Create an internal Certificate Authority】以建立內部使用的CA,並填寫相關的欄位。如果讀者曾使用過OpenSSL架設https的服務,對於這些欄位應該會有似曾相識的感覺。