如何在Apache中启用TLS 1.3/1.2

时间:2019-05-19 01:26:00  来源:igfitidea点击:

所有1.2以上版本的SSL和TLS都有很多已知的漏洞,比如POODLE (CVE-2014-3566),这就是为什么最新的浏览器不再支持这些脆弱协议的原因。
我们还建议将服务器移动到使用TLS版本,特别是TLS 1.2。
本教程将在mod_ssl和Apache服务器中启用TLS 1.2和TLS 1.3。

准备工作

要启用TLS 1.3,系统上必须有Apache 2.4.38或更高版本,搜索系统中的SSL虚拟主机配置文件。
基于Debian的系统通常会将这些文件放在 /etc/apache2/sites-enabled目录下。
基于红帽(RPM)的系统通常在 /etc/httpd/conf/httpd.conf配置文件或者在 /etc/httpd/conf.d下的指定文件。

仅在Apache中启用TLS 1.2

首先,在服务器上的Apache SSL配置文件中编辑域的虚拟主机部分,并添加设置 SSLProtocol,如下所示。
这将禁用所有旧协议和Apache服务器,只启用TLSv1.2。

SSLProtocol -all +TLSv1.2

最小的Apache虚拟主机配置与SSL看起来像:

<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 1.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>

在配置文件中进行更改之后,重新启动Apache服务以使新的设置生效。