Google 在 2 月公布,將會在 7 月推出的 Chrome 版本 68 中,明確地標示使用 http 協通的網站為不安全「 not secure 」網站。其實這已是去年的舊文, Google 早就說過要這樣做,不過因為事情已經迫到眼前,所以近日又成為城中熱話。那麼身為一個管理層,公司開了個網站,現在又應該做些甚麼?立即來高速補習吧!
Q :到了 7 月我的訪客上網會見到甚麼?
A : 假如你公司的網站還是使用 HTTP 協定,那麼訪客使用 Chrome 68 登入時,會在地址列見到明確地寫著「 Not Secure 」字樣,部分網站的操作可能會受到影響。訪客可能會因為這句話而感到網站不可靠,不敢填寫網站上的表格、輸入個人資料。
另一方面,如果你公司的網站真的要做到下單、註冊、存取個人或公司資料的話,你本來就應該要用 HTTPS ,而不是等到今年 7 月才做!
Q : Google 要胡搞跟我有甚麼關係?
A : 從這將圖就可以看到 Google Chrome 現在佔瀏覽器市場 57% 以上,超過半數網民在用。所以可以預計你的網站會有過半數訪客見到那句「 Not Secure 」警告,對商譽總會帶來負面影響。
另外,由於沒有經過加密,所傳送的資料會以明碼方式傳遞,隨時可被駭客截取。這在所有瀏覽器都會發生。
Q :我可以無視這件事嗎?
A : 可以,訪客可以繼續瀏覽你的公司網站,只要你不介意「 Not Secure 」可能會影響你的商譽,也不介意用戶遞交表格的資料會外洩。你也可以期望訪客因為這次事件而轉用其他瀏覽器來瀏覽你的公司網站,但這並不代表你的網站會因而變得安全。那只是掩耳盜鈴。
假如你的網站需要用來做下單、註冊和登記等事情,會繼續得不到加密保障。另外,自 2015 年開始, Google 就已經開始將非 HTTPS 網站的搜尋排名調低,影響你公司網站的人流。
Q :轉為 HTTPS 網站之後,公司網站會得到甚麼好處?
A: 轉為 HTTPS 網站之後的好處有很多:
- 瀏覽器會顯示網站為安全網站,訪客瀏覽會更安心;
- 訪客遞交表格或購物時,傳送的資料都得到加密保護;
- 根據搜尋引擎的政策,HTTPS 網站的排名會提升;
Q : 「 HTTP 」和「 HTTPS 」其實是甚麼?
A : HTTP 和 HTTPS 都是一種通信協定,就像跟英國人交談要說英文一樣,瀏覽器和網站伺服器之間就是透過共同的「語言」來「搞懂對方想要甚麼」。
Q :單是把連結的「 HTTP 」改為「 HTTPS 」就可以嗎?
A : 不可以,因為 HTTPS 是使用不同的「通道(埠號)」來運作的。
Q :為甚麼 HTTP 網站不安全?
A : HTTP 協定是沒有經過加密的,在表格上填寫的個人資料和密碼都以明碼傳遞,所以駭客可以輕易地截取得到。
Q :HTTPS 怎麼做到瀏覽安全?
A : 採用 HTTPS 協定的網站透過名為「 TLS/SSL 」的安全通訊協定,以儲存在伺服器的金鑰來加密連線,令到第三者無法取得有意義的內容。另外, TLS/SSL 所使用的「伺服器憑證」還有證明那個網站就是你公司所開設的功用。
Q: 瀏覽器會對 HTTPS 網站做甚麼驗證?
A: 瀏覽器基本上會做這些檢查:
- 網站的域名有沒有記載在憑證裡;
- 伺服器的金鑰與憑證的簽章是否一致;
- 憑證有沒有過期;
- 憑證是不是由可靠的機構簽發;
- 網頁裡有沒有部分內容是以沒有加密的 HTTP 協定載入;
Q : 要將我公司的網站變 HTTPS 網站要有甚麼?
A : 「最起碼」你需要以下東西:
- 一對金鑰(私鑰和公鑰,用來加密和解密)
- 一封用來申請簽署憑證的「信」( CSR )
- 一張簽妥的憑證(證明你就是網站的擁有人)
Q :憑證是甚麼?可以做甚麼?
A : 憑證是用來「證明你是你」的證書,它可以用來證明金鑰是可靠的,沒有給人改動過,以確認加密是可靠的。又可以用來證明網站的持有人身份。訪客可以在憑證裡看到你的公司資料,而不是一個扮得很似的釣魚網。
Q :是誰簽發憑證的?
A :憑證是由受信任的「數位憑證認證機構 ( Certificate Authority ,簡稱 CA )」簽署的,他們的責任是作為「獨立第三者」,證明網站和營運的公司「是他本人」,有權使用那個域名。他們的「根憑證」都已經收錄在 Windows 、 Mac 、 Linux 、 iOS 和 Andoird 等系統裡,證明由他們簽發的憑證是有代表性的。
Q :簽署憑證的過程是怎樣的?
A :「嚴格的」申請簽署憑證過程是這樣的:
- 在你的伺服器建立一對金鑰,並放在伺服器安全的目錄裡;
- 用金鑰來產生一封申請簽署憑證的「信」( CSR );
- 將必要的證明文件,例如商業登記、律師信、會計師信連同 CSR 一同寄給 CA ,請求他們簽署憑證;
- CA 完成審查後就會簽署憑證,寄回給你;
- 將簽妥的憑證跟金鑰放在一起;
- 在網頁伺服器的設定裡,告訴它憑證和金鑰放在哪裡。
當然,說得「嚴格的」,就是有不嚴格的。最低級只用來加密的 DV SSL 憑證,甚麼商登文件都不需要,只要 CSR 就夠。要不要用嚴格的憑證,全看你對自己公司的身份的要求,和要處理的資料有多敏感。
Q :我的網站需要哪種憑證?
A :現時憑證共有三類,要用哪一類全看你對自己公司的身分的要求:
- DV SSL 憑證: Domain Validated Certificates ,用來證明申請人有權使用那個網址,沒有證明公司的資料;
- OV SSL 憑證: Organization Validated Certificates ,除了證明申請人有權使用那個網址之外,還有一些簡單的公司資料。通常申請時需要商業登記之類的資料作審查;
- EV SSL 憑證: Extended Validation Certificates ,除了以上兩種憑證的功能外,還會進行「徹底的」公司審查,申請時有可能需要提交律師信和會計師信證明。
一般來說,網店和銀行會較需要 EV SSL 憑證,因為會涉及不少敏感的個人資料。瀏覽器見到 EV 憑證,都會明確標示公司名字出來,讓訪客對網站更有信心。
Q :請求 CA 簽發憑證一定要花錢嗎?
A :不一定,例如「 Let’s Encrypt 」,就是由著名的民權組織電子前哨基金會、著名的網絡技術研發機構 Mozilla 基金會、 Cisco 、 Facebook 、 Google Chrome 等支持的 CA ,目的是推動互聯網全面使用加密連線。他們是免費簽發憑證的,而且有很多自動程式協助簡化簽署程序。不過由於 Let’s Encrypt 的憑證沒有做很嚴格的審查,所以加密沒問題,但作為「證明你是你」的身分證明這方面,可能就不夠其他 CA 簽發的憑證,以至 EV SSL 憑證那麼有認受性。
[感謝讀者高福麟提供] 著名的 CDN CloudFlare 和 Google 的 Firebase Hosting 都有提供不同方式的免費 SSL 憑證。
[row][double_paragraph]
[/double_paragraph][double_paragraph]
[/double_paragraph] [/row]
Q :我可以自己簽發憑證嗎?
A : 可以但沒意義,由於你既不是獨立第三者,又沒有受到 Windows 、 Mac 、 Linux 等系統的信任(根憑證不在系統裡),所以訪客的瀏覽器是不會承認,更會顯示嚴重的「紅色嘆號」,無法瀏覽到你的公司網站。不過,用來作為公司內部加密簽章用的話就足夠了(當然需要花工夫讓公司的電腦都承認你的憑證)。
Q :有不可靠的 CA 嗎?
A :有!例如上月我們報道,著名的電腦保安產品公司賽門鐵克 Symantec ,就因為不當處理憑證和金鑰,所簽發的證書將會在 4 月 17 日被 Google 從 Chrome 中剔除。
Q :那我怎麼選擇可靠的 CA 簽發憑證?
A : 雖然大如 Symantec 都一樣出事,不過大家還是選擇名氣大的 CA 來申請簽發比較穩妥。
Q :我應該自己動手申請憑證嗎?
A : 正如上面所說,將 HTTP 網站變成 HTTPS 網站涉及很多麻煩的程序,除非你公司有一個經驗技術人員,否則還是拜托專業的顧問公司去處理比較穩妥。如果你公司是將網站寄存在網站寄存公司的話,那他們應該已經有很多方案,幫助你產生金鑰、選購和安裝憑證。
Q :為甚麼裝置好金鑰和憑證之後,我的公司 WordPress 網站會變成「不完全安全」?
A : 「不完全安全( Not fully secure )」是指你網站雖然用了有效的憑證,不過網頁裡可能含有標示為「 http:// 」的未加密圖片或元件,所以就發出警告了。現在通常的處理手法並不是將「 http:// 」改為「 https:// 」,而是索性將協定名稱移除,變成「 // 」,以應對未來的轉變。
不幸的是,由於 WordPress 會將圖片網址完整地寫入資料庫,所以未轉到 HTTPS 之前的文章多半會維持 HTTP 標示,要逐一找出來修改,就會是件痛苦的事。希望將來有插件可以幫助網管自動處理吧。