使用 Apache 在 Centos 中禁用弱协议和密码

使用 Apache 在 Centos 中禁用弱协议和密码

有人能帮我确定以下情况中扫描仪仍出现 VA 间隙的原因是什么吗?我的服务器托管多个 Web 应用程序,但我对所有虚拟主机使用相同的设置。

20007 - SSL 版本 2 和 3 协议检测

注意:SSLEngine 和 SSLHonorCipherOrder 均已打开。

这是针对协议的。所有协议均已禁用,并且仅启用了 TLS 版本 1.1 和 1.2,但是,扫描仪仍检测到 SSL v3

SSL协议-全部+TLSv1.1+TLSv1.2

我也尝试过这个方法:

SSL协议全部 -SSLv2 -SSLv3

我已尝试测试以下内容: openssl s_client -connect localhost:443 -ssl2->握手失败(没问题) openssl s_client -connect localhost:443 -ssl3->这有效,但不知道为什么因为这已为所有 vHosts 禁用(设置与上面的类似)

===============

另外 2 个漏洞:

42873 - 支持 SSL 中等强度密码套件 以下是远程服务器支持的中等强度 SSL 密码列表:EDH-RSA-DES-CBC3-SHA Kx=DH Au=RSA Enc=3DES-CBC(168) Mac=SHA1 ECDHE-RSA-DES-CBC3-SHA Kx=ECDH Au=RSA Enc=3DES-CBC(168) Mac=SHA1 DES-CBC3-SHA Kx=RSA Au=RSA Enc=3DES-CBC(168) Mac=SHA1

65821 - 支持 SSL RC4 密码套件 (Bar Mitzvah) 远程服务器支持的 RC4 密码套件列表:ECDHE-RSA-RC4-SHA Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1 RC4-MD5 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5 RC4-SHA Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1

这是 CipherSuite。我已将扫描仪中找到的所有密码标记为粗体,并且它们都已在我的配置中禁用,但它们在扫描期间仍会出现:

SSLCipherSuite“EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256!EECDH+aRSA+RC4 EECDH EDH+aRSA!RC4!aNULL!eNULL!LOW!3DES!MD5!EXP!PSK!SRP!DSS!加密RSA-DES-CBC3-SHA !ECDHE-RSA-DES-CBC3-SHA DES-CBC3-SHA !ECDHE-RSA-RC4-SHA !RC4-MD5 !RC4-SHA

注意:我所拥有的 httpd 版本的更改日志不包括所检查的缺陷的 CVE。我还知道每次更改配置后都需要重新启动 httpd。

如果您有任何建议,请告知,我可能会遗漏某些内容。谢谢。

答案1

抱歉给您添麻烦了。我的队友发现 /etc/httpd/conf.d/ssl.conf 中的以下几行也需要更新:

SSL协议-全部-TLSv1 +TLSv1.1 +TLSv1.2-SSLv3

SSLCipherSuite “EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 !EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EDH-RSA-DES-CBC3-SHA !ECDHE-RSA-DES-CBC3-SHA !DES-CBC3-SHA !ECDHE-RSA-RC4-SHA !RC4-MD5 !RC4-SHA”

一旦更新,它会清除安全扫描结果。

答案2

请参阅 apache 文档,这是在 apache centos 服务器中获得 A+ 评级的正确文档。

https://httpd.apache.org/docs/trunk/ssl/ssl_howto.html

请参阅“如何创建仅接受强加密的 SSL 服务器?”部分。

# "Modern" configuration, defined by the Mozilla Foundation's SSL Configuration
# Generator as of August 2016. This tool is available at
# https://mozilla.github.io/server-side-tls/ssl-config-generator/
SSLProtocol         all -SSLv3 -TLSv1 -TLSv1.1
# Many ciphers defined here require a modern version (1.0.1+) of OpenSSL. Some
# require OpenSSL 1.1.0, which as of this writing was in pre-release.
SSLCipherSuite      ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLHonorCipherOrder on
SSLCompression      off
SSLSessionTickets   off

答案3

在 Apache conf 文件中,我使用:-

SSLCipherSuite HIGH:!MEDIUM:!SSLv3:!kRSA:!SHA1:!SHA256:!SHA384:!DSS:!aNULL;
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

这似乎避免了指定每个允许的密码的必要性,但仍然只提供最高级别的密码。

相关内容