У меня запущен экземпляр изображения RabbitMQ 3.7.7-менеджмент. В нем включен плагин rabbitmq-менеджмент и настроен на использование 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
Когда я оцениваю настройку TLS с помощью инструмента тестирования testssl.sh, тест на уязвимость СЛАДКИЙ32 не проходит:
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 возможно, но глядя на 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/...
Если это не сработает, просмотрите список рассылки.
NOTE: the RabbitMQ team monitors the rabbitmq-users
mailing list and only sometimes answers questions on StackOverflow.