【问题标题】:How to Disable TLS 1.0 and 1.1 to enable only TLS 1.2 and TLS 1.3 in Apache for a Wordpress Bitnami Amazon-Ligthsail instance?如何禁用 TLS 1.0 和 1.1 以在 Apache 中为 Wordpress Bitnami Amazon-Ligthsail 实例仅启用 TLS 1.2 和 TLS 1.3?
【发布时间】:2020-04-12 12:11:45
【问题描述】:

这是我第一次使用 Amazon Lighsail、Wordpress Multisite、Bitnami 甚至使用 Let's Encrypt;现在似乎一切正常,除了我的虚拟主机文件中的 SSL 指令。

因为似乎主要的浏览器——又名 Chrome、Safari/Webkit、Mozilla Firefox 和 IE/Edge——将在新年伊始取消对 TLS 1.0 和 TLS 1.1 的支持——恰好在一月和3 月 – 我想知道如何在 Lightsail 中为我的新 Wordpress 多站点实例禁用它们。

在我获得 Let's Encript SSL 证书并成功部署后,我对其进行了测试以验证 TLS 1.0 和 TLS 1.1 是否与 TLS 1.2 一起启用。 现在看来,我的 Apache 版本 2.4.39 也支持 TLS 1.3,我正在尝试启用它并禁用两个旧版本。 在网上阅读我发现我必须更改httpd.conf文件才能插入该指令

SSLProtocol -all +TLSv1.2

所以,在 httpd.conf 文件中我找到了这个块,这似乎是正确的地方:

# Default SSL Virtual Host configuration.

<IfModule !ssl_module>
LoadModule ssl_module modules/mod_ssl.so
</IfModule>

Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA$
SSLPassPhraseDialog  builtin
SSLSessionCache "shmcb:/opt/bitnami/apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>
DocumentRoot "/opt/bitnami/apache2/htdocs"
SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/mydomain.crt"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/mydomain.key"

<Directory "/opt/bitnami/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
<IfVersion < 2.3 >
Order allow,deny
Allow from all
</IfVersion>
<IfVersion >= 2.3 >
Require all granted
</IfVersion>
</Directory>

# Error Documents
ErrorDocument 503 /503.html

# Bitnami applications installed with a prefix URL (default)
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>

我尝试简单地更新 httpd.conf 和 httpd-ssl.conf,但没有任何结果:TLS 1.3 不起作用,TLS 1.0 和 TLS 1.1 始终处于启用状态。

现在,我什至读到了这个问题

Disabling TLS 1.0 in Apache 2.4

在我添加之后,这是我在 httpd-ssl.conf 文件中的 ssl 指令:

# SSLProtocol all -SSLv3
SSLProtocol  +TLSv1.2 +TLSv1.3
#SSLProtocol all -TLSv1 -SSLv3
SSLProxyProtocol all +TLSv1.2 +TLSv1.3

但没有任何改变,现在我真的不知道如何启用 TLS 1.3 和禁用 TLS 1.0 和 TLS 1.1。 当然,每次更改后我都会重新启动 Apache。

【问题讨论】:

  • 毕竟昨天我找到了另一个配置文件,现在 TLSv1.0 和 TLSv1.1 被禁用。但似乎甚至无法启用 TLSv1.3: SSLProtocol: Illegal protocol 'TLSv1.3' is the msg I received!有人可以帮助我吗?
  • 在启动时验证您的日志并确认您正在运行的版本。 +TLSv3 在 2.4 之前不存在。或者,如果您有权运行它,请执行apachectl -v
  • apachectl -v 返回“服务器版本:Apache/2.4.39 (Unix)”这就是为什么我希望能够启用 TLSv1.3
  • 此外,error_log 文件报告了此 ssl:警告:此版本的 mod_ssl 是针对较新的库编译的(OpenSSL 1.0.2s 2019 年 5 月 28 日,当前加载的版本是 OpenSSL 1.0.2r 2019 年 2 月 26 日)- 可能导致未定义或错误的行为。

标签: wordpress apache ssl bitnami amazon-lightsail


【解决方案1】:

我也遇到了这个问题,整理了以下解决方案:

  1. 从您的 Lightsail 仪表板打开一个 SSH 实例
  2. 导航到:/opt/bitnami/apache2/conf/bitnami/
  3. 将以下行添加到 bitnami.conf 文件中的位置:

听 443
.#SSLProtocol -SSLv2 -SSLv3

SSLProtocol TLSv1.2

  1. 导航到:/opt/bitnami/apache2/conf/extra
  2. 在 httpd-ssl.conf 文件中,将主题标签添加到以下行(不带 . ):

.#SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES
.#SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

现在从以下几行中删除hastag,使其变为:

SSLCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA
SSLProxyCipherSuite HIGH:MEDIUM:!SSLv3:!kRSA

  1. 现在在#SSL 协议支持下,将设置更改为如下所示:

.#SSLProtocol all -SSLv3
SSL协议 -TLSv1.2 -TLSv1.3 -SSLv3
.#SSLProxyProtocol all -SSLv3
SSLProxyProtocol -TLSv1.2 -TLSv1.3 -SSLv3

使用以下命令重启 apache:sudo /opt/bitnami/ctlscript.sh restart apache

检查您的网站:
https://www.whynopadlock.com
https://www.ssllabs.com/ssltest

您现在应该会收到 A 分数,并且不支持 TLS 1.0 和 TLS 1.1 协议。

【讨论】:

    【解决方案2】:

    可能尚无法启用 TLSv1.3。 根据这个 bitnami 的社区帖子:

    [https://community.bitnami.com/t/tlsv1-3-support-for-new-lamp-stack-installers/67672]

    TLSv1.3 仅支持 Apache 版本 2.4.36 和 OpenSSL 1.1.1...我们的堆栈包括 OpenSSL 1.0.2,因此目前无法启用该协议。对不起,inco...

    等待更新...

    【讨论】:

    • 等待的时间不长; Bitnami 刚刚使用 Apache 2.4.41 和 OpenSSL 1.1.1d 更新了堆栈。 TLSv1.3,与 TLSv1.2 一起完全启用。
    猜你喜欢
    • 1970-01-01
    • 2021-03-13
    • 2017-02-23
    • 2021-04-14
    • 2018-08-06
    • 2016-09-16
    • 2020-09-07
    • 2015-09-20
    • 2021-08-12
    相关资源
    最近更新 更多