Enable encryption for all RabbitMQ connections
This change enables encryption between OpenStack services and RabbitMQ by default. Closes-bug: 1509086 Change-Id: Ic95a556e001f66df935ea7db613b497b47062851
This commit is contained in:
parent
8355f191de
commit
d930a7b55c
@ -10,17 +10,34 @@ a SSL/TLS encrypted listener on port 5671.
|
|||||||
Customizing the RabbitMQ deployment is done within
|
Customizing the RabbitMQ deployment is done within
|
||||||
``/etc/openstack_deploy/user_variables.yml``.
|
``/etc/openstack_deploy/user_variables.yml``.
|
||||||
|
|
||||||
Securing RabbitMQ communication with SSL certificates
|
Add a TLS encrypted listener to RabbitMQ
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The openstack-ansible project provides the ability to secure RabbitMQ
|
The openstack-ansible project provides the ability to secure RabbitMQ
|
||||||
communications with self-signed or user-provided SSL certificates.
|
communications with self-signed or user-provided SSL certificates. Refer to
|
||||||
|
`Securing services with SSL certificates`_ for available configuration
|
||||||
Refer to `Securing services with SSL certificates`_ for available configuration
|
|
||||||
options.
|
options.
|
||||||
|
|
||||||
.. _Securing services with SSL certificates: configure-sslcertificates.html
|
.. _Securing services with SSL certificates: configure-sslcertificates.html
|
||||||
|
|
||||||
|
Enable encrypted connections to RabbitMQ
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
SSL communication between various OpenStack services and RabbitMQ is
|
||||||
|
controlled via the Ansible variable ``rabbit_use_ssl``:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
rabbit_use_ssl: true
|
||||||
|
|
||||||
|
Setting this variable to ``true`` will adjust the RabbitMQ port to 5671 (the
|
||||||
|
default SSL/TLS listener port) and enable SSL connectivity between each
|
||||||
|
OpenStack service and RabbitMQ.
|
||||||
|
|
||||||
|
Setting this variable to ``false`` will disable SSL encryption between
|
||||||
|
OpenStack services and RabbitMQ. The plaintext port for RabbitMQ, 5672, will
|
||||||
|
be used for all services.
|
||||||
|
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
.. include:: navigation.txt
|
.. include:: navigation.txt
|
||||||
|
@ -132,6 +132,12 @@ ssl_cipher_suite: "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AE
|
|||||||
#rabbitmq_user_ssl_cert: <path to cert on ansible deployment host>
|
#rabbitmq_user_ssl_cert: <path to cert on ansible deployment host>
|
||||||
#rabbitmq_user_ssl_key: <path to cert on ansible deployment host>
|
#rabbitmq_user_ssl_key: <path to cert on ansible deployment host>
|
||||||
#rabbitmq_user_ssl_ca_cert: <path to cert on ansible deployment host>
|
#rabbitmq_user_ssl_ca_cert: <path to cert on ansible deployment host>
|
||||||
|
#
|
||||||
|
# By default, openstack-ansible configures all OpenStack services to talk to
|
||||||
|
# RabbitMQ over encrypted connections on port 5671. To opt-out of this default,
|
||||||
|
# set the rabbitmq_use_ssl variable to 'false'. The default setting of 'true'
|
||||||
|
# is highly recommended for securing the contents of RabbitMQ messages.
|
||||||
|
#rabbitmq_use_ssl: true
|
||||||
|
|
||||||
## Additional pinning generator that will allow for more packages to be pinned as you see fit.
|
## Additional pinning generator that will allow for more packages to be pinned as you see fit.
|
||||||
## All pins allow for package and versions to be defined. Be careful using this as versions
|
## All pins allow for package and versions to be defined. Be careful using this as versions
|
||||||
|
@ -49,9 +49,9 @@ lxc_container_caches:
|
|||||||
|
|
||||||
## RabbitMQ
|
## RabbitMQ
|
||||||
rabbitmq_cluster_name: openstack
|
rabbitmq_cluster_name: openstack
|
||||||
rabbitmq_port: 5672
|
rabbitmq_port: "{{ (rabbitmq_use_ssl | bool) | ternary(5671, 5672) }}"
|
||||||
rabbitmq_servers: "{% for host in groups['rabbitmq_all'] %}{{ hostvars[host]['ansible_ssh_host'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %}"
|
rabbitmq_servers: "{% for host in groups['rabbitmq_all'] %}{{ hostvars[host]['ansible_ssh_host'] }}:{{ rabbitmq_port }}{% if not loop.last %},{% endif %}{% endfor %}"
|
||||||
|
rabbitmq_use_ssl: true
|
||||||
|
|
||||||
## Galera
|
## Galera
|
||||||
galera_wsrep_cluster_address: "{% for host in groups['galera_all'] %}{{ hostvars[host]['ansible_ssh_host'] }}{% if not loop.last %},{% endif %}{% endfor %}"
|
galera_wsrep_cluster_address: "{% for host in groups['galera_all'] %}{{ hostvars[host]['ansible_ssh_host'] }}{% if not loop.last %},{% endif %}{% endfor %}"
|
||||||
|
@ -13,6 +13,7 @@ rabbit_userid = {{ aodh_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ aodh_rabbitmq_password }}
|
rabbit_password = {{ aodh_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ aodh_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ aodh_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
[api]
|
[api]
|
||||||
port = {{ aodh_service_port }}
|
port = {{ aodh_service_port }}
|
||||||
|
@ -16,6 +16,7 @@ rabbit_userid = {{ ceilometer_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ ceilometer_rabbitmq_password }}
|
rabbit_password = {{ ceilometer_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ ceilometer_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ ceilometer_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
[api]
|
[api]
|
||||||
port = 8777
|
port = 8777
|
||||||
|
@ -119,6 +119,7 @@ rabbit_userid = {{ cinder_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ cinder_rabbitmq_password }}
|
rabbit_password = {{ cinder_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ cinder_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ cinder_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
[oslo_concurrency]
|
[oslo_concurrency]
|
||||||
lock_path = /var/lock/cinder
|
lock_path = /var/lock/cinder
|
||||||
|
@ -87,6 +87,7 @@ rabbit_port = {{ rabbitmq_port }}
|
|||||||
rabbit_userid = {{ glance_rabbitmq_userid }}
|
rabbit_userid = {{ glance_rabbitmq_userid }}
|
||||||
rabbit_password = {{ glance_rabbitmq_password }}
|
rabbit_password = {{ glance_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ glance_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ glance_rabbitmq_vhost }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
rabbit_notification_exchange = glance
|
rabbit_notification_exchange = glance
|
||||||
rabbit_notification_topic = notifications
|
rabbit_notification_topic = notifications
|
||||||
|
|
||||||
|
@ -53,6 +53,7 @@ rabbit_port = {{ rabbitmq_port }}
|
|||||||
rabbit_userid = {{ glance_rabbitmq_userid }}
|
rabbit_userid = {{ glance_rabbitmq_userid }}
|
||||||
rabbit_password = {{ glance_rabbitmq_password }}
|
rabbit_password = {{ glance_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ glance_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ glance_rabbitmq_vhost }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
rabbit_notification_exchange = glance
|
rabbit_notification_exchange = glance
|
||||||
rabbit_notification_topic = notifications
|
rabbit_notification_topic = notifications
|
||||||
|
|
||||||
|
@ -65,6 +65,7 @@ rabbit_userid = {{ heat_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ heat_rabbitmq_password }}
|
rabbit_password = {{ heat_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ heat_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ heat_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
|
|
||||||
[profiler]
|
[profiler]
|
||||||
|
@ -139,6 +139,7 @@ rabbit_userid = {{ keystone_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ keystone_rabbitmq_password }}
|
rabbit_password = {{ keystone_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ keystone_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ keystone_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
{% if keystone_sp is defined %}
|
{% if keystone_sp is defined %}
|
||||||
[federation]
|
[federation]
|
||||||
|
@ -173,6 +173,7 @@ rabbit_userid = {{ neutron_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ neutron_rabbitmq_password }}
|
rabbit_password = {{ neutron_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ neutron_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ neutron_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
# Concurrency (locking mechanisms)
|
# Concurrency (locking mechanisms)
|
||||||
[oslo_concurrency]
|
[oslo_concurrency]
|
||||||
|
@ -220,6 +220,7 @@ rabbit_userid = {{ nova_rabbitmq_userid }}
|
|||||||
rabbit_password = {{ nova_rabbitmq_password }}
|
rabbit_password = {{ nova_rabbitmq_password }}
|
||||||
rabbit_virtual_host = {{ nova_rabbitmq_vhost }}
|
rabbit_virtual_host = {{ nova_rabbitmq_vhost }}
|
||||||
rabbit_hosts = {{ rabbitmq_servers }}
|
rabbit_hosts = {{ rabbitmq_servers }}
|
||||||
|
rabbit_use_ssl = {{ rabbitmq_use_ssl }}
|
||||||
|
|
||||||
|
|
||||||
[libvirt]
|
[libvirt]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user