Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TA ABDS8 Contenido PDF
TA ABDS8 Contenido PDF
Administradores de bases de
datos – MySQL II
IACC
1
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
APRENDIZAJE ESPERADO
El estudiante será capaz de:
IACC
2
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
IACC
3
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
INTRODUCCIÓN
El almacenamiento seguro de los datos se ha más débil dentro de los sistemas de
convertido en una de las principales áreas seguridad.
de estudio dentro del mundo de la gestión
Adicionalmente, resulta imperativo
de bases de datos. Garantizar la integridad y
determinar qué tipo de usuario deberá tener
disponibilidad de los datos resulta tan
acceso a los datos almacenados, ya que
importante como el almacenamiento de los
dicho acceso debe estar limitado a las
mismos.
actividades que cada uno de ellos ejecutará,
Al realizar la gestión de la seguridad del lo que debe estar claramente definido.
sistema de bases de datos mediante MySQL
De igual manera resulta necesario definir
existen ciertos factores que deben ser
medidas de seguridad referidas al entorno
tomados en cuenta para lograr construir un
físico donde se encuentran los servidores de
sistema de seguridad robusto.
datos, para prevenir los accesos no
Dentro de los factores que no deben ser autorizados.
ignorados está el contar con un buen
sistema para el diseño de las claves de los
usuarios, factor que ha demostrado ser el
IACC
4
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
1. POLÍTICAS DE SEGURIDAD
Las políticas de seguridad están conformadas por el conjunto de normas o directrices que
establecen la forma en la cual los datos pueden ser accedidos. Esto implica el establecimiento de
restricciones o limitaciones en cuanto a quién puede acceder a los datos y el tipo de operación que
se puede ejecutar sobre los mismos.
A pesar de la importancia que las políticas de seguridad de la información han adquirido, aún
resulta común observar cómo el número de ataques informáticos va en aumento, causando gran
perjuicio a las organizaciones.
1.1 PASSWORDS
Los passwords o claves de acceso se consideran el primer frente de protección contra las
vulnerabilidades de los sistemas computacionales, por lo que para su definición e implementación
se requiere de ciertas características que reafirman su fortaleza.
Gestión de passwords
Fuente: https://myren.net.my/password-management/
IACC
5
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
• Control histórico: Se debe implementar una política que obligue a los usuarios a no
utilizar o repetir passwords utilizados con anterioridad. De manera general no deben
reutilizarse los últimos 5 passwords definidos. Esta condición dificultad aún más
desencriptar passwords por parte de los hackers.
Descifrando contraseñas
Fuente: https://www.seguridad.unam.mx/historico/noticia/index.html-noti=1100
IACC
6
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
MySQL permite establecer la condición de expiración del password para un usuario mediante el
siguiente comando:
En este ejemplo, el tiempo de vigencia del password será definido con base en las políticas
establecidas por el DBA y se tomará como fecha para su establecimiento la fecha y hora en la cual
el password se cambió por última vez.
• Asegurase que las bases de datos se encuentran ubicadas detrás de un firewall, tanto
a nivel de hardware como de software.
• Al trabajar bajo la plataforma UNIX nunca se debe ejecutar el servidor MySQL bajo la
cuenta root o superusuario. Por el contrario, se debe crear un usuario con privilegios
para poder ejecutar el servidor MySQL.
• Utilizar los archivos de configuración de MySQL, estos contienen los parámetros bajo
los cuales se inician las operaciones de MySQL de manera automática.
• Nunca almacenar el password en la variable de entorno MYSQL_PWD, ya que en
algunos entornos particulares esta variable puede ser expuesta.
• Restringir el acceso a la tabla mysql.user. Solo las cuentas con perfil de administrador
deben poseer acceso a la misma.
IACC
7
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
2. RESPALDO DE DATOS
La utilidad de las copias de seguridad está representada por su regularidad y frecuencia. MySQL
hace posible la realización de una copia de seguridad completa mediante el uso de varias
herramientas. Por ejemplo, MySQL Enterprise Backup puede realizar una copia de seguridad física
de una instancia completa, con optimizaciones para minimizar la sobrecarga y evitar
interrupciones al realizar copias de seguridad de los archivos de datos.
Hacer un respaldo completo es necesario, pero no siempre conveniente, ya que generan grandes
archivos y consumen tiempo de procesamiento. Además no son eficientes, ya que cada copia de
seguridad completa sucesiva incluye todos los datos, incluso la parte que no ha cambiado desde la
copia de seguridad completa anterior.
IACC
8
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
Es más eficiente hacer una primera copia de seguridad completa y posteriormente hacer copias de
seguridad incrementales, las cuales son más pequeñas y tardan menos tiempo. La desventaja es
que, en el momento de la recuperación, no puede restaurar sus datos simplemente recargando la
copia de seguridad completa. También debe procesar las copias de seguridad incrementales para
recuperar los cambios incrementales.
Respaldo incremental
Fuente: https://www.fromdual.com/mysql-enterprise-backup-incremental-cumulative-and-aifferential-backup
Para hacer estas copias de seguridad incrementales con MySQL se requiere guardar los cambios
incrementales que se representan en el registro binario, por lo que el servidor MySQL siempre
debe iniciarse con la opción --log-bin para habilitar ese registro. Con el registro binario habilitado,
el servidor escribe cada cambio de datos en un archivo mientras actualiza los datos.
El servidor MySQL crea un nuevo archivo de registro binario cada vez que se inicializa, usando el
siguiente número en la secuencia. Durante su ejecución es posible indicarle al servidor MSQL que
cierre el archivo de registro binario actual y comience uno nuevo manualmente emitiendo una
instrucción SQL FLUSH LOGS o con un comando mysqladmin flush-logs. mysqldump también tiene
una opción para vaciar los registros. El archivo .index en el directorio de datos contiene la lista de
todos los registros binarios de MySQL en el directorio.
3. RECUPERACIÓN DE DATOS
MySQL dispone de un comando muy sencillo para recuperar los datos desde un respaldo de
seguridad, cuya sintaxis es la siguiente:
IACC
9
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
Para lograr una máxima optimización de las bases de datos se deben tomar en cuenta los
siguientes aspectos:
• Optimización del tamaño de los datos: Las tablas deben ser diseñadas para minimizar su
espacio en el disco. Esto puede resultar en grandes mejoras al reducir la cantidad de datos
escritos en el disco y leídos desde él. Las tablas más pequeñas normalmente requieren
menos memoria principal, mientras que su contenido se procesa activamente durante la
ejecución de la consulta. Cualquier reducción de espacio para los datos de la tabla también
da como resultado índices más pequeños que se pueden procesar más rápido.
• Optimización del tipo de datos: Definir de forma eficiente el tipo de dato a usar
contribuye a disminuir la longitud de los registros, lo que en consecuencia reduce el
espacio de almacenamiento requerido para las estructuras.
• Creación de índices: Al generar archivos índices sobre las bases de datos se incrementa
sustancialmente el tiempo de acceso a las bases de datos y se generan consultas mucho
más rápidas.
MySQL cuenta con el comando GRANT para definir los parámetros de los usuarios. La sintaxis del
comando es la siguiente:
IACC
10
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
En este caso el usuario supervisor posee todos los privilegios para todas las tablas de la base de
datos empleados.
En este caso el usuario supervisor posee todos los privilegios sobre todas las bases de datos.
De igual manera es posible asignar privilegios particulares como INSERT, UPDATE, DELETE, CREATE,
DROP y SELECT.
En este caso el usuario supervisor puede crear nuevas tablas en la base de datos empleados.
ENCRYPT(STRING, SALT)
EL parámetro string representa la cadena de caracteres a ser encriptada, mientras que el
parámetro salt debe ser una cadena de caracteres con un mínimo de dos caracteres; de no ser así,
la función retornará el valor NULL. En caso que el salt sea omitido, la función utilizará un valor de
encriptación aleatorio.
IACC
11
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
En la actualidad existe una gran variedad de plugins para MYSQL, como MYSQL Enterprise Audit,
que simplifican la realización de los procesos de auditoría a las bases de datos y es tarea del DBA
seleccionar el que mejor se adapte a las necesidades de la organización.
IACC
12
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
COMENTARIO FINAL
La seguridad de los datos almacenados es una de las tareas que más relevancia ha cobrado dentro
de las funciones desarrolladas por el DBA a través del DBMS. MySQL ofrece una serie de
herramientas y comandos para llevar a cabo dichas tareas, tanto a nivel de consola como a través
de aplicaciones con interface gráfica.
Asimismo, uno de los aspectos más importantes a considerar en relación con la seguridad de la
información está referido al papel que desempeñan los usuarios que acceden a la misma; es por
ello que es una prioridad establecer perfiles de usuarios, diferentes y adecuados a las necesidades
de cada uno de ellos, para así restringir las posibles fugas de información que pudiesen ocurrir.
IACC
13
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
REFERENCIA
Ausmark, D. (2011). MySQL Security Handbook. 10.ª edición. Editorial Apress.
de datos. Semana 8.
IACC
14
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS
IACC
15