我想要關閉 Amazon Lightsail 執行個體中的 TLS 1.0 或 TLS 1.1。
簡短說明
TLS 1.2 之前的所有 SSL/TLS 通訊協定版本已不再更新,因此被視為不安全。大部分 Web 伺服器仍預設為開啟這些 TLS 版本。修改 Web 伺服器組態檔中的 SSLProtocol 指令,以關閉這些通訊協定。下列解決方法說明如何在 Apache 和 NGINX Web 伺服器的 Lightsail 執行個體中關閉這些未更新的 TLS 版本。
注意: 如果您將 Amazon Lightsail 負載平衡器用於您的網站,也需關閉負載平衡器中的 TLS 1.0 版和 1.1 版。但是,目前不支援關閉 Lightsail 負載平衡器中的 TLS 版本。若要關閉這些 TLS 版本並使用 Lightsail 負載平衡器,請使用 Amazon Application Load Balancer,而非 Lightsail 負載平衡器。
解決方法
注意: 本文中提及的檔案路徑可能隨著以下情況改變:
- 執行個體具有一個 Bitnami 堆疊,而 Bitnami 堆疊使用原生 Linux 系統套件 (方法 A)。
- 執行個體具有一個 Bitnami 堆疊,而其為獨立安裝 (方法 B)。
如果您使用具有 Bitnami 堆疊的 Lightsail 執行個體,請執行以下命令以識別您的 Bitnami 安裝類型:
具有 Bitnami 堆疊的 Lightsail 執行個體
Apache Web 服務
1. 開啟組態檔案:
方法 A 的 Bitnami 堆疊
sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf
方法 B 的 Bitnami 堆疊
sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
2. 在組態檔案中,修改 SSLProtocol 指令,以反映要使用的 TLS 版本。在下面的範例中,TLS 版本是 1.2 和 1.3:
SSLProtocol +TLSv1.2 +TLSv1.3
注意: 僅在伺服器中有 OpenSSL 1.1.1 版時才使用 TLSv1.3。執行命令 openssl version 來驗證版本。
3. 儲存檔案。請按 esc、輸入 :wq!,然後按 ENTER。
4. 重新啟動 Apache 服務:
sudo /opt/bitnami/ctlscript.sh restart apache
NGINX Web 服務
1. 開啟組態檔案:
sudo vi /opt/bitnami/nginx/conf/nginx.conf
2. 在組態檔案中,修改 SSLProtocol 指令,以反映要使用的 TLS 版本。在下面的範例中,TLS 版本是 1.2 和 1.3:
ssl_protocols TLSv1.2 TLSv1.3;
注意: 僅在伺服器中有 OpenSSL 1.1.1 版時才使用 TLSv1.3。使用命令 openssl version 來驗證版本。
3. 儲存檔案。請按 esc、輸入 :wq!,然後按 ENTER。
4. 重新啟動 Apache 服務:
sudo /opt/bitnami/ctlscript.sh restart nginx
沒有 Bitnami 堆疊的 Lightsail 執行個體
Apache Web 服務
1. 開啟組態檔案:
適用於如 Amazon Linux 2 和 CentOS 等 Linux 發行版
sudo vi /etc/httpd/conf.d/ssl.conf
是用於如 Ubuntu 和 Debian 等 Linux 發行版
sudo vi /etc/apache2/mods-enabled/ssl.conf
2. 在組態檔案中,修改 SSLProtocol 指令,以反映要使用的 TLS 版本。在下面的範例中,TLS 版本是 1.2 和 1.3。
SSLProtocol +TLSv1.2 +TLSv1.3
注意: 僅在伺服器中有 OpenSSL 1.1.1 版時才使用 TLSv1.3。使用命令 openssl version 來驗證版本。
3. 儲存檔案。請按 esc、輸入 :wq!,然後按 ENTER。
4. 重新啟動 Apache 服務:
適用於如 Amazon Linux 2 和 CentOS 等 Linux 發行版
sudo systemctl restart httpd
是用於如 Ubuntu 和 Debian 等 Linux 發行版
sudo systemctl restart apache2
NGINX Web 服務
1. 開啟組態檔案:
sudo vi /etc/nginx/nginx.conf
2. 在組態檔案中,修改 SSLProtocol 指令,以反映要使用的 TLS 版本。在下面的範例中,TLS 版本是 1.2 和 1.3。
ssl_protocols TLSv1.2 TLSv1.3;
注意: 僅在伺服器中有 OpenSSL 1.1.1 版時才使用 TLSv1.3。使用命令 openssl version 來驗證版本。
3. 儲存檔案。請按 esc、輸入 :wq!,然後按 ENTER。
4. 重新啟動 Apache 服務:
sudo systemctl restart nginx