Está en la página 1de 15

SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS


SEMANA 8

Administradores de bases de
datos – MySQL II

IACC
1
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

APRENDIZAJE ESPERADO
El estudiante será capaz de:

• Aplicar políticas de seguridad al


almacenamiento de datos, mediante el uso
del gestor de bases de datos MySQL.

IACC
2
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

APRENDIZAJE ESPERADO ................................................................................................................ 2


INTRODUCCIÓN ............................................................................................................................. 4
1. POLÍTICAS DE SEGURIDAD ...................................................................................................... 5
1.1 PASSWORDS ................................................................................................................... 5
1.2 PROTECCIÓN CONTRA HACKERS ..................................................................................... 7
2. RESPALDO DE DATOS.............................................................................................................. 8
3. RECUPERACIÓN DE DATOS ..................................................................................................... 9
4. OPTIMIZACIÓN DEL DESEMPEÑO DE LAS BASES DE DATOS ................................................... 10
5. ESTABLECER LOS PRIVILEGIOS DE LOS USUARIOS.................................................................. 10
6. ENCRIPTACIÓN CON MYSQL ................................................................................................. 11
7. AUDITORÍAS DE LAS BASES DE DATOS CON MYSQL ............................................................... 12
COMENTARIO FINAL..................................................................................................................... 13
REFERENCIA ................................................................................................................................. 14

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.

El proceso de creación de un password debe tomar en cuenta los siguientes factores:

• Longitud mínima: La clave debe contener 10 caracteres combinando letras, números y


caracteres especiales como el símbolo de asterisco, porcentaje o numeral. Mientras
más caracteres contenga un password será más difícil de descifrar, sobre todo
mediante el uso de algoritmos ejecutados de forma automática para tal fin.

• Composición: Como regla general un password no debe contener información de


dominio público como nombres o fechas de nacimiento. Asimismo, no deben utilizarse
frases o palabras simples y de uso general como miclave o 123456. Este nivel de
simplicidad en la composición es en una puerta abierta para los ataques informáticos.

Gestión de passwords
Fuente: https://myren.net.my/password-management/

IACC
5
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

• Almacenamiento del password: Una vez corroborado el paso anterior y asegurada la


robustez del password es necesario memorizarlo. Un password nunca debe ser
almacenado de forma física, mucho menos en conjunto con la identificación del
usuario. Tampoco debe permitirse que ciertas aplicaciones guarden el password así
como el identificador del usuario; como en el caso, por ejemplo, de las plataformas de
correo electrónico.

• 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

• Compartir el password: Los usuarios deben ser instruidos acerca de la privacidad de


los passwords, siendo necesario que comprendan que su utilización conlleva a una
serie de responsabilidades que únicamente recaen sobre el usuario legal del mismo.

• Transferencia electrónica: Los passwords no deben ser transmitidos bajo ninguna


circunstancia por medios electrónicos, ya que estos pueden ser interceptados y los
passwords comprometidos.

IACC
6
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

MySQL toma en consideración todas las restricciones anteriormente descritas y adicionalmente


ofrece a los administradores de bases de datos la posibilidad de establecer tiempos de validez
para los passwords establecidos por los usuarios. De esta manera, se garantiza una rotación
constante, lo que hace más complicado que una persona ajena a la organización pueda
adivinarlos.

Una vez creado el usuario utilizando la siguiente sintaxis:

CREATE USER user_account IDENTIFIED BY password;

Ejemplo: CREATE USER supervisor IDENTIFIED BY ‘plo123*’;

MySQL permite establecer la condición de expiración del password para un usuario mediante el
siguiente comando:

ALTER USER 'supervisor' PASSWORD EXPIRE;

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.

1.2 PROTECCIÓN CONTRA HACKERS


La protección contra hackers no es una actividad exclusiva del DMBS; por el contrario, esta se
debe combinar con el uso de buenas prácticas. De manera generalizada se recomiendan las
siguientes acciones:

• 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

• Actualizar la versión de MySQL a la última disponible, las cuales incluyen mejoras


como la eliminación de las cuentas de usuarios anónimas y las bases de datos de
prueba.

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.

MySQL Enterprise Backup


Fuente: https://www.mysql.com/products/enterprise/backup.html

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:

Mysqldump –u “usuario” –p “contraseña” <nombre de la base de datos> < nombre del


respaldo.sql>;

Ejemplo: mysqldumpo –u supervisor –p 1536c* finanzas financiero.sql;

IACC
9
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

4. OPTIMIZACIÓN DEL DESEMPEÑO DE LAS BASES DE DATOS


La optimización de la base de datos implica maximizar la velocidad y la eficiencia con la que se
recuperan los datos. Los diseñadores, administradores y analistas de bases de datos trabajan
juntos para optimizar el rendimiento del sistema, buscando mejorar los métodos de acceso a los
datos de sus servidores y los tiempos de recuperación a través de técnicas de diseño, análisis
estadístico y monitoreo del tráfico del sistema. Además, la construcción de consultas también
puede producir resultados más rápidos.

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.

5. ESTABLECER LOS PRIVILEGIOS DE LOS USUARIOS


Al momento de crear los privilegios con los cuales contará un usuario se debe tomar en
consideración que estos solo deben ejecutar las operaciones que sean imprescindibles para el
desempeño de sus actividades, evitando garantizar privilegios excesivos, ya que esto
generalmente conlleva a la ocurrencia de violaciones a la seguridad de la información.

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

GRANT ALL PRIVILEGES ON NOMBRE DE LA BASE DE


DATOS.NOMBRE DE LA TABLA TO USUARIO
El comando GRANT acepta diferentes parámetros como se muestra en los siguientes ejemplos:

Ejemplo1: GRANT ALL PRIVILEGES ON Empleados.* TO supervisor;

En este caso el usuario supervisor posee todos los privilegios para todas las tablas de la base de
datos empleados.

Ejemplo2: GRANT ALL PRIVILEGES ON *.* TO supervisor;

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.

Ejemplo3: GRANT CREATE ON Empleados TO supervisor;

En este caso el usuario supervisor puede crear nuevas tablas en la base de datos empleados.

6. ENCRIPTACIÓN CON MYSQL


La encriptación es el procedimiento mediante el cual una cadena de caracteres es convertida a un
formato de datos binarios que resulta muy difícil de entender. La función de encriptación de
MySQL tiene la siguiente sintaxis:

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

7. AUDITORÍAS DE LAS BASES DE DATOS CON MYSQL


Auditar las bases de datos consiste en monitorear las acciones ejecutadas por los usuarios sobre
las mismas. Las auditorías no protegen la base de datos cuando los privilegios de los usuarios no
son configurados correctamente, pero puede ayudar al administrador a detectar errores. Sin
embargo, son necesarias para la seguridad ya que se puede rastrear el acceso a los datos y recibir
alertas de actividades sospechosas. Se requieren de estas auditorías para garantizar la integridad
de los datos y afirmar que los cambios realizados son correctos y legales.

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.

Dentro de estas restricciones, el establecimiento de passwords robustos y una política eficiente


para su control y gestión son el primer paso dentro de un esquema de seguridad eficiente.

Toda información transmitida por medios electrónicos debe ser


encriptada con el objetivo de protegera y así dificultar las actividades de
quienes pretender acceder a ella de forma ilegal.

IACC
13
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

REFERENCIA
Ausmark, D. (2011). MySQL Security Handbook. 10.ª edición. Editorial Apress.

Shuwartz, B. (2009). MySQL avanzado. Grupo Araya Comercial.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2019). Administradores de bases de datos-MySQL II. Administración de Base

de datos. Semana 8.

IACC
14
SEMANA 8 – ADMINISTRACIÓN DE BASE DE DATOS

IACC
15

También podría gustarte