0% encontró este documento útil (0 votos)
5 vistas23 páginas

Act. 7 MilJimenezCarlosAlberto

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 23

1


REPORTE DE
PRÁCTICA
integrantes:
• Mil Jiménez Carlos Alberto
• Ovando Arcos Angie Michelle
• Rodríguez Campos Rodrigo Irán
• Mosqueda Gómez Jesús Alexander
• Sánchez Córdova Yaditzy Arisbeth
Profesor:
Villanueva Guzmán Jorge Cein
Carrera:
Ing. En Sistemas Computacionales
Fecha de entrega:
19 de octubre del 2024
2

INDICE
INTRODUCCIÓN .......................................................................................... 3
MARCO TEÓRICO ...................................................................................... 4
CONCEPTOS CLAVE ............................................................................... 10
INSTALACIÓN DE MARIADB ................................................................. 12
CONFIGURACIÓN DE SEGURIDAD DE MARIADB ............................ 14
CONFIGURACIÓN DEL FIREWALL....................................................... 16
ACCESO AL SERVIDOR MARIADB ...................................................... 16
CONFIGURACIÓN DEL ACCESO REMOTO ........................................ 17
CREAR UN USUARIO EN MARIADB .................................................... 18
COMPUTADORAS USADAS ................................................................... 21
CONCLUSIÓN ............................................................................................ 22
BIBLIOGRAFÍA .......................................................................................... 23
3

El uso de bases de datos relacionales es esencial para el manejo eficiente de grandes


volúmenes de información en sistemas de gestión y aplicaciones empresariales.
MariaDB, un sistema de gestión de bases de datos derivado de MySQL, ha ganado
popularidad debido a su rendimiento, escalabilidad y características de seguridad.
En este contexto, Rocky Linux surge como una distribución de Linux de nivel
empresarial, ideal para implementaciones de servidores debido a su estabilidad y
soporte a largo plazo.

La implementación de MariaDB en Rocky Linux, como equipo, nos permitió


familiarizarnos con la administración de bases de datos relacionales en un entorno
empresarial robusto. Durante el proceso, abordamos no solo la instalación básica,
sino también los aspectos críticos de la configuración de seguridad, tales como la
protección de accesos y la gestión de usuarios. Cada paso fue ejecutado siguiendo
las mejores prácticas para garantizar la integridad y seguridad de los datos,
asegurando que el sistema estuviera preparado para su uso en un entorno
productivo.

Además, logramos habilitar el acceso remoto de manera segura, permitiendo una


administración más flexible y eficiente de la base de datos. Esta experiencia conjunta
nos ayudó a comprender mejor cómo los sistemas de gestión de bases de datos
como MariaDB, junto con plataformas sólidas como Rocky Linux, pueden integrarse
para ofrecer soluciones escalables y seguras para el manejo de grandes volúmenes
de información en entornos empresariales.
4

• Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Un Sistema de Gestión de Bases de Datos (SGBD) es un software diseñado para


facilitar la creación, administración y manipulación de bases de datos. Su objetivo
principal es proporcionar una interfaz entre los datos almacenados y los usuarios o
aplicaciones que los utilizan, garantizando que las operaciones sobre los datos se
realicen de manera eficiente, segura y consistente.

Los SGBD permiten a los usuarios realizar operaciones como la inserción,


actualización, eliminación y recuperación de datos sin necesidad de conocer los
detalles técnicos de cómo se almacenan esos datos físicamente. Algunas de las
funciones clave de un SGBD incluyen:

Gestión de datos: Organiza los datos en estructuras como tablas, índices, y


relaciones que pueden ser fácilmente manipuladas y gestionadas.

Acceso concurrente: Permite que múltiples usuarios o aplicaciones accedan a los


datos simultáneamente sin que se produzcan conflictos.

Seguridad: Protege los datos frente a accesos no autorizados mediante


autenticación y asignación de permisos.

Integridad de los datos: Garantiza la exactitud y consistencia de los datos a lo largo


del tiempo, utilizando restricciones, claves primarias y foráneas, y otros mecanismos.

