Linux中國

使用 Let's Encrypt 保護你的網站

曾幾何時,通過證書授權機構搭建基本的 HTTPS 網站需要每年花費數百美元,而且搭建的過程複雜且容易出錯。現在我們免費使用 Let's Encrypt,而且搭建過程也只需要幾分鐘。

為何進行加密?

為什麼要加密網站呢?這是因為未經加密的 HTTP 會話可以被多種方式濫用:

網路服務提供商就是最大的代碼注入者。那麼如何挫敗它們的非法行徑呢?你最好的防禦手段就是 HTTPS。讓我們回顧一下 HTTPS 的工作原理。

信任鏈

你可以在你的網站和每個授權訪問用戶之間建立非對稱加密。這是一種非常強的保護:GPG(GNU Privacy Guard, 參考如何在 Linux 中加密郵件)和 OpenSSH 就是非對稱加密的通用工具。它們依賴於公鑰-私鑰對,其中公鑰可以任意分享,但私鑰必須受到保護且不能分享。公鑰用於加密,私鑰用於解密。

但上述方法無法適用於隨機的網頁瀏覽,因為建立會話之前需要交換公鑰,你需要生成並管理密鑰對。HTTPS 會話可以自動完成公鑰分發,而且購物或銀行之類的敏感網站還會使用第三方證書頒發機構(CA)驗證證書,例如 Comodo、 Verisign 和 Thawte。

當你訪問一個 HTTPS 網站時,網站給你的網頁瀏覽器返回了一個數字證書。這個證書說明你的會話被強加密,而且提供了該網站信息,包括組織名稱、頒發證書的組織和證書頒發機構名稱等。你可以點擊網頁瀏覽器地址欄的小鎖頭來查看這些信息(圖 1),也包括了證書本身。

![](/data/attachment/album/201804/23/211533f900n5d99900g9lg.png "頁面信息")

圖1: 點擊網頁瀏覽器地址欄上的鎖頭標記查看信息

包括 Opera、 Chromium 和 Chrome 在內的主流瀏覽器,驗證網站數字證書的合法性都依賴於證書頒發機構。小鎖頭標記可以讓你一眼看出證書狀態;綠色意味著使用強 SSL 加密且運營實體經過驗證。網頁瀏覽器還會對惡意網站、SSL 證書配置有誤的網站和不被信任的自簽名證書網站給出警告。

那麼網頁瀏覽器如何判斷網站是否可信呢?瀏覽器自帶根證書庫,包含了一系列根證書,存儲在 /usr/share/ca-certificates/mozilla/ 之類的地方。網站證書是否可信可以通過根證書庫進行檢查。就像你 Linux 系統上其它軟體那樣,根證書庫也由包管理器維護。對於 Ubuntu,對應的包是 ca-certificates,這個 Linux 根證書庫本身是由 Mozilla 維護的。

可見,整個工作流程需要複雜的基礎設施才能完成。在你進行購物或金融等敏感在線操作時,你信任了無數陌生人對你的保護。

無處不加密

Let's Encrypt 是一家全球證書頒發機構,類似於其它商業根證書頒發機構。Let's Encrpt 由非營利性組織 網際網路安全研究小組 Internet Security Research Group (ISRG)創立,目標是簡化網站的安全加密。在我看來,出於後面我會提到的原因,該證書不足以勝任購物及銀行網站的安全加密,但很適合加密博客、新聞和信息門戶這類不涉及金融操作的網站。

使用 Let's Encrypt 有三種方式。推薦使用 電子前沿基金會 Electronic Frontier Foundation (EFF)開發的 Cerbot 客戶端。使用該客戶端需要在網站伺服器上執行 shell 操作。

如果你使用的是共享託管主機,你很可能無法執行 shell 操作。這種情況下,最簡單的方法是使用支持 Let's Encrpt 的託管主機

如果你的託管主機不支持 Let's Encrypt,但支持自定義證書,那麼你可以使用 Certbot 手動創建並上傳你的證書。這是一個複雜的過程,你需要徹底地研究文檔。

安裝證書後,使用 SSL 伺服器測試來測試你的伺服器。

Let's Encrypt 的電子證書有效期為 90 天。Certbot 安裝過程中添加了一個證書自動續期的計劃任務,也提供了測試證書自動續期是否成功的命令。允許使用已有的私鑰或 證書籤名請求 certificate signing request (CSR),允許創建通配符證書。

限制

Let's Encrypt 有如下限制:它只執行域名驗證,即只要有域名控制權就可以獲得證書。這是比較基礎的 SSL。它不支持 組織驗證 Organization Validation (OV)或 擴展驗證 Extended Validation (EV),因為運營實體驗證無法自動完成。我不會信任使用 Let's Encrypt 證書的購物或銀行網站,它們應該購買支持運營實體驗證的完整版本。

作為非營利性組織提供的免費服務,不提供商業支持,只提供不錯的文檔和社區支持。

網際網路中惡意無處不在,一切數據都應該加密。從使用 Let's Encrypt 保護你的網站用戶開始吧。

想要學習更多 Linux 知識,請參考 Linux 基金會和 edX 提供的免費課程 「Linux 入門」

via: https://www.linux.com/learn/intro-to-linux/2018/3/protect-your-websites-lets-encrypt

作者:CARLA SCHRODER 選題:lujun9972 譯者:pinewall 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...

    Linux 的 sort 命令的七個有趣實例(二)

    在上一篇文章里,我們已經探討了關於sort命令的多個例子,如果你錯過了這篇文章,可以點擊下面的鏈接進行閱讀。今天的這篇文章作為上一篇文章的繼續,將討論關於sort命令的剩餘用法,與上一篇一起作為Linux sort命令的完整指南。 Linux 的 sort命令的14個有用的範例(一) 在我們繼續深入之前,先創建一個文本文檔month.txt,並且將上一次給出的數據填進去。 $ echo -e "marndecnoctnsepnfebnaug" month.txt ...