Introducción

MariaDB es un sistema de administración relacional de bases de datos de código abierto, que comúnmente se usa como alternativa para la parte de MySQL de la popular pila LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Se diseñó como un reemplazo a medida de MySQL.

La versión corta de esta guía de instalación consta de estos tres pasos:

  • Actualizar el índice de paquetes usando apt
  • Instalar el paquete de mariadb-server usando apt. El paquete también incluye herramientas relacionadas para interactuar con MariaDB.
  • Ejecutar la secuencia de comandos de seguridad de mysql_secure_installation incluida para restringir el acceso al servidor
  • sudo apt update
  • sudo apt install mariadb-server
  • sudo mysql_secure_installation

Este tutorial, se explicará la forma de instalar MariaDB en un servidor de Ubuntu 20.04 y verificar que funcione y cuente con una configuración inicial segura.

Requisitos previos

Para seguir este tutorial, necesitará un servidor con Ubuntu 20.04. Este servidor debería tener un usuario administrativo y un firewall configurado con ufw. Puede establecerlos siguiendo nuestra Guía inicial de configuración del servidor para Ubuntu 20.04.

Paso 1: Instalar MariaDB

En el momento de escribir este tutorial, los repositorios APT predeterminados de Ubuntu 20.04 incluyen la versión de MariaDB 10.3.

Para instalarla, actualice el índice de paquetes en su servidor con apt:

  • sudo apt update

A continuación, instale el paquete:

  • sudo apt install mariadb-server

Estos comandos instalarán MariaDB, pero no le solicitará establecer una contraseña ni realizar otros cambios de configuración. Debido a que la configuración predeterminada hace que la instalación de MariaDB no sea segura, usaremos una secuencia de comandos que el paquete de mariadb-server proporciona para restringir el acceso al servidor y eliminar cuentas no utilizadas.

Paso 2: Configurar MariaDB

En las nuevas instalaciones de MariaDB, el siguiente paso es ejecutar la secuencia de comandos de seguridad incluida. Esta secuencia de comandos cambia algunas de las opciones predeterminadas menos seguras para cosas como inicios de sesión root remotos y usuarios de ejemplo.

Ejecute la secuencia de comandos de seguridad:

  • sudo mysql_secure_installation

Con esto, verá una serie de solicitudes mediante las cuales podrá realizar cambios en las opciones de seguridad de su instalación de MariaDB. En la primera solicitud se pedirá que introduzca la contraseña root de la base de datos actual. Debido a que no configuramos una aún, pulse ENTER para indicar “none” (ninguna).

Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

En la siguiente solicitud se pregunta si desea configurar una contraseña root de base de datos. En Ubuntu, la cuenta root para MariaDB está estrechamente vinculada al mantenimiento del sistema automatizado. Por lo tanto, no deberíamos cambiar los métodos de autenticación configurados para esa cuenta. Hacer esto permitiría que una actualización de paquetes dañara el sistema de bases de datos eliminando el acceso a la cuenta administrativa. Escriba N y pulse ENTER.

Output
. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] N

Más tarde, se explicará la manera configurar una cuenta administrativa adicional para el acceso con contraseña si la autenticación del socket no es apropiada para su caso de uso.

Desde allí, puede pulsar Y y luego ENTER para aceptar los valores predeterminados para todas las preguntas siguientes. Con esto, se eliminarán algunos usuarios anónimos y la base de datos de prueba, se deshabilitarán las credenciales de inicio de sesión remoto de root y se cargarán estas nuevas reglas para que MariaDB aplique de inmediato los cambios que realizó.

Con eso, ha terminado de realizar la configuración de seguridad inicial de MariaDB. El siguiente paso es opcional, aunque debería seguirlo si prefiere autenticar a su servidor de MariaDB con una contraseña.

Paso 3: (Opcional) Crear un usuario administrativo que emplea la autenticación por contraseña

En los sistemas Ubuntu con MariaDB 10.03, el root user de MariaDB se configura para autenticar usando el complemento unix_socket por defecto en vez de con una contraseña. Esto proporciona una mayor seguridad y utilidad en muchos casos, pero también puede generar complicaciones cuando necesita otorgar derechos administrativos a un programa externo (por ejemplo, phpMyAdmin).

Debido a que el servidor utiliza la cuenta root para tareas como la rotación de registros y el inicio y la deteneción del servidor, es mejor no cambiar los detalles de autenticación root de la cuenta. La modificación de las credenciales del archivo de configuración en /etc/mysql/debian.cnf puede funcionar al principio, pero las actualizaciones de paquetes pueden sobrescribir esos cambios. En vez de modificar la cuenta root, los mantenedores de paquetes recomiendan crear una cuenta administrativa independiente para el acceso basado en contraseña.

Para hacerlo, crearemos una nueva cuenta llamada admin con las mismas capacidades que la cuenta root, pero configurada para la autenticación por contraseña. Abra la línea de comandos de MariaDB desde su terminal:

  • sudo mariadb

A continuación, cree un nuevo usuario con privilegios root y acceso basado en contraseña. Asegúrese de cambiar el nombre de usuario y la contraseña para que se adapten a sus preferencias:

  • GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Vacíe los privilegios para garantizar que se guarden y estén disponibles en la sesión actual:

  • FLUSH PRIVILEGES;

Después de esto, cierre el shell de MariaDB:

  • exit

Por último, probaremos la instalación de MariaDB.

Paso 4: Probar MariaDB

Cuando se instale desde los repositorios predeterminados, MariaDB se ejecutará automáticamente. Para probar esto, compruebe su estado.

  • sudo systemctl status mariadb

Recibirá un resultado que es similar al siguiente:

Output
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .

Si MariaDB no funciona, puede iniciarla con el comando sudo systemctl start mariadb.

Como comprobación adicional, puede intentar establecer conexión con la base de datos usando la herramienta mysqladmin, que es un cliente que le permite ejecutar comandos administrativos. Por ejemplo, este comando indica conectar con MariaDB como root usando el socket Unix y devolver la versión:

  • sudo mysqladmin version

Recibirá un resultado similar a este:

Output
mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

Si configuró un usuario administrativo independiente con la autenticación de contraseña, puede realizar la misma operación escribiendo lo siguiente:

  • mysqladmin -u admin -p version

Esto significa que MariaDB está activo y que su usuario puede autenticarse correctamente.

Conclusión

En esta guía, ha instalado el sistema de gestión relacional de bases de datos MariaDB, y lo ha protegido usando la secuencia de comandos mysql_secure_installation que venía instalada. También tuvo la opción de crear un nuevo usuario administrativo que usa la autenticación por contraseña antes de probar la funcionalidad del servidor de MariaDB.

Ahora que dispone de un servidor de MariaDB activo y protegido, aquí se muestran algunos ejemplos de los siguientes pasos que puede completar para trabajar con el servidor:

0 Comments

Creative Commons License