Recuperación ante fallos: Proporciona mecanismos para restaurar los datos en caso
de que se produzca un error o fallo, mediante copias de seguridad y estrategias de
recuperación.

Algunos ejemplos comunes de SGBD incluyen MySQL, MariaDB, PostgreSQL y


Microsoft SQL Server. Estos sistemas son esenciales en aplicaciones que requieren
gestionar grandes volúmenes de información, como los sitios web, las plataformas
de comercio electrónico y los sistemas de información empresarial.
5

• Roles y Privilegios en MariaDB

En MariaDB, los roles y privilegios son mecanismos clave para controlar el acceso y
la seguridad de los datos almacenados. Estos conceptos permiten definir qué
operaciones puede realizar un usuario o grupo de usuarios dentro del sistema de
bases de datos, asegurando que solo las personas autorizadas puedan llevar a cabo
acciones específicas.

Roles en MariaDB

Un rol en MariaDB es un conjunto predefinido de privilegios que puede asignarse a


uno o varios usuarios. Los roles facilitan la gestión de permisos al agrupar privilegios
comunes en un solo rol, de modo que estos puedan asignarse a varios usuarios sin
necesidad de configurar cada uno individualmente. Por ejemplo, en un sistema de
bases de datos empresarial, podrían crearse roles como:

Administrador: Con todos los privilegios para gestionar bases de datos, usuarios y
permisos.

Desarrollador: Con privilegios para crear y modificar tablas y vistas, pero sin acceso
a la configuración del servidor.

Usuario de consultas: Con privilegios solo para consultar datos sin posibilidad de
modificar las tablas.

Para crear y asignar roles en MariaDB, se utilizan comandos como CREATE ROLE y
GRANT ROLE. Una vez que un rol ha sido asignado a un usuario, este heredará los
privilegios asociados al rol.

Privilegios en MariaDB

Los privilegios son permisos específicos que definen qué operaciones puede realizar
un usuario sobre una base de datos o una parte específica de ella. MariaDB ofrece
varios tipos de privilegios, que pueden aplicarse a diferentes niveles (global, base de
datos, tabla, columna):

Privilegios globales: Aplican a todo el servidor de bases de datos y permiten


operaciones administrativas como crear o eliminar bases de datos, gestionar
usuarios, realizar copias de seguridad, entre otros.

Ejemplo: GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost';


6

Privilegios a nivel de base de datos: Se aplican a todas las tablas dentro de una base
de datos específica, permitiendo controlar quién puede leer, modificar o gestionar
los datos de esa base.

Ejemplo: GRANT SELECT, INSERT, UPDATE ON database_name.* TO


'usuario'@'localhost';

Privilegios a nivel de tabla o columna: Permiten un control más fino sobre quién
puede acceder a partes específicas de una base de datos o tabla.

Ejemplo: GRANT SELECT ON database_name.table_name TO 'usuario'@'localhost';

Instalación de MariaDB en Rocky Linux

La instalación de un servidor de bases de datos MariaDB en Rocky Linux es un


proceso sencillo que implica el uso del gestor de paquetes dnf. Una vez instalado, es
necesario habilitar el servicio para que se inicie automáticamente con el sistema
utilizando systemctl. Este paso es esencial en ambientes productivos donde la
disponibilidad del servicio de base de datos es crucial.

Configuración de Seguridad Inicial

Después de la instalación, MariaDB requiere una configuración inicial para asegurar


su funcionamiento. El script mysql_secure_installation permite configurar elementos
de seguridad críticos, como establecer una contraseña para el usuario root, eliminar
usuarios anónimos y desactivar el acceso remoto para el usuario root. Estos pasos
son fundamentales para reducir las vulnerabilidades del servidor de base de datos.

Acceso Remoto y Configuración del Firewall

Una parte clave de la configuración del servidor MariaDB es permitir el acceso


remoto de manera segura. Esto se logra modificando el archivo de configuración
para permitir que MariaDB acepte conexiones desde otras direcciones IP, cambiando
el valor de bind-address a 0.0.0.0. Además, es necesario configurar el firewall para
permitir el tráfico en el puerto 3306, lo cual garantiza que los clientes remotos
puedan conectarse al servidor.
7

Creación de Usuarios y Privilegios

