免費(fèi)享用Let's Encrypt來保護(hù)你的網(wǎng)站
譯文【51CTO.com快譯】早在過去,借助證書機(jī)構(gòu)安裝基本的HTTPS每年要花數(shù)百美元,而且這個過程很困難,安裝起來容易出錯?,F(xiàn)在我們有了Let's Encrypt可以免費(fèi)享用,而且整個過程只需要幾分鐘。
為什么要加密?
為什么要加密你的網(wǎng)站?因為未加密的HTTP會話面臨多種濫用現(xiàn)象:
- 竊聽你的用戶
- 獲取用戶登錄信息
- 注入廣告和“重要”信息
- 注入間諜軟件
- 注入SEO垃圾郵件和鏈接
- 注入加密貨幣礦工
如何挫敗不法分子的邪惡欲望?最有效的防御機(jī)制是HTTPS。不妨先看一下HTTPS的工作原理。
信任鏈
你可以在網(wǎng)站與允許訪問的所有人之間建立非對稱加密。這是一種很有效的保護(hù):GPG和OpenSSH是用于非對稱加密的常見工具。這些工具依賴公鑰/私鑰密鑰對。你可以隨意共享公鑰,而私鑰必須受到保護(hù),永遠(yuǎn)不得共享。公鑰負(fù)責(zé)加密,私鑰負(fù)責(zé)解密。
然而,這個涉及多步驟的過程卻無法擴(kuò)展以支持隨機(jī)的上網(wǎng)沖浪,因為它需要在建立會話之前交換公鑰,你還得生成和管理密鑰對。HTTPS會話使公鑰分配實現(xiàn)了自動化,購物和銀行等敏感網(wǎng)站由第三方證書機(jī)構(gòu)(CA)來驗證,比如Comodo、Verisign或Thawte。
你在訪問HTTPS網(wǎng)站時,它會向你的Web瀏覽器提供數(shù)字證書。該證書驗證你的會話已經(jīng)過強(qiáng)加密,并提供網(wǎng)站的信息,比如組織名稱、頒發(fā)證書的組織以及證書機(jī)構(gòu)的名稱。你只要點(diǎn)擊Web瀏覽器地址欄中的小掛鎖,即可查看所有這些信息和數(shù)字證書(見圖1)。
圖1:點(diǎn)擊Web瀏覽器地址欄中的掛鎖,即可查看相關(guān)信息
各大Web瀏覽器(包括Opera、Firefox、Chromium和Chrome)都依賴證書機(jī)構(gòu)來驗證網(wǎng)站數(shù)字證書的真實性。小掛鎖讓安全狀態(tài)一目了然:綠色代表SSL強(qiáng)加密和已驗證的身份。Web瀏覽器還會警告你防范惡意網(wǎng)站和SSL證書配置不正確的網(wǎng)站,并將這些自簽名證書視作不可信的證書。
那么Web瀏覽器怎么知道該信任誰呢?瀏覽器包含一個根存儲區(qū)(root store),這其實是一批根證書,存儲在/usr/share/ca-certificates/mozilla/中。網(wǎng)站證書針對根存儲區(qū)加以驗證。你的根存儲區(qū)由軟件包管理器來維護(hù),就像Linux系統(tǒng)上的任何其他軟件那樣。在Ubuntu上,它們由ca-certificates軟件包提供。根存儲區(qū)本身由Mozilla for Linux來維護(hù)。
正如你所見,需要一套復(fù)雜的基礎(chǔ)設(shè)施來完成所有這些工作。如果你執(zhí)行任何敏感的在線交易(例如購物或銀行業(yè)務(wù)),其實是信任大批未知的人來保護(hù)自己。
無處不在的加密
Let's Encrypt是一家全球證書機(jī)構(gòu),類似商業(yè)證書機(jī)構(gòu)。Let's Encrypt由非營利性互聯(lián)網(wǎng)安全研究組織(ISRG)創(chuàng)建,目的是為了更容易保護(hù)網(wǎng)站。我認(rèn)為用它來保護(hù)購物和銀行網(wǎng)站不夠安全,但適用于保護(hù)沒有金融交易的博客、新聞及信息網(wǎng)站。
至少有三種方法可使用Let's Encrypt。最好的方法是使用電子邊界基金會(EFF)維護(hù)的Certbot客戶軟件(https://certbot.eff.org/)。這需要通過shell訪問你的網(wǎng)站。
如果你在共享主機(jī)上,那么可能沒有shell訪問權(quán)限。在這種情況下,最容易的方法是使用支持Let's Encrypt的主機(jī)。
如果你的主機(jī)不支持Let's Encrypt,但支持自定義證書,那么你可以使用Certbot手動創(chuàng)建并上傳證書。這是個復(fù)雜的過程,所以你需要吃透說明文檔。
安裝好了證書后,可使用SSL Server Test(https://www.ssllabs.com/ssltest/)來測試你的網(wǎng)站。
Let's Encrypt數(shù)字證書有效期90天。你安裝Certbot時,它還會安裝計劃任務(wù)(cron job),以便自動續(xù)期,它還包含一個命令來測試這種自動續(xù)期是否有效。你可以使用現(xiàn)有的私鑰或證書簽名請求(CSR),它支持通配符證書。
局限性
Let's Encrypt存在一些限制:它只執(zhí)行域名驗證,即它向控制域名的任何人頒發(fā)證書。這是基本的SSL。它不支持組織驗證(OV)或擴(kuò)展驗證(EV),原因是無法使身份驗證實現(xiàn)自動化。我不會信任使用Let's Encrypt的銀行或購物網(wǎng)站,它們應(yīng)該花大量的錢來購置包括身份驗證的整套軟件包。
作為由非營利組織維護(hù)的一項免費(fèi)服務(wù),它沒有商業(yè)支持,只有說明文檔和社區(qū)支持,不過兩者都很好。
互聯(lián)網(wǎng)充滿了邪惡。一切都應(yīng)該加密。不妨用Let's Encrypt(https://letsencrypt.org/)來保護(hù)訪問你網(wǎng)站的那些人。
原文標(biāo)題:Protect Your Websites with Let's Encrypt,作者:Carla Schroder
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】