之前提供Fortigate 的SSL VPN 的快速設定方式,都是在防火牆設備上建立帳號,讓用戶端使用該帳號及密碼作登入。只是,這其實有很大的資安問題,因為很多公司為了方便,往往只建立一至兩組的通用帳號及密碼;萬一某個知道登入方法的員工離職了,這樣就會造成要重新設定及公告撥入的帳號和密碼,怎麼想都覺得這是很有問題的作法。假如公司每個月換掉一個員工,不就每個月都要痛一次?
但是,如果公司有使用微軟的AD網域架構,就能利用Windows Server 2008 內建的網路原則伺服器(NPS),當作我們的Radius Server;也就是用戶端想在Fortigate 上登入SSL VPN 時,只要輸入網域的帳號及密碼,就會依據網管在該帳戶所開放的權限去判斷是否允許登入。
參考上面的網路基礎架構圖,我預備將已經加入網域的NPS 主機(192.168.1.51)當作Radius Server。
1) 到開始 -> 系統管理工具 -> 伺服器管理員,開啟後新增「網路原則伺服器」的角色,然後按下一步。
2) 勾選「網路原則伺服器」,然後按下一步完成。
3) 完成安裝後,到開始 -> 系統管理工具 -> 開啟「網路原則伺服器」,並參考下圖新增RADIUS 用戶端。
4) 新增RADIUS 用戶端。因為NPS 是我們的RADIUS Server,Fortigate 自然而然就成了我們的用戶端,所以請務必輸入其IP 位址,及Server 端和用戶端的溝通時所需要的共用密碼。範例是以「123」當作共用密碼,而廠商則可選擇「Microsoft」,因為Fortigate 有支援MS-CHAP v2 的驗證。
5) 設定完Server,再回到Fortigate 上設定。請到User -> Remote -> RADIUS,參考下圖新增一組RADIUS 設定。這邊要比較注意的還是Primary Server Secret 設定,因為RADIUS Server 及RADIUS Client 端的共用密碼必須一致,範例是以「123」當共用密碼,Authentication Scheme 則選擇「MS-CHAP v2」。
6) 把建立好的RADIUS 設定加到已經被Policy 允許存取SSL VPN 的群組內。高興的話,可以順手把之前通用的那個帳號給廢了。
上面的步驟應該算是完成設定,但實際使用時會發現,用戶卻像是鬼打牆一樣無法登入。
這一切的一切都是因為AD 網域的帳號設定,關於VPN 的登入選項預設為「透過NPS 網路原則控制存取」。最快的解決方式,就是直接勾選「允許存取」。
雖然Fortigate 提供VPN 的功能還有很常見的PPTP 跟IPSEC,只是我個人覺得對於企業應用及便利性來說,SSL VPN 還是略勝一籌,或許也是為什麼有些知名UTM 設備廠都將這功能內建在裡面的原因。
最後來談談Fortigate 的後續維護成本。以這次公司因中華電信資安艦隊專案所取得到的FG60B 來說,由於是屬於中華電信的特別專案,所以設備從在原廠註冊完成日起算兩年內,AV(AntiVirus,不是一支筆啦)、IPS(入侵偵測防禦系統)、Web Filtering(原廠線上提供的網頁過濾資訊)、AntiSpam(原廠線上提供的防垃圾郵件資訊)及韌體更新都是屬於免費的,但硬體保固卻是需自行聯繫代理商後送回。
如果貴公司是一秒鐘幾十萬上下的,建議找這次專案賣很大的Fortigate 代理商-力麗科技(對!不用懷疑,跟賣家具的力麗家具一點關係也沒有)或SI 系統整合商,花點小錢加簽到場或備品服務,不然損失的就不止幾萬了。
而過兩年之後,很抱歉!想繼續更新AV/IPS甚至硬體保固,就必須付費續約。至於費用方面,我之前有跟我公司的SI 維護廠商稍微詢問過,一次簽約三年含AV、IPS及硬體保固,大概不到六萬元,算是還蠻超值的。
但不簽也無所謂,機器也不至於變成磚頭,原有的UTM 功能仍然存在,只是沒有硬體保固,而且就跟防毒軟體一樣,無法線上即時取得最新的病毒碼防護及版本更新。
不過,這也有大絕招啦!如果公司有兩台以上的Fortigate 設備,但至少有一台仍有在保固內的話,依然可以從官方的技術支援網站手動下載到病毒碼及韌體的檔案,然後再手動塞進沒保固的設備就完工啦!
蘇老可以教一下如何設定fg60b的sslvpn跟server 2003連在一起
忘記說了還有vpn ipsec要如何設定,我想要用ipsec vpn跟台灣跟大陸兩地連在一起
SSL VPN 怎麼跟Server 2003 結合,
我可能要找時間測看看,
因為好一陣子沒有架過2003 的RADIUS Server,
現在都是玩Server 2008 比較多。
至於IPSEC 的Site to Site VPN,
這個倒是還沒有搞過,
如果有空而且實測出來,
我會再寫文分享。
其實Fortigate 原廠網站就有提供相關資訊,你可以先參考看看。
http://kc.forticare.com/default.asp?id=40&Lang=1&SID=
蘇老,windows 2003 的RADIUS Server我架好了也連結成功了也可以登入了,所以sslvpn部份就不用在麻煩你了,
不過ipsec的部份就要麻煩你了,原廠的文件我看過了,不過看不太懂,
恭喜你!IPSEC 的Site to Site VPN 我有空會來研究看看。
Dear蘇老
我是 http://www.itpro.tw 的站長 Mark ,有一個案子剛好也是需要用到Foritgate 配合Radius 認證,感謝您分享這麼有用的資訊,謝謝。
不客氣! :D
很高興我的文章能幫助到有需要的人,這也是我積極學習的動力之一...
蘇老 請問一下
之前用網域帳號從網頁或是用sslvpn client登入都沒有問題
但是突然變成只能從網頁登入
若用sslvpn client登入 就會出現跟上面一樣的錯誤視窗
60B跟2008 server都沒做變動
不知您有沒遇過這種情況?
Hi, vincenty
我這邊沒有遇過類似的狀況,
建議試著下載新版的SSLVPN Client測試,
或者重新檢視相關設定。
另外,如果你的SSL VPN Port有改過預設的10443,
在連接使用時,則必須輸入完整的網址IP及埠號
請問如果AD裡面使用的 cn 是中文名稱,該如何輸入vpn client 的 username ?
註:英文名字是可以通過驗證的。
問題已解決,變更 cn 為sAMAccountName 已可正常驗證。
請問是在ad上啟用 網路原則伺服器(NPS)嗎?
另外10F的emerson說,可以將cn值,變更samaccountname,請問是在那裡做更改呢?
請不吝指教。
謝謝。
不需要在 DC 上啟用 NPS Server,
可以另外裝一台後,在該台啟用角色。
至於 samaccountname,
就不確定 emerson 討論的是哪一部分了。
LDAP server設定裡面的Common Name Identifier:sAMAccountName ,預設是cn,不過由於AD裡面的CN都帶中文,所以要改成用SAM account認證