![使用 Apache 在 Centos 中禁用弱协议和密码](https://linux22.com/image/723705/%E4%BD%BF%E7%94%A8%20Apache%20%E5%9C%A8%20Centos%20%E4%B8%AD%E7%A6%81%E7%94%A8%E5%BC%B1%E5%8D%8F%E8%AE%AE%E5%92%8C%E5%AF%86%E7%A0%81.png)
有人能帮我确定以下情况中扫描仪仍出现 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
这似乎避免了指定每个允许的密码的必要性,但仍然只提供最高级别的密码。