軟體工程師的小事:到底要不要 Close

使用 Windows Server 架設 SSTP VPN 服務

本篇文章將使用 Windows Server 內建的遠端存取建立使用憑證與使用者帳號密碼認證的 SSTP VPN 服務

憑證為 OpenSSL 工具建立的 CA 與簽發的憑證,如何使用 OpenSSL 工具可瀏覽下方參考連結

SSTP 預設使用 443 連接埠,相較於 PPTP 或 IPSec 等 VPN 更能輕易的提供存取

啟用與設定 Windows Server SSTP VPN 服務

安裝遠端存取功能

開啟 Server Manager

點選 Add Roles and Features

在 Server Roles 勾選 Remote Access

在 Role Services 勾選 DirectAccess and VPN (RAS) 與 Routing

Web Server Role (IIS) 使用預設即可

點選 Install 開始安裝功能

匯入伺服器憑證

在安裝的同時在 Run 輸入 mmc 開啟憑證管理工具

在 File 功能表點選 Add/Remove Snap-in ..

Certificates 點選 Add

選擇 Computer account

選擇 Personal 在視窗點選右鍵點選 Import... 匯入憑證

點選 Browser... 選擇要匯入的憑證檔案

必要時會要求輸入密碼

目錄位置保持 Personal

點選 Finish 完成匯入作業

在 Personal 會發現兩個憑證 txstudio 與 *.txstudio.tw

txstudio 是根憑證 *.txstudio.tw 是由 txstudio 核發的伺服器認證憑證

使用滑鼠拖曳的方式將 txstudio 根憑證搬移到 Trusted root certification authorities 位置

根憑證就會被移動到 Trusted root certification authorities ,只要是由 txstudio 核發的憑證在此電腦都會被認定為有效憑證

*.txstudio.tw 憑證內容

此憑證是用來認可 *.txstudio.tw 使用

從 Certification Path 可以看到根憑證是 txstudio

在 Details 的 Enhanced Key Usage 用途可以看到作為 Server Authentication 使用

開始設定 SSTP VPN

功能與角色安裝完成且憑證準備完成後就要來進行 SSTP VPN 的設定作業

點選驚嘆號符號並開啟設定精靈

點選 Deploy VPN Only

在 Routing and Remote Access 視窗中在伺服器名稱點選右鍵點擊 Configure and Eanble Routing and Remote Access

選擇 Custom configuration

勾選 VPN Access 與 NAT

點選 Finished 完成設定

在伺服器名稱點選右鍵開啟 Properties

在 Securtiy 下的 SSL Certificate Binding 選擇先前匯入的憑證 *.txstudio.tw

在 IPv4 項目點選 Add 加入 VPN 使用 IP 位址清單

輸入提供 VPN 使用 IP 位址範圍

此範例使用與內部網路網段相同之 IP 位址

點選 Apply 完成變更

建立提供連線的使用者認證

在 Run 輸入 lusrmgr.msc 開啟使用者管理工具

在 Users 位置點選右鍵加入新的使用者帳號

輸入使用者名稱與密碼,不要勾選 User must change password at next logon

進入新建使用者的 Properties 內容

在 Dail-in 的 Network Access Permission 勾選 Allow access

到此步驟就完成 SSTP VPN 伺服器的設定

若伺服器是位於路由器或防火牆後面就需要開通對應的連接埠,預設 SSTP 是使用 TCP 443

設定 Windows 10 連線至 SSTP VPN

完成伺服器設定後就要設定 Windows 作業系統連線至 SSTP VPN

不需要額外安裝軟體,使用內建的連線工具即可

匯入根憑證

使用 Command-line 工具或是 Run 輸入 mmc

在檔案選擇新增移除嵌入式管理單元

選擇憑證並點選新增

勾選電腦帳戶點選下一步

選擇本機電腦

點選確定開啟憑證管理工具

在受信任的根憑證授權單位匯入 txstudio 根憑證

根憑證的發給項目沒有包含如 DNS 等資訊

從路徑可以看到根憑證的節點只有一個,沒有包含延伸內容

設定 SSTP VPN 連線

在設定的網路與網際網路項目中選擇 VPN 並點選新增 VPN 連線

因為有憑證認證需要輸入完整 DNS 名稱,VPN 類型選擇安全通訊端通道通訊協定 SSTP

點選連線

輸入在伺服器建立的使用者帳號與密碼

顯示連線成功訊息就代表有連線到 SSTP VPN

可透過 ipconfig 指令確認目前 SSTP 獲得的連線資訊

當 VPN 用戶端沒有根憑證時,就算有正確的帳號與密碼也無法成功連線至 SSTP VPN

參考連結

https://blog.darkthread.net/blog/issue-wildcard-ssl-cert-with-openssl/

留言