Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
2.3. Install the Message Broker
- Block Storage service
- Compute service
- OpenStack Networking
- Orchestration service
- Image service
- Telemetry service
2.3.1. Install the RabbitMQ Message Broker Package Link kopierenLink in die Zwischenablage kopiert!
yum install rabbitmq-server
# yum install rabbitmq-server
2.3.2. Configure the Firewall for Message Broker Traffic Link kopierenLink in die Zwischenablage kopiert!
5672
. All steps in this procedure must be performed on the server hosting the messaging service, while logged in as the root
user.
Procedure 2.8. Configuring the Firewall for Message Broker Traffic
- Open the
/etc/sysconfig/iptables
file in a text editor. - Add an INPUT rule allowing incoming connections on port
5672
. The new rule must appear before any INPUT rules that REJECT traffic.-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Save the changes to the
/etc/sysconfig/iptables
file. - Restart the
iptables
service for the firewall changes to take effect:systemctl restart iptables.service
# systemctl restart iptables.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.3. Launch and Configure the RabbitMQ Message Broker Link kopierenLink in die Zwischenablage kopiert!
Procedure 2.9. Launching and Configuring the RabbitMQ Message Broker for Use with OpenStack
- Launch the
rabbitmq-server
service and configure it to start at boot time:systemctl start rabbitmq-server.service systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service # systemctl enable rabbitmq-server.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - When the rabbitmq-server package is installed, a
guest
user with a defaultguest
password is automatically created for the RabbitMQ service. Red Hat strongly advises that you change this default password, especially if you have IPv6 available. With IPv6, RabbitMQ may be accessible from outside the network. Change the default guest password:rabbitmqctl change_password guest NEW_RABBITMQ_PASS
# rabbitmqctl change_password guest NEW_RABBITMQ_PASS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace NEW_RABBITMQ_PASS with a more secure password. - Create a RabbitMQ user account for the Block Storage service, the Compute service, OpenStack Networking, the Orchestration service, the Image service, and the Telemetry service:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace CINDER_PASS, NOVA_PASS, NEUTRON_PASS, HEAT_PASS, GLANCE_PASS, and CEILOMETER_PASS with secure passwords for each service. - Grant each of these RabbitMQ users read and write permissions to all resources:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.4. Enable SSL on the RabbitMQ Message Broker Link kopierenLink in die Zwischenablage kopiert!
/etc/rabbitmq/rabbitmq.config
configuration file.
Procedure 2.10. Enabling SSL on the RabbitMQ Message Broker
- Create a directory in which to store the required certificates:
mkdir /etc/pki/rabbitmq
# mkdir /etc/pki/rabbitmq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Choose a secure certificate password and store it in a file within the
/etc/pki/rabbitmq
directory:echo SSL_RABBITMQ_PW > /etc/pki/rabbitmq/certpw
# echo SSL_RABBITMQ_PW > /etc/pki/rabbitmq/certpw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace SSL_RABBITMQ_PW with a certificate password. This password will be used later for further securing the necessary certificates. - Set the permissions for the certificate directory and password file:
chmod 700 /etc/pki/rabbitmq chmod 600 /etc/pki/rabbitmq/certpw
# chmod 700 /etc/pki/rabbitmq # chmod 600 /etc/pki/rabbitmq/certpw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Create the certificate database files (
*.db
) in the/etc/pki/rabbitmq
directory, using the password in the/etc/pki/rabbitmq/certpw
file:certutil -N -d /etc/pki/rabbitmq -f /etc/pki/rabbitmq/certpw
# certutil -N -d /etc/pki/rabbitmq -f /etc/pki/rabbitmq/certpw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - For a production environment, it is recommended that you use a reputable third-party Certificate Authority (CA) to sign your certificates. Create a Certificate Signing Request (CSR) for a third-party CA:
certutil -R -d /etc/pki/rabbitmq -s "CN=RABBITMQ_HOST" \ -a -f /etc/pki/rabbitmq/certpw > RABBITMQ_HOST.csr
# certutil -R -d /etc/pki/rabbitmq -s "CN=RABBITMQ_HOST" \ -a -f /etc/pki/rabbitmq/certpw > RABBITMQ_HOST.csr
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace RABBITMQ_HOST with the IP or host name of the server hosting the RabbitMQ message broker. This command produces a CSR namedRABBITMQ_HOST.csr
and a key file (keyfile.key). The key file will be used later when configuring the RabbitMQ message broker to use SSL.Note
Some CAs may require additional values other than"CN=RABBITMQ_HOST"
. - Provide
RABBITMQ_HOST.csr
to your third-party CA for signing. Your CA should provide you with a signed certificate (server.crt) and a CA file (ca.crt). Add these files to your certificate database:certutil -A -d /etc/pki/rabbitmq -n RABBITMQ_HOST -f /etc/pki/rabbitmq/certpw \ -t u,u,u -a -i /path/to/server.crt certutil -A -d /etc/pki/rabbitmq -n "Your CA certificate" \ -f /etc/pki/rabbitmq/certpw -t CT,C,C -a -i /path/to/ca.crt
# certutil -A -d /etc/pki/rabbitmq -n RABBITMQ_HOST -f /etc/pki/rabbitmq/certpw \ -t u,u,u -a -i /path/to/server.crt # certutil -A -d /etc/pki/rabbitmq -n "Your CA certificate" \ -f /etc/pki/rabbitmq/certpw -t CT,C,C -a -i /path/to/ca.crt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Configure the RabbitMQ message broker to use the certificate files for secure communications. Open the
/etc/rabbitmq/rabbitmq.config
configuration file in a text editor, and edit therabbit
section as follows:- Find the line that reads:
%% {ssl_listeners, [5671]},
%% {ssl_listeners, [5671]},
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Uncomment the setting by removing the percent signs:{ssl_listeners, [5671]},
{ssl_listeners, [5671]},
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Scroll down to the line that reads:
%% {ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},
%% {ssl_options, [{cacertfile, "/path/to/testca/cacert.pem"},
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Replace this line and the next few lines which comprise thessl_options
section with the following content:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Replace /path/to/ca.crt with the absolute path to the CA certificate.
- Replace /path/to/server.crt with the absolute path to the signed certificate.
- Replace /path/to/keyfile.key with the absolute path to the key file.
- Disable SSLv3 by editing the
rabbitmq.config
to include support for only specific TLS encryption versions:{rabbit, [ {ssl_options, [{versions, ['tlsv1.2','tlsv1.1',tlsv1]}]}, ]}
{rabbit, [ {ssl_options, [{versions, ['tlsv1.2','tlsv1.1',tlsv1]}]}, ]}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Restart the RabbitMQ service for the change to take effect:
systemctl restart rabbitmq-server.service
# systemctl restart rabbitmq-server.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.5. Export an SSL Certificate for Clients Link kopierenLink in die Zwischenablage kopiert!
pk12util -o <p12exportfile> -n <certname> -d <certdir> -w <p12filepwfile> openssl pkcs12 -in <p12exportfile> -out <clcertname> -nodes -clcerts -passin pass:<p12pw>
# pk12util -o <p12exportfile> -n <certname> -d <certdir> -w <p12filepwfile>
# openssl pkcs12 -in <p12exportfile> -out <clcertname> -nodes -clcerts -passin pass:<p12pw>
openssl
manual page.