如何在 Apache 和 Nginx 中啟用 TLS 1.3?
簡介
隨著網路攻擊數量的不斷增加,網站和伺服器的安全變得比以往任何時候都更加重要。網站安全最重要的組成部分之一是傳輸層安全 (TLS),它對在 Web 伺服器和客戶端之間傳送的資料進行加密。TLS 1.3 是 TLS 的最新版本,與以前的版本相比,它提供了增強的安全性、更快的連線和改進的效能。
在 Apache 和 Nginx 等 Web 伺服器中啟用 TLS 1.3 的重要性
Web 伺服器負責處理敏感資訊,例如透過其託管網站上的表單提交的登入憑據或個人資料。在 Web 伺服器上啟用最新版本的 TLS 有助於保護這些資訊在傳輸過程中不被攔截或篡改。Apache 和 Nginx 是兩種流行的開源 Web 伺服器軟體包,全球數百萬使用者使用它們在基於 Linux 的作業系統(如 Ubuntu 或 CentOS 等)上託管網站。
啟用對這些軟體包等最新 SSL/TLS 協議的支援將有助於提高安全級別,允許使用者僅在透過 HTTPS 協議訪問您託管的內容時與最新的密碼套件通訊。在本文中,我們將引導您完成在 Apache 和 Nginx 上啟用 TLS 1.3 的確切步驟,以便您可以確保您的 Web 伺服器使用當今可用的最新和最佳加密協議。
在 Apache 中啟用 TLS 1.3
檢查 Apache 版本與 TLS 1.3 的相容性
在 Apache 中啟用 TLS 1.3 之前,務必檢查當前版本的 Apache 是否支援 TLS 1.3。從 Apache HTTP 伺服器 2.4.36 版本開始,它預設內建支援 TLS 1.3,這意味著您無需安裝任何其他模組或補丁即可啟用它。要檢查您當前的 Apache HTTP 伺服器版本,請開啟終端並執行以下命令:
apache2ctl -v
如果輸出顯示的 Apache HTTP 伺服器版本低於 2.4.36,則需要在啟用 TLS 1.3 之前升級伺服器。
更新 OpenSSL 以支援 TLS 1.3
驗證您的 Apache HTTP 伺服器版本支援 TLS 1.3 後,下一步是更新 OpenSSL 以使其也支援 TLS 1.3。OpenSSL 是 SSL 和 TLS 協議的開源實現,許多 Web 伺服器(包括 Apache 和 Nginx)都使用它。
要在基於 Ubuntu 或 Debian 的系統上安裝和啟用支援 TLS 1.3 的 OpenSSL,請執行以下命令:
sudo apt-get update sudo apt-get install -y libssl-dev openssl cd /usr/local/src/ sudo wget https://www.openssl.org/source/openssl-1.X.Y.tar.gz sudo tar xzf openssl-1.X.Y.tar.gz && cd openssl-1.X.Y sudo ./config && make && make test && sudo make install_sw
確保將“X”和“Y”替換為您要安裝的 OpenSSL 的相應版本。
配置 Apache 以啟用 TLS 1.3
安裝和啟用支援 TLS 1.3 的 OpenSSL 後,下一步是配置 Apache HTTP 伺服器以使用它。要在 Apache 中啟用 TLS 1.3,您需要將以下程式碼行新增到您的 SSL 配置檔案:
SSLProtocol TLSv1.3 SSLCipherSuite TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
您可以根據您的系統在 `/etc/apache2/mods-enabled/ssl.conf` 或 `/etc/httpd/conf.d/ssl.conf` 中找到 SSL 配置檔案。
使用 SSL Labs 或其他工具測試配置
使用 TLS 1.3 支援配置 Apache HTTP 伺服器後,務必使用 SSL Labs 等線上工具測試連線。SSL Labs 提供了一個免費的線上工具,用於檢查 Web 伺服器中潛在的漏洞,並根據其安全級別對它們進行排名。
您可以使用此工具驗證您的 Apache HTTP 伺服器是否支援 TLS 1.3,以及啟用它是否不存在任何安全風險。在 Apache HTTP 伺服器上啟用 TLS 1.3 可以透過為使用者的資料傳輸提供更快的連線速度和更強大的加密協議來提高您網站的安全性。
在 Nginx 中啟用 TLS 1.3
檢查 Nginx 版本與 TLS 1.3 的相容性
在 Nginx 中啟用 TLS 1.3 之前,務必檢查您的 Nginx 伺服器與 TLS 1.3 協議的版本相容性。要啟用 TLS 1.3,您需要在伺服器上至少安裝 1.13.0 版本的 Nginx,因為這是第一個新增對 TLS 1.3 協議支援的版本。要檢查您的 Nginx 伺服器版本,請在終端中使用以下命令:
nginx -v
這將顯示您已安裝的 Nginx 伺服器的當前版本。
更新 OpenSSL 以支援 TLS 1.3
要在 Nginx 伺服器上啟用 TLS 1.3,您還需要更新系統上的 OpenSSL,因為它為 SSL/TLS 協議提供加密支援。首先,使用以下命令瞭解系統上是否已安裝 OpenSSL:
openssl version -a
如果它返回結果,則表示 OpenSSL 已安裝在您的系統上,以及其當前安裝的版本。要將 OpenSSL 升級到其最新的穩定版本(支援 TLS 1.3),您可以使用任何相關的包管理器(例如 apt 或 yum),具體取決於您使用的 Linux 發行版。
使用 ssl_protocols 指令配置 Nginx 以啟用 TLS 1.3
更新 SSL 並確認一切正常後,現在是時候配置您的 nginx 伺服器以啟用 TLSv1.2 和/或 vTLSv1 了。配置過程非常簡單 - 我們只需要一行 `ssl_protocols`,我們將其新增到我們的 nginx 配置檔案中。
此檔案的位置可能因系統而異。預設情況下,它應該位於 `/etc/nginx/nginx.conf`,但也可以在 `/usr/local/etc/nginx` 或 `/usr/local/nginx/conf` 中找到。
首先,使用任何文字編輯器開啟配置檔案。然後在 `http` 塊中新增以下行:
ssl_protocols TLSv1.3;
這將為您的 Nginx 伺服器啟用 TLS 1.3。
使用 SSL Labs 或其他工具測試配置
在 Nginx 伺服器上配置並啟用 TLS 1.3 後,務必測試設定是否按預期工作。有幾個工具可用於測試您的 SSL/TLS 配置,例如 Qualys SSL Labs、High-Tech Bridge 的 SSL/TLS 安全掃描器或 ImmuniWeb 的 SSL 伺服器測試。
ImmuniWeb 的 SSL 伺服器測試是用於測試 SSL/TLS 配置的最全面的線上工具之一,並提供有關您的伺服器在不同安全標準和協議方面的執行情況的詳細報告。要使用此工具測試您的 Nginx 伺服器,只需訪問其網站並在提供的欄位中輸入您的域名。
完成後,單擊“開始測試”以啟動掃描過程。成功完成後,您將收到一份詳細的報告,顯示一切是否配置正確,或者是否存在需要修復的任何漏洞。
結論
在 Nginx 中啟用 TLS 1.3 是一個簡單的過程,它涉及在配置 nginx 以使用 nginx 配置檔案中的 ssl_protocol 指令透過 TLSv1.3 協議接受流量之前,將 OpenSSL 更新到最新版本。啟用 TLSv1.3 包括多個步驟,例如檢查 Nginx 與此協議版本的相容性、更新 OpenSSL 庫、配置 ssl_protocol 指令等。啟用 TLSv1.3 後,應徹底測試您的 SSL/TLS 配置,以確保為您的網站訪問者提供最大安全性。