我有一个运行RabbitMQ 3.7.7-management图像的实例。它启用了rabbitmq-management插件并配置为根据documentation使用HTTPS:
management.listener.port = 15671
management.listener.ssl = true
management.listener.ssl_opts.cacertfile = /path/to/cacert.pem
management.listener.ssl_opts.certfile = /path/to/cert.pem
management.listener.ssl_opts.keyfile = /path/to/key.pem
management.listener.ssl_opts.fail_if_no_peer_cert = false
management.listener.ssl_opts.versions.1 = tlsv1.2
当我使用testssl.sh测试工具评估TLS设置时,对SWEET32漏洞的测试失败:
Testing vulnerabilities
...
SWEET32 (CVE-2016-2183, CVE-2016-6329) VULNERABLE, uses 64 bit block ciphers
...
OpenVAS框架也抱怨:
漏洞检测结果
'Vulnerable' cipher suites accepted by this service via the TLSv1.2 protocol:
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)
解决方案类型:缓解
The configuration of this services should be changed so that it does not accept the listed cipher suites anymore.
是否可以配置RabbitMQ管理插件将使用哪些密码套件?对于RabbitMQ it is possible,但是看看rabbitmq_management.schema似乎对于管理插件来说这是不可能的。或者有不同的方法来修复此漏洞?
您将不得不使用advanced.config
文件来执行此操作。我假设您已经使用您显示的设置创建了/etc/rabbitmq/rabbitmq.conf
。使用这些内容创建/etc/rabbitmq/advanced.config
文件并重新启动RabbitMQ:
[
{rabbitmq_management, [
{listener, [
{ssl_opts, [
{ciphers, [
%% CIPHERS GO HERE
]}
]}
]}
]}
].
该设置应合并到rabbitmq.conf
中指定的内容中。您可以在/var/lib/rabbitmq/...
中检查生成的配置文件
如果这不起作用,请跟进邮件列表。
注意:RabbitMQ团队监控the rabbitmq-users
mailing list,有时只回答StackOverflow上的问题。