如何在 Apache 中仅开启 TLS 1.3 / TLS1.2 ?
互联网之所以运行良好,是因为它可以安全地发送数据,这要归功于传输层安全(TLS)等技术。TLS 是安全套接字层(SSL)的新版本,它有助于保持网络流量的安全。本文将讨论 TLS 1.3 和 1.2,它们比旧版本更好、更快。
使用这些协议的一个流行的 web 服务器是 Apache。但是,为了确保 Apache 服务器只使用 TLS 1.3 和 1.2,您需要以某种方式对其进行设置。本指南将向您展示如何配置 Apache 服务器,使其只允许 TLS 1.3 和 1.2 连接。
系统要求
- Apache HTTP Server (version 2.4.37 or later, for full TLS 1.3 support).
- OpenSSL (version 1.1.1 or later, for full TLS 1.3 support).
- Root or sudo access to the server.
仅在 Apache 中启用 TLS 1.2
首先,在服务器上的 Apache SSL 配置文件中编辑 VirtualHost 部分,并添加设置SSLProtocol,如下所示。这将禁用所有旧协议和您的 Apache 服务器,并仅启用 TLSv1.2。
SSLProtocol -all +TLSv1.2
带 SSL 的最小 Apache 虚拟主机配置,如下所示
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol -all +TLSv1.2
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
在 Apache 中同时启用 TLS 1.3 和 1.2
Apache 2.4.38 及以上版本支持 TLS v1.3。在 SSL 设置中启用 TLS 1.3 之前,必须先升级 Apache 软件包。
SSLProtocol -all +TLSv1.2 +TLSv1.3
带 SSL 的最小 Apache 虚拟主机配置,如下所示
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
测试验证
您可以使用Qualys SSL Labs 出品的 SSL Server Test 在线服务测试服务器的 TLS 配置 。
我的开源项目
- course-tencent-cloud(酷瓜云课堂 - gitee仓库)
- course-tencent-cloud(酷瓜云课堂 - github仓库)