這次要fortinet ssl vpn 使用AD驗證及 整合 azure ad mfa,使用windows sever 2022 擔任NPS主機(已加入網域)
安裝NPS角色,在伺服器角色中勾選[網路原則與存取服務]即可安裝
安裝完成後,開啟NPS管理工具
在NPS節點 > 將該主機註冊到AD中
點選 確認
完成
下載Azure AD MFA NPS擴充功能
https://www.microsoft.com/en-us/download/details.aspx?id=54688
開啟porwershell 視窗
切換至 路徑C:\Program Files\Microsoft\AzureMfa\Config
執行.\AzureMfsNpsExtnConfigSetup.ps1
輸入azure ad 管理者帳號密碼
輸入租用戶ID
完成後會自動重新啟動NPS服務
forti 設定timeout時間
config system global set remoteauthtimeout 60
以上就完成 NPS 整合office 365 mfa 相關安裝
接下來的需求是用戶端要使用fortinetClinet連線需使用AD帳號密碼才可以
且必須隸屬特定VPN Group成員才可以連線成功,並不是所有AD帳號都可以連線
設定:
1.新增RADIUS 用戶端。因為NPS 是我們的RADIUS Server,Fortigate 自然而然就成了我們的用戶端,所以請務必輸入其IP 位址,及Server 端和用戶端的溝通時所需要的共用密碼
反之在Fortinet 上面需要新增一組 RADIUS
輸入名稱 : NPS01 (自訂) ,NPS IP ,及共用密碼
2.Fortinet 新增user Group
=> 請到 User & Authentication => User Group 新增一個User Group
範例 建立一個HQ-SSL-VPN-Group
Remote Group : 將 RADIUS Server 加進來
基本上以上設定完成後預設NPS 上的連線要求原則和網路原則可以不用做任何調整就可以使用ad帳戶連來連線ssl vpn,且會跳出微軟二階段驗證 (另外fortinet ssl vpn 及policy 相關設定不特別說明)
但是AD帳戶需要勾選[允許存取]可以連線成功。
若需要設定特定群組則新增一個[網路原則]
條件設定特定群組
驗證方式部分記得要勾 [加密驗證]及[未加密驗證]
此時AD帳戶,撥入設定選[透過NPS網路原則控制]即可(這是預設值)
另外說明
因為NPS 整合 multifactor authentication ,又因為微軟Authenticator app 有
1.簡訊驗證
2.Microsoft Authenticator – 通知
3.Microsoft Authenticator 應用程式或硬體token
根據fortinet 文件所以驗證方式需要特別勾選,否則無法驗證成功
- PAP 支持雲中的所有Azure MFA 身份驗證方法:電話、短信、消息、移動應用通知和移動應用驗證碼。
- CHAPv2 支持電話和移動應用程序通知。
參考連結
https://docs.microsoft.com/zh-tw/azure/active-directory/authentication/howto-mfa-nps-extension-vpn
https://www.petenetlive.com/kb/article/0001759
https://www.ultraviolet.network/post/fortigate-ssl-vpn-with-azure-ad-mfa
https://pliantcloud.com/blog/2018/9/7/how-to-setup-fortinet-multifactor-vpn
https://techgenix.com/azure-mfa-existing-vpn/
https://docs.microsoft.com/zh-tw/azure/active-directory/authentication/howto-mfa-nps-extension
https://pio.nz/2021/02/13/fortigate-sslvpn-with-azure-mfa/
https://pio.nz/2021/02/13/fortigate-sslvpn-with-azure-mfa/
https://www.petenetlive.com/kb/article/0001725
ASA
https://www.petenetlive.com/KB/Article/0000685
