如何在 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 应用程序负载均衡器 而不是 Lightsail 负载均衡器。
解决方法
**注意:**本文中提到的文件路径可能会发生变化,具体取决于以下因素:
- 实例有一个 Bitnami 堆栈,Bitnami 堆栈使用原生的 Linux 系统软件包(方法 A)。
- 实例有一个 Bitnami 堆栈,它是一个自包含的安装(方法 B)。
如果您使用的是带有 Bitnami 堆栈的 Lightsail 实例,请运行以下命令来识别您的 Bitnami 安装类型:
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
带有 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. 打开配置文件:
Linux 发行版本,例如 Amazon Linux 2 和 CentOS
sudo vi /etc/httpd/conf.d/ssl.conf
Linux 发行版本,例如 Ubuntu 和 Debian
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 服务:
Linux 发行版本,例如 Amazon Linux 2 和 CentOS
sudo systemctl restart httpd
Linux 发行版本,例如 Ubuntu 和 Debian
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