聊一下NAS的網路安全:幫Synology NAS申請StartSSL第三方憑證

在上次聊一下NAS的網路安全:以Synology DS415Play為例裡,有一項是啟動HTTPS的連線,只要啟動了之後並使用HTTPS連線就會是加密的連線,只是瀏覽器會跳出警告視窗說明這可能是不安全的連線。


原因是Synology DSM裝好之後的憑證是自我簽署憑證,瀏覽器並不會認識這種自我簽署憑證,因此才會有警告出現。
Image 1

也可以看到網址列前面的鎖頭是一個紅色大叉叉。
Image 2

解決的方法有三種,直接抄上一篇的,結果我自打嘴巴,選了第三種。
  • 無視,這不影響加密,選擇繼續前往即可(目前選擇無視)。
  • 將NAS提供的自我簽署憑證匯入你常用的瀏覽器,不過只要換了其他台電腦連線,一樣會有警告(有空再弄)。
  • 找第三方憑證認證公司做付費認證,你需要一個自有的網域,要付一些錢,有點麻煩(我的NAS是自己要用而已,目前不打算做認證)。

所以現在來寫一下在StartSSL上申請的流程(StartSSL申請Class 1的憑證是免費的),過程極為複雜,昨天申請今天寫,有些東西已經沒什麼印象了XD。還是先說明一下我的網路環境:
  • Hinet光世代100/40M。
  • 浮動IP,我的路由器每三分鐘會檢查一次IP,如果IP有變更會自動更新到DDNS。
  • 我有二個網域,一個就是128px.com,另一個是no-ip的DDNS服務,以下且稱為xxx.no-ip.info好了。

前置工作
1. 因為StartSSL不支援sub domain,所以我不能拿xxx.no-ip.info去申請,而我的128px.com是在GoDaddy買的,GoDaddy好像不支援DDNS,所以目前的辦法是在GoDaddy上設一條CNAME把yyy.128px.com導向xxx.no-ip.info,DDNS會更新到xxx.no-ip.info,而yyy.128px.com會導向xxx.no-ip.info,所以最後的結果就是yyy.128px.com會直接導回我的浮動IP。


註冊StartSSL的帳號
StartSSL的網址
2. 選註冊後的申請表,填一填,地址的部份可以利用中華郵政的地址英譯網頁
Image 6

3. 然後會寄一封信去你信箱,要你填認證碼。
Image 7

4. 長的像這樣,填完認證碼後會開始審核你的個人資料,約5-10分鐘左右。
Image 7-1

5. 審核完後會再得到一組認證碼,再填進網頁的格子裡(沒截到圖)。
Image 9-1

6. 接下來要產生一個私人金鑰,StartSSL是靠認私人金鑰來判斷使用者的而不是key帳號密碼。
Image 8

7. 這個金鑰會裝在你的電腦上,裝好後記得把它備份出來,如果掉了你就不能登入StartSSL了。
Image 9

8. 去瀏覽器裡找憑證的話可以看到剛剛安裝的StartSSL私人金鑰,這是拿來登入StartSSL用的,不是我們最後要得到的SSL第三方憑證,所以還有一段路要走。
Image 12

9. 帳號申請到這裡完成
Image 11

網域驗證
10. 接下來到了網域驗證的部份,選擇Validation Wizard的標籤,下拉選單選Domain Name Validation
Image 13

11. 填一下要申請的網域名稱,空格處當然就是填我的128px,可以看到說明處有寫說不支援sub domain。
Image 14

12. 然後要驗證你是網域的所有人,StartSSL認為如果你有下面幾個電子信箱所有權的話,就是該網域的所有人,本來我以為到這邊會卡住,因為我根本不知道去哪開這些信箱,還好最後一個是我自己的Gmail信箱,這是當初註冊128px.com時用的,所以我當然選這個。
Image 15

13. 還是一樣要填認證碼
Image 16

14. 去信箱翻一下
Image 16-1

15. 網域驗證到這裡結束
Image 17

製作憑證
16. 最後到了最後一步製作憑證的部份,選擇Certificates Wizard的標籤,下拉選單選Web Server SSL/TLS Cerificate
Image 18

17. 需要先產生一個加密金鑰,自己填一個Password進去,這是這個金鑰之後要解密的密碼,Keysize我選4096,Secure Hash Algorithm用預設的SHA2就好。
Image 19

18. 會得到一組金鑰,金鑰其實就是一串文字,把格子裡的文字複製下來貼到記事本上。
Image 20

19. 另存檔案,檔名隨你開心,我是存成ssl.key,存檔時的編碼要選ANSI
Image 21

20. 選擇剛剛驗證過的域名
Image 22

21. 再來是新增一個sub domain,這個sub domain就是我之前要轉去xxx.no-ip.info的yyy.128px.com,所以空格裡填入yyy。
Image 23

22. 再次確認申請的域名,包含主域名跟一個子域名,確認無誤就下一步。
Image 24

23. 下一步,再來就是等EMail通知審核通過。
Image 25

24. 通過後來到Tool Box的標籤,選擇Retrieve Certificate。
Image 26

25. 選剛剛簽的域名,下一步。
Image 27

26. 這是證書(.crt)的部份,一樣是複製到筆記本後另存新檔,我存成Synology.crt,注意存檔時的編碼要選ANSI
Image 28

27. 證書的部份到此完成,這時我們有ssl.key(私鑰)和synology.crt(公鑰),應該就行了,但要匯入Synology的憑證不能使用加密憑證,所以需要把之前的ssl.key給解密,在Tool Box裡選Decrypt Private Key。
Image 26

28. 然後把剛剛ssl.key的內容貼進入,並輸入之前在第17步時設定的密碼。
Image 29

29. 又得到一串文字,這是解密過的ssl.key,一樣是複製到筆記本後另存新檔,我存成de-ssl.crt,注意存檔時的編碼要選ANSI

30. 這時會得到三個檔案,加密的私鑰ssl.key、解密的私鑰de-ssl.key和證書synology.crt。
Image 30-1

31. 開啟Synology DSM,到控制台→安全性→憑證這裡,匯入憑證。
Image 30

32. 把解密的私鑰跟證書丟進去
Image 31

33. 搞定,狀態欄從自我簽署憑證變成第三方憑證。
Image 32

34. 開HTTPS加密連線,鎖頭變綠色的,不過這裡注意一下,若你是在網址列打IP連線,它一樣是給你一個紅色叉叉,要用域名做連線才可以,另外,某些瀏覽器或裝置會認為Class 1的憑證是不可信任的,像Android,所以還是會有警語。
Image 33

張貼留言