了解一個受保護的網站的最簡單的方式就是在交互中觀察它,幸運的是,在今天的互聯網上,發現一個安全的網站遠遠比找到一個不安全的網站要簡單。但是,因為你已經在 這個網站上了,我會使用它來作為案例,無論你使用的是哪個瀏覽器,你應該在你的地址欄旁邊看到一個像鎖一樣的圖標。點擊這個鎖圖標,你應該會看見一些和下面這個類似的東西。
默認情況下,如果一個網站使用的是 http 協議,那么它是不安全的。為通過網站主機的路由添加一個配置過的證書,可以把這個網站從一個不安全的 http 網站變為一個安全的 https 網站。那個鎖圖標通常表示這個網站是受 https 保護的。
點擊證書來查看網站的 CA,根據你的瀏覽器,你可能需要下載證書來查看它。
在這里,你可以了解有關 證書的信息。例如開發者證書 換電腦,你可以看到 CA 是 ,并以 的名稱提供給 Red Hat。
這個證書信息可以讓終端用戶檢查該網站是否可以安全訪問。
警告:如果你沒有在網站上看到證書標志,或者如果你看見的標志顯示這個網站不安全——請不要登錄或者做任何需要你個人數據的操作。這種情況非常危險!
如果你看到的是警告標志,對于大多數面向公眾開放的網站來說,這很少見,它通常意味著該證書已經過期或者是該證書是自簽名的,而非通過一個受信任的第三方來頒發。在我們進入這些主題之前,我想解釋一下 TLS 和 SSL。
帶有 TLS 和 SSL 的互聯網協議
TLS 是舊版安全套接字層協議 Layer(SSL)的最新版本。理解這一點的最好方法就是仔細理解互聯網協議的不同協議層。
IP
我們知道當今的互聯網是由 6 個層面組成的:物理層、數據鏈路層、網絡層、傳輸層、安全層、應用層。物理層是基礎,這一層是最接近實際的硬件設備的。應用層是最抽象的一層,是最接近終端用戶的一層。安全層可以被認為是應用層的一部分,TLS 和 SSL,是被設計用來在一個計算機網絡中提供通信安全的加密協議,它們位于安全層中。
這個過程可以確保終端用戶使用網絡服務時,通信的安全性和保密性。
證書頒發機構和自簽名證書
證書頒發機構 (CA)是受信任的組織,它可以頒發數字證書。
TLS 和 SSL 可以使連接更安全,但是這個加密機制需要一種方式來驗證它;這就是 SSL/TLS 證書。TLS 使用了一種叫做非對稱加密的加密機制,這個機制有一對稱為私鑰和公鑰的安全密鑰。(這是一個非常復雜的主題,超出了本文的討論范圍,但是如果你想去了解這方面的東西,你可以閱讀“密碼學和公鑰密碼基礎體系簡介”)你要知道的基礎內容是,證書頒發機構們,比如 、 和 ,它們是受人們信任的可以頒發證書的供應商,它們頒發的證書可以用于驗證網站使用的 TLS/SSL 證書。網站使用的證書是導入到主機服務器里的,用于保護網站。
然而,如果你只是要測試一下正在開發中的網站或服務,CA 證書可能對你而言太昂貴或者是太復雜了。你必須有一個用于生產目的的受信任的證書,但是開發者和網站管理員需要有一種更簡單的方式來測試網站,然后他們才能將其部署到生產環境中;這就是自簽名證書的來源。
自簽名證書是一種 TLS/SSL 證書開發者證書 換電腦,是由創建它的人而非受信任的 CA 機構頒發的。用電腦生成一個自簽名證書很簡單,它可以讓你在無需購買昂貴的 CA 頒發的證書的情況下測試一個安全網站。雖然自簽名證書肯定不能拿到生產環境中去使用,但對于開發和測試階段來說,這是一種簡單靈活的方法。
生成證書的開源工具
有幾種開源工具可以用來管理 TLS/SSL 證書。其中最著名的就是 ,這個工具包含在很多 Linux 發行版中和 MacOS 中。當然,你也可以使用其他開源工具。
< 如顯示不全,請左右滑動 >工具名描述許可證
實現 TLS 和加密庫的最著名的開源工具
2.0
用于構建 PKI CA 的命令行實用工具
GPL v2
CFSSL
來自 的 PKI/TLS 瑞士軍刀
BSD 2-nse
Lemur
來自網飛的 TLS 創建工具
2.0
如果你的目的是擴展和對用戶友好,網飛的 Lemur 是一個很有趣的選擇。你在網飛的技術博客上可以查看更多有關它的信息。
如何創建一個 證書
你可以靠自己來創建證書,下面這個案例就是使用 生成一個自簽名證書。
1、使用命令行生成一個私鑰:
openssl genrsa -out example.key 2048
2、使用在第一步中生成的私鑰來創建一個證書簽名請求 (CSR):
openssl req -new -key example.key -out example.csr -subj "/C=US/ST=TX/L=Dallas/O=Red Hat/OU=IT/CN=test.example.com"
3、使用你的 CSR 和私鑰創建一個證書:
openssl x509 -req -days 366 -in example.csr -signkey example.key -out example.crt
你有什么問題?發在評論里讓我們知道。
via:
作者: Son選題:譯者:校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出
:還在看嗎?