Para gestionar la base de datos de forma segura, es recomendable crear usuarios


con los privilegios necesarios. MariaDB permite la creación de usuarios con
diferentes niveles de permisos mediante el comando CREATE USER. Además, el
comando GRANT ALL PRIVILEGES asigna los permisos necesarios para gestionar las
bases de datos. Finalmente, el comando FLUSH PRIVILEGES asegura que los cambios
se apliquen inmediatamente.

1. Instalación de MariaDB en Rocky Linux en comandos

La instalación del servidor de bases de datos MariaDB en Rocky Linux se realiza


mediante el gestor de paquetes `dnf`, lo que simplifica el proceso
considerablemente. Para ello, se debe ejecutar el comando:

bash
dnf install mariadb-server

Una vez completada la instalación, es esencial habilitar el servicio para que se inicie
automáticamente con el sistema, garantizando así su disponibilidad en cada
arranque. Esto se logra utilizando `systemctl`:

bash
systemctl enable mariadb
systemctl start mariadb

Este paso es crucial en ambientes productivos, ya que asegura que la base de datos
esté siempre disponible después de cualquier reinicio del sistema.

2. Configuración Inicial de Seguridad

Una vez que MariaDB está en funcionamiento, es necesario realizar una


configuración inicial para mejorar su seguridad. Esto se puede lograr ejecutando el
script `mysql_secure_installation`, que permite ajustar una serie de parámetros
importantes:

- Contraseña del usuario root: Se recomienda establecer una contraseña segura


para el usuario root.
8

- Eliminar usuarios anónimos: Esto reduce el riesgo de accesos no autorizados.

- Deshabilitar el acceso remoto para root: Por defecto, el acceso remoto para el
usuario root está deshabilitado por razones de seguridad.

- Eliminar la base de datos de prueba: MariaDB incluye una base de datos de prueba
que debe eliminarse antes de mover el servidor a producción.

Este script te guiará a través de estas configuraciones con preguntas interactivas. Un


ejemplo de los comandos es:

bash
mysql_secure_installation

3. Configuración de Acceso Remoto y Firewall

Para permitir el acceso remoto a MariaDB de manera segura, se deben modificar


algunos parámetros de configuración. Es necesario editar el archivo
`/etc/my.cnf.d/mariadb-server.cnf` y cambiar la línea correspondiente a `bind-
address` para que acepte conexiones externas:

bash
vi /etc/my.cnf.d/mariadb-server.cnf

Dentro de este archivo, asegúrate de que la línea `bind-address` esté configurada de


la siguiente manera:

bash
bind-address = 0.0.0.0

Además, se debe configurar el firewall para permitir el tráfico en el puerto 3306, que
es el puerto predeterminado para MariaDB. Los siguientes comandos añaden una
regla de firewall permanente y recargan las reglas:

bash
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd –reload
9

4. Creación de Usuarios y Gestión de Privilegios

Es una buena práctica crear usuarios específicos para cada aplicación o función que
interactúe con la base de datos, en lugar de utilizar el usuario root. Para ello, MariaDB
permite la creación de usuarios con diferentes niveles de privilegios mediante el
comando `CREATE USER`.

Por ejemplo:

sql
CREATE USER 'admin'@'%' IDENTIFIED BY 'password';

Para asignar privilegios a este usuario sobre una base de datos específica, se utiliza
el comando `GRANT`:

sql
GRANT ALL PRIVILEGES ON database_name.* TO 'admin'@'%';

Después de realizar cualquier cambio en los privilegios, es necesario aplicar los


cambios ejecutando el comando `FLUSH PRIVILEGES`:

sql
FLUSH PRIVILEGES;

Con estos pasos, se completa la instalación y configuración inicial de MariaDB en


Rocky Linux, incluyendo la seguridad básica y el acceso remoto. Es importante seguir
estas prácticas para mantener el sistema seguro y bien administrado.
10

MariaDB: Es un sistema de gestión de bases de datos relacional que fue desarrollado


como un fork de MySQL. Es compatible con MySQL y se utiliza para almacenar y
gestionar grandes cantidades de datos de manera estructurada.

