Seleccionar página

Securizando la consola de administración en Apache ActiveMQ Artemis

por | Mar 17, 2022 | Apache ActiveMQ Artemis, Aprendizaje, AWS, Soluciones

A la hora de crear una máquina en CentOS 9 Stream con la última versión de Apache ActiveMQ / Artemis (en el momento de redactar este artículo, la versión 2.20.0), creamos el broker permitiendo el acceso anónimo :

[root@ip-172-31-3-105 ]# /usr/java/apache-artemis/bin/artemis create --user admin --password admin --allow-anonymous --force test-broker

Posteriormente, queríamos deshabilitar el acceso anónimo ya que la consola de administración queda abierto a cualquier invitado. Para ello, tuvimos que ir al directorio del broker creado que en nuestro caso es test-broker (/var/lib/artemis/test-broker), subir un nivel al directorio conf y modificar el fichero login.config comentado el módulo GuestLoginModule:

 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
  * the License.  You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */

activemq {
   org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule sufficient
       debug=true
       reload=true
       org.apache.activemq.jaas.properties.user="artemis-users.properties"
       org.apache.activemq.jaas.properties.role="artemis-roles.properties";
   
   /*
   org.apache.activemq.artemis.spi.core.security.jaas.GuestLoginModule sufficient
       debug=true
       org.apache.activemq.jaas.guest.user="admin"
       org.apache.activemq.jaas.guest.role="amq";
   */

};

Si además quieres cambiar la contraseña, deberás insertar en el fichero artemis-user.properties la contraseña hasheada y tienes esta directiva para obtenerla:

$ARTEMIS_HOME/bin/artemis mask –hash new_password

Si en vez de haber creado el broker permitiendo el acceso anónimo hubieramos restringido el acceso, teníamos que haber ejecutado el siguiente comando:

[root@ip-172-31-3-105 per-instance]# /usr/java/apache-artemis/bin/artemis create --user admin --password admin --require-login --force test-broker

De esta forma, vemos que en el fichero login.config ya no aparece el módulo GuestLoginModule.

¡ Hecho ! A reiniciar y fiesta.

Te puede interesar…

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *