¡Hola, bienvenid@s al curso de MySQL 8! Continuando con el curso de MySQL 8 Desde Cero, hoy veremos lo que es la seguridad de una base de datos en MySQL.
Lo primero que debe tomarse en cuenta cuando se crea y/o administra una base de datos es el acceso a la información. Es fundamental tener un estricto control sobre quiénes pueden acceder y quiénes deben tener restricciones a la información. Es necesario implementar medidas de seguridad para garantizar la integridad y la correcta accesibilidad a la información.
¡Empecemos!
Seguridad de base de datos
Cuando se implementan sistemas de software, en muchas ocasiones se comete el error de no configurar los usuarios y permisos de las bases de datos en los distintos SGBD como MySQL, PostgreSQL, SQL Server, sino que se deja por defecto las configuraciones de usuario y contraseña que viene desde su instalación; este es un grave error de seguridad ya que se deja expuesta la base de datos del sistema.
Imagínate lo que podría pasar si una persona ajena accede a toda la información de una institución. El acceso no autorizado podría permitir que esta persona copie, utilice o incluso manipule los datos con fines de lucro personal o para perjudicar a la empresa.
Sin embargo, podemos evitar estas situaciones indeseables mediante la implementación de medidas de seguridad adecuadas para proteger nuestra base de datos. Al aplicar estas medidas, podremos salvaguardar la integridad y confidencialidad de la información, asegurando así que nuestros datos estén a salvo de cualquier amenaza externa.
Medidas de seguridad de una base de datos
Existen diversas medidas de seguridad que se pueden implementar para proteger una base de datos. A continuación, te presento una lista de algunas de las medidas más importantes y más utilizadas:
- Autenticación y autorización, implementar un sistema robusto de autenticación para asegurarse de que solo los usuarios autorizados tengan acceso a la base de datos. Asignar roles y permisos adecuados para limitar el acceso a la información según la necesidad del usuario.
- Encriptación, utilizar técnicas de encriptación para proteger los datos almacenados. La encriptación asegura que los datos sólo sean legibles para aquellos que tengan la llave de encriptación.
- Contraseñas seguras, establecer políticas de contraseñas sólidas y requerir cambios periódicos de las mismas.
- Respaldos de los datos de forma periódica, realizar copias de seguridad periódicas de la base de datos y almacenarlas de manera segura para poder recuperar los datos en caso de una falla o ataque.
- Capacitación del personal, Concientizar al personal sobre las mejores prácticas de seguridad y cómo reconocer posibles amenazas de seguridad.
- Seguridad física, Asegurarse de que los servidores y equipos que alojan la base de datos estén protegidos en lugares físicos contra el acceso no autorizado del personal o personal externo.
Medidas de seguridad que aplica MySQL
MySQL ofrece varias medidas de seguridad para proteger los datos almacenados y el acceso al mismo. A continuación, se presentan algunas de las medidas de seguridad que MySQL proporciona:
- Autenticación y autorización, MySQL permite varios métodos de autenticación, como contraseñas encriptadas, autenticación basada en complementos y autenticación de Windows.
- Privilegios de usuario, MySQL permite controlar los privilegios de usuario y restringir el acceso a ciertas bases de datos o tablas mediante el uso de permisos y roles.
- Encriptación de datos, MySQL permite encriptar los datos en tránsito mediante SSL/TLS, lo que protege las comunicaciones entre el cliente y el servidor.
- Auditoría y registros de actividad, MySQL ofrece opciones para habilitar la auditoría y el registro de actividades, lo que permite realizar un seguimiento de los eventos y actividades en la base de datos.
- Acceso seguro a la base de datos, MySQL permite configurar conexiones seguras mediante el uso de protocolos de seguridad como SSH para establecer túneles seguros a través de redes no confiables.
- Gestión de contraseñas, MySQL permite implementar políticas de contraseñas sólidas y configurar medidas para prevenir ataques de fuerza bruta.
Implementar estas medidas ayudará a fortalecer la seguridad de tu base de datos MySQL y reducir el riesgo de exposición a amenazas y ataques cibernéticos. Recuerda que la seguridad es un proceso continuo, por lo que es importante revisar y actualizar regularmente tus medidas de seguridad para mantener protegida tu base de datos.
En la siguiente clase veremos configuración de Roles y Permisos en phpMyadmin.
¡Te espero en la siguiente clase!
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.