五月 11 2009

Fortigate SSL VPN 與2008 NPS Server 的快速設定

分類:Servers

網路基本架構圖

之前提供Fortigate 的SSL VPN 的快速設定方式,都是在防火牆設備上建立帳號,讓用戶端使用該帳號及密碼作登入。只是,這其實有很大的資安問題,因為很多公司為了方便,往往只建立一至兩組的通用帳號及密碼;萬一某個知道登入方法的員工離職了,這樣就會造成要重新設定及公告撥入的帳號和密碼,怎麼想都覺得這是很有問題的作法。假如公司每個月換掉一個員工,不就每個月都要痛一次? /=.=/

但是,如果公司有使用微軟的AD網域架構,就能利用Windows Server 2008 內建的網路原則伺服器(NPS),當作我們的Radius Server;也就是用戶端想在Fortigate 上登入SSL VPN 時,只要輸入網域的帳號及密碼,就會依據網管在該帳戶所開放的權限去判斷是否允許登入。

參考上面的網路基礎架構圖,我預備將已經加入網域的NPS 主機(192.168.1.51)當作Radius Server。
1) 到開始 -> 系統管理工具 -> 伺服器管理員,開啟後新增「網路原則伺服器」的角色,然後按下一步。
安裝NPS角色

2) 勾選「網路原則伺服器」,然後按下一步完成。
啟用網路原則伺服器

3) 完成安裝後,到開始 -> 系統管理工具 -> 開啟「網路原則伺服器」,並參考下圖新增RADIUS 用戶端。
啟用網路原則伺服器

4) 新增RADIUS 用戶端。因為NPS 是我們的RADIUS Server,Fortigate 自然而然就成了我們的用戶端,所以請務必輸入其IP 位址,及Server 端和用戶端的溝通時所需要的共用密碼。範例是以「123」當作共用密碼,而廠商則可選擇「Microsoft」,因為Fortigate 有支援MS-CHAP v2 的驗證。
設定Radius用戶端

5) 設定完Server,再回到Fortigate 上設定。請到User -> Remote -> RADIUS,參考下圖新增一組RADIUS 設定。這邊要比較注意的還是Primary Server Secret 設定,因為RADIUS Server 及RADIUS Client 端的共用密碼必須一致,範例是以「123」當共用密碼Authentication Scheme 則選擇「MS-CHAP v2」。
新增Radius Server設定

6) 把建立好的RADIUS 設定加到已經被Policy 允許存取SSL VPN 的群組內。高興的話,可以順手把之前通用的那個帳號給廢了。
將設定加入群組內

上面的步驟應該算是完成設定,但實際使用時會發現,用戶卻像是鬼打牆一樣無法登入。
無法登入的錯誤訊息

這一切的一切都是因為AD 網域的帳號設定,關於VPN 的登入選項預設為「透過NPS 網路原則控制存取」。最快的解決方式,就是直接勾選「允許存取」。
手動改為允許存取

雖然Fortigate 提供VPN 的功能還有很常見的PPTP 跟IPSEC,只是我個人覺得對於企業應用及便利性來說,SSL VPN 還是略勝一籌,或許也是為什麼有些知名UTM 設備廠都將這功能內建在裡面的原因。

最後來談談Fortigate 的後續維護成本。以這次公司因中華電信資安艦隊專案所取得到的FG60B 來說,由於是屬於中華電信的特別專案,所以設備從在原廠註冊完成日起算兩年內,AV(AntiVirus,不是一支筆啦)、IPS(入侵偵測防禦系統)、Web Filtering(原廠線上提供的網頁過濾資訊)、AntiSpam(原廠線上提供的防垃圾郵件資訊)及韌體更新都是屬於免費的,但硬體保固卻是需自行聯繫代理商後送回。
HiNet 資安艦隊贈品
FG60B註冊資訊

如果貴公司是一秒鐘幾十萬上下的,建議找這次專案賣很大的Fortigate 代理商-力麗科技對!不用懷疑,跟賣家具的力麗家具一點關係也沒有)或SI 系統整合商,花點小錢加簽到場或備品服務,不然損失的就不止幾萬了。

而過兩年之後,很抱歉!想繼續更新AV/IPS甚至硬體保固,就必須付費續約。至於費用方面,我之前有跟我公司的SI 維護廠商稍微詢問過,一次簽約三年含AV、IPS及硬體保固,大概不到六萬元,算是還蠻超值的。

但不簽也無所謂,機器也不至於變成磚頭,原有的UTM 功能仍然存在,只是沒有硬體保固,而且就跟防毒軟體一樣,無法線上即時取得最新的病毒碼防護及版本更新。

不過,這也有大絕招啦!如果公司有兩台以上的Fortigate 設備,但至少有一台仍有在保固內的話,依然可以從官方的技術支援網站手動下載到病毒碼及韌體的檔案,然後再手動塞進沒保固的設備就完工啦! /:P/

目前有 14 個回應 , 標籤:


目前有 14 個回應

  1. kai 說道:

    蘇老可以教一下如何設定fg60b的sslvpn跟server 2003連在一起

  2. kai 說道:

    忘記說了還有vpn ipsec要如何設定,我想要用ipsec vpn跟台灣跟大陸兩地連在一起

    • AskaSu 說道:

      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=

  3. kai 說道:

    蘇老,windows 2003 的RADIUS Server我架好了也連結成功了也可以登入了,所以sslvpn部份就不用在麻煩你了,
    不過ipsec的部份就要麻煩你了,原廠的文件我看過了,不過看不太懂,

  4. AskaSu 說道:

    恭喜你!IPSEC 的Site to Site VPN 我有空會來研究看看。 :)

  5. Mark 說道:

    Dear蘇老
    我是 http://www.itpro.tw 的站長 Mark ,有一個案子剛好也是需要用到Foritgate 配合Radius 認證,感謝您分享這麼有用的資訊,謝謝。

  6. AskaSu 說道:

    不客氣! :D
    很高興我的文章能幫助到有需要的人,這也是我積極學習的動力之一...

  7. vincenty 說道:

    蘇老 請問一下

    之前用網域帳號從網頁或是用sslvpn client登入都沒有問題

    但是突然變成只能從網頁登入
    若用sslvpn client登入 就會出現跟上面一樣的錯誤視窗

    60B跟2008 server都沒做變動

    不知您有沒遇過這種情況?

    • AskaSu 說道:

      Hi, vincenty

      我這邊沒有遇過類似的狀況,
      建議試著下載新版的SSLVPN Client測試,
      或者重新檢視相關設定。

      另外,如果你的SSL VPN Port有改過預設的10443,
      在連接使用時,則必須輸入完整的網址IP及埠號

  8. Emerson 說道:

    請問如果AD裡面使用的 cn 是中文名稱,該如何輸入vpn client 的 username ?
    註:英文名字是可以通過驗證的。

  9. Emerson 說道:

    問題已解決,變更 cn 為sAMAccountName 已可正常驗證。

  10. hsing 說道:

    請問是在ad上啟用 網路原則伺服器(NPS)嗎?

    另外10F的emerson說,可以將cn值,變更samaccountname,請問是在那裡做更改呢?
    請不吝指教。
    謝謝。

  11. AskaSu 說道:

    不需要在 DC 上啟用 NPS Server,
    可以另外裝一台後,在該台啟用角色。

    至於 samaccountname,
    就不確定 emerson 討論的是哪一部分了。

  12. Vincent 說道:

    LDAP server設定裡面的Common Name Identifier:sAMAccountName ,預設是cn,不過由於AD裡面的CN都帶中文,所以要改成用SAM account認證

發表迴響

*