Rocky Linux: Una distribución de Linux basada en el código fuente de Red Hat
Enterprise Linux (RHEL). Está diseñada para ofrecer un sistema operativo empresarial
estable y seguro.

dnf: Es el gestor de paquetes predeterminado en Rocky Linux, utilizado para instalar,


actualizar y gestionar paquetes de software.

systemctl: Es una herramienta de administración de sistemas que controla el estado


de los servicios en sistemas Linux, permitiendo iniciar, detener y habilitar servicios
para que se inicien automáticamente al arranque del sistema.

mysql_secure_installation: Es un script que asegura una instalación de MariaDB,


permitiendo al usuario configurar opciones de seguridad básicas, como establecer
una contraseña para el usuario root y eliminar bases de datos de prueba.

Firewall: Es una herramienta de seguridad de red que controla el tráfico entrante y


saliente según reglas predefinidas. En este contexto, se utiliza para permitir el acceso
al puerto 3306, el puerto por defecto de MariaDB.

Acceso remoto: La capacidad de acceder a una base de datos desde una máquina
diferente a aquella en la que se está ejecutando el servidor de bases de datos.

Contraseña de root (MariaDB): Contraseña para el usuario administrador de


MariaDB. Es fundamental establecer una contraseña segura para proteger el acceso
a la base de datos.

Usuarios anónimos (MariaDB): Cuentas de usuario en MariaDB que no requieren


autenticación. Es una práctica insegura y, por tanto, deben eliminarse.

bind-address: Parámetro en el archivo de configuración de MariaDB que especifica


en qué direcciones IP aceptará conexiones. Cambiarlo a 0.0.0.0 permite que MariaDB
acepte conexiones desde cualquier dirección IP.

Puerto 3306: El puerto por defecto que utiliza MariaDB para aceptar conexiones.
Debe estar habilitado en el firewall si se desea permitir conexiones remotas.
11

CREATE USER: Comando SQL que permite la creación de usuarios en MariaDB con
diferentes niveles de acceso.

GRANT ALL PRIVILEGES: Comando SQL que otorga todos los privilegios necesarios
a un usuario sobre una base de datos específica.

FLUSH PRIVILEGES: Comando SQL que se usa para recargar las tablas de privilegios
y aplicar los cambios realizados en los permisos de los usuarios.

/etc/my.cnf.d/mariadb-server.cnf: Archivo de configuración principal de MariaDB


en Rocky Linux. Aquí se modifican parámetros clave como el bind-address.
12

Instalar el servidor MariaDB: Abre la máquina virtual y ejecuta el siguiente


comando para instalar MariaDB:

dnf install mariadb-server

Poner y, para descargar todos los paquetes


13

Este comando utiliza dnf, el gestor de paquetes de Rocky Linux, para descargar e
instalar el paquete del servidor MariaDB.

Habilitar el servidor para que inicie automáticamente: Una vez que se complete
la instalación, debes habilitar MariaDB para que se inicie automáticamente con el
sistema:

systemctl enable mariadb

Iniciar el servidor MariaDB: Ahora, inicia el servicio de MariaDB:

systemctl start mariadb


14

Ejecutar el script de seguridad: Para asegurar tu instalación de MariaDB, utiliza el


siguiente comando:
mysql_secure_installation

Proporcionar la contraseña actual de root: Cuando se te pregunte:


Enter current password for root (enter for none):

Como es una instalación nueva, simplemente presiona Enter para continuar.

Configurar la autenticación: Si aparece el mensaje:

Switch to unix_socket authentication Y/n

Presiona n (no) para no usar la autenticación de socket Unix.

Establecer una contraseña para el usuario root: Se te pedirá establecer una


contraseña para el usuario root:

Set root password? [Y/n] o Change the root password [Y/N]


15

Eliminar usuarios anónimos: Para eliminar usuarios anónimos, responde Y (sí) a la


siguiente pregunta:

Remove anonymous users? [Y/n]

Deshabilitar el acceso remoto para el usuario root: Para mayor seguridad, el


usuario "root" debe tener acceso local. Responde Y (sí) a la siguiente pregunta:

Disallow root login remotely? [Y/n]

