文章目錄
在 Ubuntu 上安裝有密碼保護的 OpenVPN Server
在之前筆記 在 Ubuntu 上安裝 OpenVPN Server 紀錄到如何在 Ubuntu 上安裝 OpenVPN Server,但身為一個有資安意識的工程師,使用時總覺得怪怪的,整個過程就是這麼流暢,順到讓人覺得害怕呀
沒錯,我們沒有為 OpenVPN Server 設定任何保護機制,任何人拿到 client 的設定檔都可以透過我們建立的 OpenVPN Server 在網路上遨遊XD
為了避免 OpenVPN Server 的 cleint 設定檔被任意傳播造成不必要的麻煩,所以今天就來紀錄如何在 OpenVPN 連線時加上一個簡單的密碼驗證
基本環境說明
- Azure VM Standard B2s (2 vcpus, 4 GiB memory)
- canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2
- openvpn 2.5.9-0ubuntu0.22.04.2
安裝步驟
取得 server 對外 IP
用來做為 OpenVPN Server 的連線 ip,也用來為相關服務開通的來源 ip
curl ifconfig.me
使用安裝腳本進行安裝
下載腳本
wget https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh -O openvpn-ubuntu-install.sh
執行腳本
sudo bash openvpn-ubuntu-install.sh
逐步設定
設定 OpenVPN Server 的連線 ip
以我的例子,預設是內網 ip,所以需要手動輸入對外 ip
是否啟用 IPv6
預設為
n
,可以根據需求選擇y
或n
選擇連線 port
根據需求設定 port,預設為
1194
選擇連線 protocol
可以根據需求選擇 TCP 或 UDP,預設為
UDP
選擇 DNS
根據需求選擇 DNS,預設為
AdGuard DNS (Anycast: worldwide)
是否啟用壓縮
預設為
n
,可以根據需求選擇y
或n
是否啟用 custom encryption
預設為
n
,可以根據需求選擇y
或n
執行安裝
設定 client name
輸入 client name,
必填
是否啟用密碼保護 client 設定
預設為
1) Add a passwordless client
,可以根據需求選擇1) Add a passwordless client
或2) Use a password for the client
設定密碼 (如果選擇
Use a password for the client
)client 設定完成
設定完成後,會顯示相關訊息,包含 client 的設定檔位置
匯入 client 設定檔
下載 client 設定檔
匯入 client 設定檔
透過 OpenVPN Client 匯入 client 設定檔,並設定 Private Key Password
心得
實際效果:連結 vpn 後,對外 ip 會變成 OpenVPN Server 的 ip,這樣就可以透過 OpenVPN Server 來限制存取服務的來源 ip
未使用 OpenVPN Server
使用 OpenVPN Server
新增移除 client 或是刪除 OpenVPN,可以透過重新執行腳本來操作
sudo bash openvpn-ubuntu-install.sh
參考資料
文章作者 Yowko Tsai
上次更新 2024-06-05
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。