在前文中已介紹如何在Raspberry Pi上建立OpenWRT路由器,並透過其OpenConnect Server相關套件,建立以密碼認證的SSL VPN,而本期將進一步說明如何使用憑證的方式來建立VPN連線。
產生私鑰檔後,著手製作用戶的憑證檔。
此動作完成後,就準備好用戶端連線時所需的憑證檔及私鑰檔。然後,想辦法把這些檔案傳至客戶端。筆者是將這些檔案(user-cert.pem和user-key.pem)上傳至FTP伺服器(須透過opkg或網頁安裝ncftp client),讀者亦可以使用USB隨身碟等方式將檔案備妥。
伺服器端相關設定
接著修改OpenConnect Server的相關設定。將認證方式改為憑證,依序點選Services → OpenConnect VPN → Edit Template,找到「#auth = "certificate"」的部分,將其#號予以刪除,隨後尋找「auth = "|AUTH|"」這一行,在其行首加入#號,如圖4所示。
|
▲圖4 編輯OpenConnect Server端設定。 |
接下來,找到「#ca-cert = /etc/ocserv/ca.pem」這一行,將其行首的#號予以刪除,如圖5所示。
|
▲圖5 設定ca-cert。 |
為了減少不可預期的問題發生,在確認按下〔Save〕按鈕之後將OpenWRT重啟。
用戶端設定
回到OpenConnect用戶端,完成最後的設定。依序點選User Certificate,讀入user-cert.pem檔,再點選User Key,讀取user-key.pem檔,最後再按下〔Save〕按鈕,如圖6所示。
|
▲圖6 讀取使用者憑證及私鑰檔。 |
此時如果再回頭去按編輯鈕,就可以看到使用者憑證已讀入,如圖7所示,SHA1那一行原本不存在,現在也已經出現了。
|
▲圖7 確認使用者憑證已讀入。 |
最後,重新進行連線,會發現此時已經不需要輸入密碼就可以進行連線,同時也避免了因密碼外洩所造成的資安危機。
<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>