SNI 真的需要 TLSv1(不安全)吗?

SNI 真的需要 TLSv1(不安全)吗?

从 Apache 2.4文档

基于 SSL 名称的虚拟主机的第一个(默认)vhost 必须包含 TLSv1 作为允许的协议,否则 Apache 将不会接受来自客户端的 SNI 信息,就好像客户端根本不支持 SNI 一样。

我想在我的服务器上拥有多个启用 TLS 的站点,每个站点都提供不同的证书。出于安全原因,我只允许 TLSv1.1 和 TLSv1.2。有没有安全的方法来启用 SNI?

我的配置的一个片段:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    DocumentRoot /var/www/example.com
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1
    [other SSL options]
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.org
    Redirect permanent / https://www.example.org/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.org
    DocumentRoot /var/www/example.org
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1
    [other SSL options]
</VirtualHost>

答案1

Wiki 将 TLSv1 与早期协议进行了对比,而不是与后期协议进行了对比。SNI 与 TLSv1.1 和 TLSv1.2 配合良好。

相关内容