2016-09-23

自行更換 Aruba Controller 憑證

事發於剛開學的某日,早上上班剛進辦公室時就看到同事在為一位老師服務,我想說應該又是老師的電腦有問題要請求我們協助就沒多注意。

後來同事讓我過去處理…

老師的狀況是要進行學校的無線網路連線,因為學校由本單位建置的網路是用 aruba controller 3600 + aruba thin-AP 所建置的熱點無線…所使用的認證為學校的 radius over ldap 的認證,帳號是 mail over ldap 。

所以連上 ssid 之後,會先導引到登入頁面 (https),輸入郵件的帳號密碼,正確後才可進行網路使用。

但此老師若以 chrome 要被導引到登入頁面時,會出現 redirect loop 的狀況,或者出現在憑證頁有問題的提示頁面,chrome 所帶的 error code 為 err_cert_revoked ,告知憑證已被撤銷…

目前所使用的憑證是 aruba controller 的 self-sign …導引位址是 serverlogin.arubanetwork.com …對應的 ip 為 aruba controller 對外的 ip …憑證到期日為 2017 年的某日…所以不是因為「過期」的問題,重點應該是在「revoked」…

後來以 chrome 的憑證錯誤說明知道,原來 self-sign 的演算法是使用 SHA1 ,此法將於 2017 棄用,目前各大發行憑證中心與瀏覽器大多提早半年取消使用此演算法的憑證…

所以這個老師的狀況就是那麼剛好的遇上…(但奇怪的是,這個狀況只出現在一般電腦上的瀏覽器…手機上用的 chrome 沒有出現 err_cert_revoked 的警告)



-----

隔天又有幾位老師有反應這個狀況,所以這個要想辦法解決…因為學校沒給錢買憑證,只能求助 Let's Encrypt …麻煩的就是三個月要 renew 一次嘛…

我是使用 sslforfree 的網站來申請,而且這個網站加入 member 還會在快到期時寄通知給你…

-----


  1. 先進入 aruba controller ,到 Configuration > Management > Certificates > CSR 來產生「憑證請求檔」,CSR Type 是選 rsa ,Key length 選 2048 (註:有做 802.1x 認證的要注意,802.1x 好像不支援使用到 4096)
  2. 在 sslforfree 產生憑證時,可以把 CSR 給貼上,所以產生完的憑證檔會沒有 private.key 
  3. 以文字編輯器分別打開 certificate.crt 和 ca_bundle.crt ,然後把 ca_bundle.crt 的內容貼到 certificate.crt 底下,然後將 certificate.crt 另存新檔
  4. 進入 aruba controller ,到 Configuration > Management > Certificates > Upload 來將 certificate_new.crt 上傳,[Certificate Name]填個好記的,[Passphrase (optional)]與[Retype Passphrase]不用填,[Certificate Format]選 pem , [Certificate Type]選 Server Cert ,即可完成上傳…
  5. 在 aruba controller ,到 Configuration > Management > General 把 [Server Certificate] 和 [Captive Portal Certificate] 都選到同一個 [Certificatie Name] ,如此就完成了更換憑證
第 3 步比較重要,如果沒有將 ca_bundle.crt 貼到 certificate.crt 底下成為一個新檔,雖然憑證不會有問題,但你在用行動裝置連上 ssid 導引到登入頁後,會出現警告此憑證是不受信任的…主要就是因為 ca 憑證好像會是找不到,所以要主動提供…

第 5 步不一定要連 [Server Certificate]都要選擇…主要是 [Captive Portal Certificate]…

=======

如此,就完成了

但,這個問題主要是因為 Captive Portal 採用 https …所以,如果你不想以後每三個月都要這樣麻煩的話,你有兩個選擇

  1. 花錢買長時間的憑證
  2. 不加密,改用 http

8 則留言:

匿名 提到...

不好意思 我也有這個問題 能像您請教更詳細的細節嗎~~

line : wackochu

死狐狸 提到...

您好

