2017年2月25日 星期六

用 HTTPS 連線 NAS 管理網頁會顯示不安全的提示

從這張圖片開始

用 Chrome 瀏覽器連線 NAS 的管理網頁時候, 在網址列會看到紅色的不安全提示


一般使用上不會感覺到差別, 
雖然連線有被加密, 但是不保證傳送過程中沒有被攔截換成別的加密內容.

Q. 要怎麼樣讓紅色警告消失?

A. 在 NAS 上面安裝 SSL 憑證, 用瀏覽器連線到 NAS 的時候, 會把這個憑證向網路上的憑證中心確認真偽, 我把這個理解為確認連線到的網站是不是真的.

Q. 感覺比較安全, 那就裝吧, 要怎麼裝?

A. 花錢買, 向網路上的負責發憑證的單位填申請資訊然後繳費. 等申請的憑證發下來之後就可以裝到 NAS 上面了.

Q. 多少錢啊?

A. 不一定,其實 NAS 廠商本身也有提供 SSL 憑證的服務申請,現在的價錢是這樣,大約一年 500
我是買其他的啦,剛開始測試先選比較便宜的,另外一個目的也是想要瞭解一下整個申請流程
用 NAS 廠商的服務因為方便的緣故可能有些流程廠商幫你代辦處理掉會不知道

流程大綱

  1. 先申請網域
  2. 取得網域之後,用網域資料去申請 SSL 憑證

首先申請網域


  1. 我選 Gandi.net 這邊申請,首先輸入想要使用的網域比方說 aaa.bbb.ccc
    然後看一下查詢結果是否有人使用,如果有人用也會提供相近的建議
  2. 選擇喜歡的名字加入購物車
  3. 第一次使用沒有帳號要建立
  4. 資料填一下,其中電子郵件欄位沒有標明必須,但是沒有填寫送出還是不行
  5. 又有錯誤,再點修改按鈕看看要改什麼
  6. 郵遞區號? 我建帳號的時候沒填嗎? 我也忘了
  7. 改完之後應該就變成綠色的了,然後按下送出
  8. 資料再次確認,送出訂單之前記得把合約條款閱讀打勾
  9. 選擇付款方式
  10. 付款完畢之後訂單就會送出,也提醒去收信
  11. 有一封驗證信,點連結確認

  12. 登入 Gandi 管理自己的網域,在 Gandi 購買註冊網域就可以用他們的 DNS 伺服器
    編輯教學我推薦 Gandi Wiki, 有繁體中文說明還滿清楚的
    總之是要去編輯以下圖片裡面的 @, 把裡面 IP 的值改成自己申請的固定 IP
    檔案裡面還有其他欄位有東西是原本就有的不用更改
  13. 改完之後,奔來搞搞星星,想要測試一下有沒有生效
    用 nslookup 查詢沒有結果,然後注意到上面圖片在改 IP 的時候有一個欄位是 TTL 3h
    推測生效需要等一段時間,就先放著去做其他事情
    等大約 3 小時之後回來測還是沒有 XD
    決定試試看 nslookup 的時候指向 8.8.8.8 去查終於有了
    但是中華電信的 168.95.1.1 還是沒有 (隔一天正常查詢就有了不用特別指定 DNS 伺服器)

接下來可以開始申請 SSL 憑證啦

  1. 一樣是在 Gandi 網站申請,價格方案列表如下
  2. 購買網域有送第一年免費就先用吧,反正是測試
  3. 選擇好要哪種憑證之後下一步畫面會跟你要一個 CSR, 這是一個憑證的申請單
    引導畫面也很親切的告訴你 Gandi Wiki 上面有詳細的教學,所以我也是看網頁跟著操作
    大概說一下流程就是
    1. 選擇要產生 CSR 的軟體,Wiki 上面範例使用的是 OpenSSL
      輸入產生 CSR 的指令,在這個步驟因為我使用 MacBook 所以系統已經內建有這個指令,如果是 Windows 我想應該是要另外安裝軟體
    2. 指令的過程中會詢問一些資訊,我理解為大概就是用來放進 CSR 裡面的資訊
      若 CSR 是一個申請單,那申請單內自然就是要填申請人資訊
    3. 指令的互動結束之後會產生 2 個檔案,CSR 和 KEY
      CSR 貼在網頁上
      KEY 貼在 NAS 的憑證安裝,先留著因為步驟還沒到
  4. 三步驟引導式認證流程,步驟 1 在申請網域的時候已經完成
    步驟 2 是驗證網域名稱,按照引導把驗證字串加入 DNS 區域檔內
  5. 發現已經自動加好了,那為什麼憑證流程還是卡在等待中 ?
  6. 回去認證流程看一下說明,解釋說要等 25 分鐘,又是一個等待,那就等吧
  7. 等待過程看一下 Gandi Wiki, 找到解釋說明用 DNS 認證的方式,因為網域和憑證都是和 Gandi 購買申請的,會自動把字串加入 DNS 區域檔
    也有找到說明要等待時間讓它生效
  8. 等待中收到通知信
  9. 檢查憑證訂單已經生效,可以點進去看一下
  10. 點一下取得憑證
  11. 畫面中一串看不懂的編碼就是憑證了,包含中繼憑證也是需要的東西
    把這兩個憑證的金鑰都個別複製起來
  12. 接下來就是要把憑證安裝到 NAS 上面了,在管理頁面有一個地方要先調一下
    先不要強制使用 HTTPS 安全連線,不然憑證安裝失敗可能會連不上
  13. 安裝憑證的方式是將憑證的金鑰貼上去然後套用
    總共有三個:
    憑證、私人金鑰、中繼憑證
  14. 成功之後憑證使用狀態會改變,並且網址列的 HTTPS 也變成安全的綠色
    以上,到此結束

後記

雖然之前曾經學習過憑證申請和安裝,不過那時候是 Windows Server 自發憑證,
屬於自己信任自己的類型,所以一直對憑證的真實性和安全性沒有實際的感覺。
感覺憑證可以隨便裝,或者是不裝也不會怎麼樣。
實際跑過一次真正憑證中心的申請,知道流程之後比較能夠解開之前的疑惑。


一些概念理解的筆記,技術原理&細節順序可能有錯誤,歡迎指出

  1. 因為申請者提出的 CSR 有身分資訊,憑證中心就是由此確認身分產生憑證。
    再配合私人金鑰確保這個憑證沒有被竄改
  2. 打開 NAS 的 HTTPS 管理頁面時候,因為 NAS 有安裝憑證,所以瀏覽器會把這個憑證拿去向憑證中心詢問是不是真的
  3. DNS 的生效時間好久,憑證申請對應 DNS 的修改也要等,這兩個步驟沒有實際跑申請流程感覺不出來
  4. 雖然安裝了憑證,但是如果你 HTTPS 還是使用 IP 去連線,瀏覽器照樣給你紅色不安全提示,呼應憑證申請需要網域,所以連線網址一樣要使用網域名稱不可以用 IP
  5. 那,如果沒有憑證單純使用 HTTPS 還會有安全加密嗎?
    經過詢問得知,連線的加密還是有的,但是不保證這個加密沒有被攔截竄改
    因為少了憑證中心這個第三方公信力機構的身分確認

沒有留言:

張貼留言