Ssl

讓我們加密內部站點的證書

  • April 18, 2020

我希望澄清一些關於將 Let’s Encrypt 用於內部站點/應用程序的困惑。我無法在其他地方找到此資訊。

我想將 Let’s Encrypt 與 Certbot 配對使用,以允許在應用程序上使用 SSL。

問題:

  1. Let’s Encrypt 或 Certbot 是否需要網際網路訪問才能執行其工作的任何部分?即使網際網路訪問中斷,應用程序也需要能夠正常執行。據我所知,唯一需要網際網路連接的部分是在 90 天期限即將結束時生成新證書。
  2. Let’s Encrypt 需要一個有效的域。根據他們的網站“適用於任何使用域名的伺服器,例如 Web 伺服器、郵件伺服器……”。我對擁有有效域的意義一無所知。如果我的伺服器上已經安裝了 Apache,並且已經託管了其他 Web 應用程序,那麼我使用 Apache 設置的任何域名是否會計算在內,或者我是否需要購買域名?
  3. 在上一個問題中,我提到其他應用程序將在此伺服器上。這些不需要 SSL。如果我在我的伺服器上設置 Let’s Encrypt 和 Certbot 是否意味著這些應用程序具有可用的 SSL 或者它特定於用於設置它的域(站點)名稱?如果單獨的應用程序使用 SSL,這些其他應用程序是否需要修改?
  4. 假設我想獲得一個根證書,但不是將它與 Certbot 一起使用,而是我想創建和使用一組中間密鑰。這可能嗎?每次我們創建新的根密鑰時是否需要更改這些中間密鑰?

如果我的任何問題是無知的,我深表歉意,我對這類東西的了解非常有限。也就是說,甚至可能有更好的選擇來完成我所需要的,所以我願意接受建議。我選擇了 Let’s Encrypt 而不是自簽名證書,因為有了這個解決方案,我不需要向每台需要訪問的客戶端電腦添加 CA。

  1. Let’s Encrypt 需要 Internet 連接,但這是EFF 執行它的 ISRG。Certbot(在您的電腦上執行)與 Let’s Encrypt 通信以頒發和更新證書,並且確實需要與您的電腦連接。
  2. 有效的域名(在 Let’s Encrypt 的情況下)是您設置的可以由全球 DNS 基礎設施解析的域 - 實際上這意味著使用購買的域名或與購買的域名相關的子域(儘管它可以從一些不知名的註冊機構(如 www.tk)獲得免費域名)
  3. **應用程序需要配置為使用 Let’s Encrypt 密鑰。**Certbot 所做的只是 (a) 擁有一組幾乎所有瀏覽器都接受的密鑰,並且 (b) 在檢查密鑰的所有者是否也控制已簽名密鑰的 DNS 後,對密鑰進行簽名。 雖然 Certbot 可以與 Apache/NGINX 一起使用,而且這樣做很容易,它不需要執行任何一個軟體。 類似地,Certbot 的輸出(如果需要,除了可選的配置文件,但絕不是強制性的),是一個簽名的公鑰。此私鑰以及 Let’s Encrypt 通常為您生成的私鑰(以及任何中間密鑰)可供您使用的任何可以使用 SSL 的軟體使用,將 Let’s Encrypt 辨識為 CA 並辨識文件格式。這需要在軟體中進行配置。
  4. 您要問的是沒有意義的-如果您有根證書,則不使用 Certbot。您可以使用 OpenSSL 庫創建自己的 CA 基礎架構,如果您想讓這更容易,可以使用 easy-rsa 等 pki 工具。Certbot 不是系統資料庫,也不是 SSL 庫,它是一個腳本,用於以符合標準的方式驗證域名的所有權,並管理 Let’s Encrypt 提供的證書。如果您要設置自己的 CA(證書頒發機構 - 這就是根證書的全部內容),它就沒有用。

引用自:https://serverfault.com/questions/1012843