如果您有什麼方向的問題,就直接在此留言問好了…

匿名 提到...

有關sslforfree 網址是輸入serverlogin.arubanetwork.com 這個而已嗎 (剛有試過不行)

謝謝你ㄛ~

死狐狸 提到...

不對唷…

原本 aruba-controller 預設的 ssl cert 是「serverlogin.arubanetwork.com」,這是系統原本預設的…如果你目前在憑證上遇到的問題跟我一樣是因為 aruba-controller 的 firmware 比較舊,所以「預設」的憑證是使用 sha-1 1024 加密的話,在比較新的瀏覽器都會出現 revoked 的訊息,導致憑證不被瀏覽器認可而禁用…
如果你是這個問題…你有兩個處理方式

1) 更新 aruba-controller 的 firmware 到比較新的,然後重發自我憑證…(加密記得選2048)
這個你只能找廠商處理

2) 找第三方免錢的發證單位簽發憑證
這個你可以去sslforfree來簽發三個月期的免費憑證,但在 domain 的地方你就不能使用「serverlogin.arubanetwork.com」,因為sslforfree在確認憑證有效的方式是你在申請的時候,他會給一個序號檔,要你放在你所申請的 domain 底下,然後你 domain 的那台機器要有可以提供web或ftp的功能讓sslforfree來連線,讓它可以抓到序號檔…但「serverlogin.arubanetwork.com」的所有權是 aruba 公司,你如果申請 domain 是用這一個,你是不可能能申請到憑證的…所以你只能用你或所公司所有的 domain

匿名 提到...

請問一下步驟二
2.在 sslforfree 產生憑證時,可以把 CSR 給貼上,所以產生完的憑證檔會沒有 private.key
把csr貼上,是貼上哪裡?
貼在申請的網址列嗎?

死狐狸 提到...

不是

sslforfree 的網址列是讓你填你要申請的憑證的 domain …

sslforfree 申請的步驟大至如下:
1) 連到 sslforfree 的網站

2) 加入會員或直接將想要有憑證的 domain 填入 sslforfree 頁面中的「網址列」,然後按下網址列旁的綠色按鈕「Create Free SSL Certificate」,進入認證模式

3) 所謂的認證模式是 sslforfree 要確定你所申請的網域是你的,或者是你是那網域的「管理者」、「擁有者」;認證方式為三種:
「Automatic FTP Verification」- 如果你所申請的網域的那些機器有 ftp 服務,且你有可讀寫的 ftp 帳密,可將相關的資訊填寫完後,交由 sslforfree 自動檢測後將憑證檔透過你的 ftp 帳密上傳憑證
「Manual Verification」- 手動認證,在按下「Manually Verify Domain」按鈕後,它的第一步會有數個認證檔要你下載,之所以我這邊說有數個,主要是看你一開始在申請的網址列是寫了幾個網域,這邊就會叫你下載幾個認證檔,依網域上傳至相關的網域機器的公開的網頁服務中的根目錄底下的「.well-known」目錄下的「acme-challenge」目錄中,這兩個目錄你沒有的話請自行建立,iis 有「.」目錄連結要例外處理,可以自行 google 處理方式…它在第五步有個 following link 可以測試,如果你有依它的步驟上傳相關認證檔且路徑正確的話,你應該在點 following link 時可以直接下載該認證檔

而你在問的「csr 貼上」就是貼在你將「I Have My Own CSR」打勾後的文字方塊

貼完 csr 後就可以點「Download SSL Cerificate」,如果它的步驟一切正確的話,你就可以正常下載憑證檔,如果不行它「應該」會有說明,不過我不確實說明是啥,因為我現在無法測試。

注意:當你認證失敗而重來時要記得認證檔會變動,所以你必須重新上傳新的認證檔才行。

高粱 提到...

請問一下,doman是aruba controller的doman嗎?

死狐狸 提到...

您是指在 ssl for free 申請時所填的嗎?

如果是,那確實指的是 aruba controller 的域名。