使用 Let's Encrypt 保護您的網站!
已發表: 2016-11-22Let's Encrypt 是一項計劃,它提供了一種免費和自動化的方式來保護您網站的 HTTP 流量。 設置安全 HTTPS 始終是一個複雜的過程,我們很樂意支持任何使整個過程對人們來說更簡單、更直接的努力。
一般來說,為了在您的網站上啟用 HTTPS,您需要從證書頒發機構 (CA) 獲取安全證書。 證書頒發機構被視為可以向訪問者驗證網站身份的可信第三方。 安全證書(也稱為 SSL 證書)安裝在 Web 服務器上並提供兩個功能:a)它加密您的網站和訪問者之間的所有 HTTP 流量 b)它驗證您網站的身份,以便您的訪問者知道他們是不參觀一個虛假的。
保護您網站的身份和訪問者流量是明顯的好處,但還有一些需要進一步解釋。
在 Let's Encrypt 之前,你必須選擇你想要的證書類型,這個過程對於不熟悉公鑰系統的用戶來說有點困惑,然後你必須生成你的密鑰,簽署一個證書生成請求,最後花費相當多的錢為了購買一個錢。
等等,什麼是 SSL?
安全套接字層或 SSL 是一種加密協議,可保護網絡通信。 它確保了通信的私密性,這意味著兩方之間交換的數據是加密的,不能被第三方竊聽。 它還使用我們前面提到的 SSL 證書來驗證通信方(通常是服務器)的身份。
如何判斷一個網站是否安全?
受 SSL 保護的網站可以通過以下幾件事輕鬆識別:
- URL 地址旁邊有一個綠色的掛鎖圖標(取決於您使用的瀏覽器)
- URL 以https而不是 http 開頭。
然而,SSL 證書也有一個到期日期。 當該日期過去時,通信不再安全,需要更新證書。 您可以通過首先單擊掛鎖圖標並根據您使用的瀏覽器,執行以下操作輕鬆檢查您網站的 SSL 證書是否已過期:
在 Firefox 上,單擊右側的箭頭按鈕,然後單擊更多信息鏈接。 最後單擊“安全”選項卡下的“查看證書”按鈕以查看證書詳細信息。
如果您使用 Chrome,請單擊詳細信息鏈接,然後單擊安全概述選項卡下的查看證書按鈕。
在有效期部分下,有兩個與證書相關的日期。 發行日期和到期日期。 第一個是證書的激活日期,第二個是它的到期日期。 如果Expires On日期已過,證書需要更新,通信不再安全!
為什麼要關心 SSL?
好吧,有很多原因! 保護您的網站和訪問者之間的通信,驗證您網站的身份,確保瀏覽器和 Web 服務器之間的數據完整性,甚至獲得更高的 SEO 排名。
安全通信和經過身份驗證的身份聽起來很不錯,但是它們在保護您的網站免受什麼侵害? 對某些人來說,這個概念可能看起來很模糊。 實際上,這兩者共同對抗可能是計算機安全中記錄的最經典的攻擊方法之一。 “中間人”攻擊(或縮寫,MitM)。
假設我們有一個由 Alice 運營的網站,Bob 訪問了該網站(攻擊也適用於不同的服務,而不僅僅是網站)。 到目前為止,一切都很好。 然後,有一個叫查爾斯的壞人(出於某種原因,計算機安全領域的壞人通常被稱為查爾斯。我想到了乾馬提尼酒和秘密藏身之處。)
查爾斯通過使用許多在本文中過於復雜的不同技術,控制了 Alice 和 Bob 之間的通信通道。 他安靜而隱蔽地坐在他們之間。
當 Bob 訪問 Alice 的網站時,他認為他發送和接收來自 Alice 的數據。 實際上,他發送的數據通過查爾斯,後者又將它們轉發給愛麗絲(確保在這樣做之前要么存儲它們,要么以某種邪惡的方式篡改它們)。 當 Alice 的網站響應時,數據再次從 Charles 傳遞給 Bob。 就像擁有強大的竊聽器一樣。 除了能夠存儲敏感數據(例如電子郵件、密碼和信用卡)之外,Charles 甚至可以冒充 Alice 的部分網站或 Bob 的網絡瀏覽會話。
所以在這裡我們看到了我們的兩個 SSL 盟友,經過身份驗證的身份和安全通信來救援!
當您的網站受到 SSL 保護時,中間人攻擊變得更加難以實施。 當 Bob 連接到 Alice 的網站時,他會收到服務器的證書並根據 CA 對其進行驗證。 證書驗證後,服務器和客戶端交換一些額外的信息,然後數據通信開始(例如他們將使用什麼類型的密碼,一個稱為握手的過程)。 如果查爾斯試圖通過向鮑勃發送他自己的公鑰來冒充愛麗絲,他不會走得太遠。 在證書內部,有一串稱為數字簽名的數據,可確保文件的完整性。 如果證書的任何部分發生更改,簽名也會更改。
因此,如果 Charles 試圖更改公鑰,CA 將拒絕證書並通知 Bob(因為 CA 計算的數字簽名與證書上的當前簽名不匹配)。 由於查爾斯沒有愛麗絲的私鑰,他無法解密通信。 Charles 能夠做任何事情的唯一方法就是嘗試破壞 CA 的服務器。
但除了保護您免受喝馬提尼酒的壞人的傷害之外,它還可以提高您的 SEO 排名! 根據 Zineb Ait Bahajji 和 Gary Illyes 的 Google Webmasters 博客文章,HTTPS 被用作排名信號:
“我們已經看到了積極的結果,因此我們開始使用 HTTPS 作為排名信號。 目前它只是一個非常輕量級的信號。 但隨著時間的推移,我們可能會決定加強它,因為我們希望鼓勵所有網站所有者從 HTTP 切換到 HTTPS,以確保每個人在網絡上的安全。 “
此外,截至 9 月,Google 安全博客宣布 Chrome 瀏覽器將開始明確將網站標記為“不安全”。 這樣做是為了“邁向更安全的網絡”並提高用戶的意識。
它是怎麼運行的 ?
到目前為止,我們已經討論了 SSL 證書以及它們在提供安全性和身份驗證方面的重要性。 在本節中,我們將捲起袖子,深入了解細節!
SSL 通過使用稱為公鑰基礎設施(或 PKI,用於排序)的系統工作。
PKI 是一種計算機安全系統,用於解決如何通過不安全的網絡進行安全通信的問題。 簡單地說,如果 Alice 和 Bob 想通過 Internet 安全地通信,他們需要交換某種加密密鑰。 但是,如果他們這樣做,並且介於他們之間並擁有計算機的人獲得了該密鑰,那麼他將能夠讀取所有未來的通信! (它可能不是 Charles 類型的人;系統管理員由於其工作性質,也可以訪問通過其服務器的所有明文數據)。
這似乎是一個自相矛盾的問題,但它不僅可以通過使用一個密鑰,而且可以通過一對密鑰來解決。 一個公共的,一個私人的:
- Alice 和 Bob 交換他們的公鑰。 由於這些是公開的,它們可以通過不安全的網絡發送而無需擔心。 事實上,將它們公開發布是他們的預期用途!
- 然後 Alice 使用她的私鑰和Bob 的公鑰加密她想發送給 Bob 的消息。
- Bob 得到消息並使用他的私鑰和Alice 的公鑰對其進行解密。
私鑰通常存儲在本地計算機上(或 USB 驅動器,或您知道它們安全的地方)。 無論誰閱讀您的電子郵件,或網絡通信,在沒有您的私鑰的情況下,他們只會得到一個看起來像亂碼的文本。
公鑰加密的另一個有用方面是數字簽名的概念。 我們之前提到過,當查爾斯試圖篡改證書時。
當 Alice 向 Bob 發送消息時,她還可以使用她的私鑰對其進行數字簽名。 這確保了消息確實是由 Alice 發送的,而不是由其他任何人發送的。 數字簽名實際上是使用證書信息計算的一長串十六進制數字。 即使證書中的一個字節發生變化,數字簽名也會發生變化,CA 將拒絕它。
SSL 證書只是安裝在系統上(通常在 Web 服務器上)並以相同方式工作的數據文件。 它加密通信,並確保實體(在我們的例子中是網站)的身份。 它包含以下信息:
- 證書所有者的姓名
- 電子郵件地址
- 有效期
- Web 服務器的完全限定域名
- 所有者的公鑰
- 保證證書沒有以任何方式更改的數字簽名。
它使用所有這些信息來有效地將實體/組織與該系統相關聯。
頒發證書有兩種方式。 第一種是自己簽名(自簽名),第二種是通過證書頒發機構(受信任)獲取。
自簽名證書和可信證書有什麼區別?
自簽名證書提供與受信任證書相同級別的加密,但不保證所有者的身份。 它主要用於測試或本地網絡基礎設施中,不需要將所有者綁定到系統。
另一方面,受信任的證書提供加密和身份驗證。 證書由第三方 (CA) 頒發,該第三方 (CA) 使用大量背景調查來驗證證書所有者的身份。
所以這意味著你需要信任 CA。 如果它是流氓,又怎麼知道呢?
這肯定會發生,並且在過去已經發生過無數次。 由於這確實是一個信任問題,唯一的解決方案是確保您使用的 CA 是一個知名的、成熟的、受人尊敬的組織。 CA 為頒發證書收取費用(通常從 10 美元到三位數不等),但不應落入認為昂貴的 CA 意味著更多的信任和安全的陷阱!
如何使用 Let's Encrypt 對您的網站進行 SSL 保護
有很多方法可以生成 Let's Encrypt 證書並將其安裝在您的 Web 服務器上。 該過程取決於您是否將在 Unix shell 中工作,您正在運行什麼類型的 Web 服務器等。將您的瀏覽器指向 Let's Encrypt 的入門頁面以了解更多信息。
如果您是現有的 Pressidium 客戶,事情再簡單不過了!
首先,登錄您的 Pressidium 門戶帳戶:
- 單擊SSL 證書選項卡。
- 單擊生成免費的 Let's Encrypt 證書按鈕。
- 從Install Let's Encrypt下拉菜單中選擇要安裝證書的網站。
- 最後,單擊Create & Install SSL Certificate按鈕,您就完成了!
為了測試您的網站是否啟用了 SSL,請打開您的瀏覽器並在地址中使用https訪問您網站的 URL。 如果您的瀏覽器顯示熟悉的綠色安全掛鎖標誌,那麼您就在做生意!
您的新 Let's Encrypt 證書有 90 天的時間跨度,但它會自動更新自己。 您還可以從門戶管理和安裝您自己購買的證書。 閱讀此知識庫帖子以查找所有相關信息!
安全是一個過程,而不是交鑰匙解決方案
殘酷的事實是,你不能只是買了東西,或者安裝了一個軟件就忘了它,並認為你已經成功地處理了所有的安全問題。 計算機安全是一個巨大的難題,涉及技術機制、政策、計算機,尤其是人和人的心理! 您需要正確解決所有難題並不斷努力。 這是一個過程,而不是一個交鑰匙解決方案。
人為因素是惡意用戶一次又一次地利用的東西。 我們 100% 支持任何旨在提供信息、提供工具和提高公眾對互聯網安全問題意識的倡議。 在以後的文章中,我們將更深入、更徹底地研究 WordPress 安全方面。 人們和公司使用 WordPress 為許多人提供價值和食物。 安全事件不再是網站污損和網絡塗鴉,而是切實影響他人的生活。 這是我們非常重視的事情。