Red Hat Training

A Red Hat training course is available for RHEL 8

3.3. 在应用程序中强化 TLS 配置

在 Red Hat Enterprise Linux 8 中,系统范围的加密策略 提供了一种便捷的方法,可确保使用加密库的应用程序不允许已知的不安全协议、密码或算法。

如果要使用自定义加密设置强化与 TLS 相关的配置,您可以使用本节中描述的加密配置选项,并在最小数量时覆盖系统范围的加密策略。

无论您选择使用什么配置,请始终确保您的服务器应用程序强制实施服务器端密码顺序,以便使用的密码套件由您配置的顺序决定。

3.3.1. 配置 Apache HTTP 服务器

Apache HTTP 服务器 可以使用 OpenSSLNSS 库 来满足其 TLS 的需求。Red Hat Enterprise Linux 8 通过 eponymous 软件包提供 mod_ssl 功能:

# yum install mod_ssl

mod_ssl 软件包将安装 /etc/httpd/conf.d/ssl.conf 配置文件,该文件可用于修改 Apache HTTP 服务器的 与 TLS 相关的设置。

安装 httpd-manual 软件包以获取 Apache HTTP 服务器 的完整文档,包括 TLS 配置。/etc/httpd/conf.d/ssl.conf 配置文件中的指令在 /usr/share/httpd/manual/mod_ssl.html 中有详细介绍。各种设置示例位于 /usr/share/httpd/manual/ssl/ssl_howto.html

修改 /etc/httpd/conf.d/ssl.conf 配置文件中的设置时,请确定至少考虑以下三个指令:

SSLProtocol
使用这个指令指定您要允许的 TLS 或者 SSL 版本。
SSLCipherSuite
使用这个指令指定首选的密码套件或禁用您要禁止的密码套件。
SSLHonorCipherOrder
取消注释并将此指令设置为 on,以确保连接的客户端遵循您指定的密码顺序。

例如,只使用 TLS 1.2 和 1.3 协议:

SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1

如需更多信息,请参阅 部署不同类型的 服务器文档中的在 Apache HTTP 服务器上配置 TLS 加密 一章。