Eliminar la base de datos de prueba: Responde Y (sí) a la siguiente pregunta sobre


eliminar la base de datos de prueba:

Remove test database and access to it? [Y/n]

Recargar los privilegios: Finalmente, se te preguntará si deseas recargar los


privilegios. Simplemente presiona Enter para aceptar el valor predeterminado.

Reload privilege tables now? [Y/n]


16

Agregar el puerto 3306 al firewall: Para permitir el acceso a MariaDB, debes abrir
el puerto 3306 (que es el puerto por defecto de MariaDB):

firewall-cmd --permanent --add-port=3306/tcp

Recargar las reglas del firewall: Luego, aplica los cambios:

firewall-cmd --reload

Acceder a MariaDB: Para conectarte a MariaDB como usuario root, usa el siguiente
comando:

mariadb -u root -p

Se te pedirá que ingreses la contraseña que estableciste anteriormente.


17

Modificar el archivo de configuración: Abre el archivo de configuración de MariaDB


con un editor de texto, como vi:

vi /etc/my.cnf.d/mariadb-server.cnf

Descomentar la línea de bind-address: Busca la línea que dice:

#bind-address=127.0.0.1

Cambia esta línea a:

bind-address=0.0.0.0
Esto permitirá que MariaDB escuche conexiones desde todas las direcciones IP.
18

Crear un usuario administrador para acceso remoto: Accede a la consola de


MariaDB y ejecuta los siguientes comandos para crear un usuario que pueda
conectarse de forma remota:

CREATE USER 'admin12'@'%' IDENTIFIED BY '1234';

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

Podemos ver los privilegios de nuestro usuario con

SHOW GRANTS FOR ‘admin12’@’%’;

Ahora podemos pasar a nuestro gestor de base de datos favorito (en nuestro caso
es navicad) y crear una nueva conexión con los datos de nuestro usuario.

Aquí podemos poner el nombre


de nuestra nueva conexión

Aquí ponemos la ip que venimos


configurando en toda nuestra
máquina virtual

Puerto por defecto


de mariadb

Usuario que se creó en maríadb y al que se le


otorgaron los privilegios

Contraseña que le otorgo al usuario creado


19

Con esto podemos ver que


nuestras conexiones son las
optimas

Verificamos si hay conexión a


nuestra base de datos que
creamos en MariaDB dentro de
nuestra máquina virtual

Y con esto podemos dar por finalizada nuestra practica demostrando nuestras
conexiones funcionado.

Podemos verificar las conexiones en otra computadora, ten en cuenta que deben de
estar conectada a la misma red
20

Ahora podemos navegar dentro de nuestro usuario que creamos


21
22

Como equipo, logramos completar la instalación y configuración de MariaDB en


Rocky Linux, lo que nos permitió profundizar en el proceso de administración de
bases de datos y la importancia de seguir buenas prácticas de seguridad.

Durante la práctica, cada uno de nosotros contribuyó en diferentes etapas, desde la


instalación básica hasta la configuración de usuarios y la habilitación del acceso
remoto, asegurando que el servidor estuviera correctamente protegido y optimizado
para su funcionamiento.

Esta práctica también nos hizo conscientes de las posibles vulnerabilidades y nos
permitió aplicar soluciones para mitigar riesgos, garantizando la integridad y
eficiencia del sistema. La colaboración entre nosotros fue clave para asegurar que el
proceso fluyera sin problemas, lo que reforzó tanto nuestras habilidades técnicas
como nuestro trabajo en equipo.
23

Daniel. (2017, June 3). ᐈ Cómo crear un usuario en MySQL/MariaDB y

concederle permisos para una base de datos desde la línea de comandos.

daniloaz.com. https://www.daniloaz.com/es/como-crear-un-usuario-en-

mysql-mariadb-y-concederle-permisos-para-una-base-de-datos-desde-la-

linea-de-comandos/

Blanco, J. (n.d.). Crear usuario y base de datos en MariaDB o MySQL.

Joseblanco.pro. Retrieved October 19, 2024, from

https://joseblanco.pro/crear-usuario-y-base-de-datos-en-mariadb-o-mysql/

También podría gustarte