在前文中已介紹如何在Raspberry Pi上建立OpenWRT路由器,並透過其OpenConnect Server相關套件,建立以密碼認證的SSL VPN,而本期將進一步說明如何使用憑證的方式來建立VPN連線。
使用密碼建立的VPN有一個缺點,倘若密碼不小心外洩,公司內部網路很可能被有心人士入侵。對此,以下將介紹如何使用憑證的方式來建立VPN連線,以增加其安全性。
用戶端匯入CA憑證
基本的設定與安裝步驟請參考網管人114期「用樹莓派架設SSL VPN 最低成本打造窮人翻牆梯」文章的說明,本文就不再重複介紹。
此步驟中,先透過管理介面取出CA Certificate,並匯入用戶端軟體。依序點選Services → OpenConnect VPN → CA certificate,將文字方塊中的憑證資訊複製後予以另存備用,筆者將之命名為ca.pem,如圖1所示。
|
▲圖1 儲存CA憑證。 |
接著,將CA的憑證匯入用戶端軟體。開啟OpenConnect程式,並點選編輯的按鈕,如圖2所示。
|
▲圖2 編輯之前建立的連線。 |
然後,按下CA Certificate旁邊的按鈕,選擇剛剛儲存的ca.pem檔案,完成後別忘了按下〔Save〕按鈕進行儲存,如圖3所示。
|
▲圖3 用戶端軟體讀取CA憑證。 |
建立用戶端憑證及私鑰
OpenConnect Server在啟動時,就會自動建立CA及Server的憑證檔,但不會自動產生用戶的憑證檔,因此必須手動建立。
此部分的操作目前尚無法透過網頁介面,因此以下的操作步驟均是透過SSH用戶端程式連入設備後進行操作。
先建立一個用戶的template檔,將其存放在「/etc/ocserv」目錄中,並命名為user.tmpl,其內容如下:
緊接著要產生使用者的憑證檔,其檔名為user-cert.pem,並建立存放私鑰的user-key.pem這兩個檔案。以下為操作步驟:
然後,將CA及Server的template建立link至此目錄,以便之後使用。
接著,建立user-key.pem這個檔案用以存放用戶端的私鑰。