Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Index Terms— Authentication, Access Control, Authorization, II. AUTENTICACIÓN EN BASES DE DATOS
Encryption, Encryption, denial of service, code injection, audit,
update, database administrators. Como mucho de los sistemas actuales, las bases de datos nos
son exentas de manejar un sistema de autenticación para
permitir el ingreso de usuarios a los datos que el SGBD
I. INTRODUCIÓN contiene. Tanto, motores de bases de datos convencionales
denominados SQL, como los que llevan años en el mercado,
pero en la actualidad empiezan a tomar auge e importancia
A L igual que cualquier otro sistema de información, las
bases de datos no están exentas de sufrir problemas de
funcionamiento, malas programaciones, pésimas
como los NO-SQL. Sin embargo, la seguridad es
completamente transversal a todos los sistemas y todos o
configuraciones o errores conocidos. Más aun, no son ninguno por mejor decirlo tiene un 100% de seguridad. Y tal
completamente infalibles a los problemas de seguridad que las vez una de las brechas más apetecibles por los atacantes sea la
mismas puedan presentar en los desarrollos informáticos del sistema de autenticación.
2
La autenticación basada en contraseña es probablemente sistema, tendrá disponibles ciertas funciones, y otras no,
una de las funciones más importantes que se usan todos los días, dependiendo de la definición que hayamos hecho. Por ejemplo,
sin embargo, no se ha evolucionado mucho desde los primeros un usuario de tipo A puede leer los archivos de información de
sistemas informáticos de usuarios múltiples, incluso cuando se clientes, pero no podrá actualizarlos. Un usuario de tipo B podrá
desarrollan métodos más seguros. Los esquemas de hacer esas actualizaciones. Los mecanismos de autenticación
autenticación débiles permiten a los atacantes asumir la compleja dependen de que un usuario proporcione información
identidad de los usuarios de bases de datos legítimos. que sólo él sepa y de que un dato personal se pueda verificar.
Estrategias de ataque específicas incluyen ataques de fuerza Un nombre de usuario es un ejemplo de información que la
bruta, la ingeniería social, y así sucesivamente. persona sabe.
La implementación de contraseñas o autenticación de dos Algunos métodos de autenticación lógicos que se tienen en
factores es una necesidad. Para la escalabilidad y facilidad de las diferentes bases de datos pueden ser:
uso, los mecanismos de autenticación deben integrarse con las
infraestructuras del directorio / gestión de usuarios de la Kerberos: Sistema de seguridad para sistemas distribuidos
empresa y seguridad web. [1] sobre una red pública.
Ident: Método de autenticación mediante usuario de sistema
De esta manera, en este problema que aqueja a las bases de operativo, se basa en el protocolo RCF 1413.
datos, existen dos tipos de autenticación, la lógica (usuario y PAM: método de autenticación que hace uso de los módulos
contraseña) e identificación por Hardware. PAM con el objetivo de conseguir la autenticación.
RPC seguro: un mecanismo de autenticación que utiliza el
A. Mecanismos de autenticación lógicos protocolo de Diffie-Hellman para proteger los montajes NFS
y un servicio de nombres, como NIS o NIS+.
Autenticación sencilla y capa de seguridad (SASL): una
Las claves de acceso, que se utilizan de manera general para los
estructura que proporciona servicios de autenticación y
SGBD deben otorgárseles características especiales, para evitar
seguridad para protocolos de red.
que se convierta en un problema al permitir contraseñas o claves
de usuario demasiado sencillas. Hoy en día no es raro Secure Shell: un protocolo de inicio de sesión remoto seguro
encontrarnos pares de datos “usuario/password” del tipo y transferencia que cifra comunicaciones en una red no
“admin/12345” o similar. Esta es la primera línea de defensa de segura.
entrada a nuestra información y debemos optar por el uso de
algo más complejo que sea complicado de conseguir por parte Para que este problema sea más mitigable en las
de cualquier atacante. organizaciones, las bases de datos deben respaldarse por
políticas y procedimientos dentro de las organizaciones, que no
Algunos sistemas muestran asteriscos al momento del permitan las contraseñas simples o fáciles al definir sus
ingreso de una clave (********) y otros simplemente no atributos, además de la segregación de permisos dependiendo
muestran nada, para ni siquiera dar la evidencia de cuántos del tipo de usuario o rol que este tenga, entre estos podemos
dígitos tiene esa clave. Otras características que hacen a las encontrar algunos tales como:
claves un buen control, y que no sea un problema es:
El forzar un tamaño en dígitos mínimo. ID de Autorización: Se controla el acceso a los datos mediante
la utilización de identificadores para representar cada proceso
Obligar mezclas de números y letras (no sólo números o
o inicio de sesión den DB2.
sólo letras)
Privilegios y autorizaciones ID de autorización: Control por
Prohibir el uso de datos personales, como nombre apellido
medio de conjunto de privilegios <<acción sobre un objeto>>
o fecha de cumpleaños como clave.
Control Subsistemas DB2: Comprobaciones de seguridad
Obligar un tiempo mínimo de uso de clave para no volver a
antes de acceder a cualquier dato del sistema o subsistema.
la anterior luego de haberla cambiado.
Control de Acceso a objetos mediante autorizaciones y
Otro de los problemas que se presentan con relación a los privilegios explícitos: Permite la segregación de privilegios a
usuarios es la definición de los privilegios que se concederán a niveles más profundos, no solo de esquema, base de datos o
los usuarios después de garantizar una autenticación de acceso tabla sino mucho más interiorizado.
a los servicios de SGBD. Algunos motores de base de datos Control de acceso a nivel de fila y/o Columna: Se controla el
cuentan con un segundo mecanismo de “autorización” con el acceso a nivel de fila y columna para restringir el acceso a
cual se le conceden permisos para realizar cambios a nivel de ciertos tipos de información que exigen seguridad adicional.
un objeto de la Base de datos para que tengan permisos de Seguridad a Varios Niveles: Política de seguridad que
escribir sentencias como SELECT, GRANT Y REVOKE, y clasifica los datos y usuarios según sistema de seguridad
tener los privilegios adecuados para dichos cambios. jerárquicos.
Utilización de vistas para control de acceso: Se pueden
A estos usuarios se le pueden conceder autorización para otorgar permisos a nivel de Vista para conceder privilegios
visualizar los datos de un subconjunto de columnas definidas sobre esta y proporcionar a un ID de Autorización el acceso a
en “una vista” las cuales proporcionan variedad de los controles un subconjunto específico de datos.
de seguridad Una vez que un usuario ha tenido acceso al
3
A. Cifrado de Conexiones
Las vulnerabilidades en los protocolos de bases de datos Es importante verificar que la información que se tiene en la
pueden permitir el acceso no autorizado a datos, la corrupción base de datos, si es de vital importancia esté cifrada, en relación
o la disponibilidad. Por ejemplo, SQL Slammer worm se a la importancia de estos datos. Es muy posible que cierta
aprovechó de una vulnerabilidad de protocolo de Microsoft información pueda caer en manos de las personas equivocadas
SQL Server para ejecutar código de ataque en los servidores de porque les fue posible superar nuestra seguridad o encontraron
base de datos destino. un problema en nuestra seguridad que supieron explotar. Sin
embargo, si esta información se encuentra encriptada o cifrada,
Los protocolos de ataques pueden ser derrotados mediante el les será muy difícil a los atacantes obtener los datos reales, ya
análisis y validación de las comunicaciones de SQL para que primero deben lograr descifrar la información que
5
obtuvieron. Así que uno de los problemas que afrontan muchas paquetes o módulos adicionales de distintas formas y tamaños
veces es la encriptación de la información, por no poseer un que en muy pocas ocasiones todos ellos son utilizadas por las
sistema que logre encriptar los datos importantes para la compañías, lo que las convierten en una posible puerta de
compañía y que eviten que en caso de pérdida, estos sean muy entrada para sufrir algún tipo de ataque si en esos paquetes se
difíciles o imposibles de acceder. Entre algunos de estos descubre cualquier problema de seguridad. Para reducir riesgos,
métodos de encriptación de datos podemos contar con: es recomendable que los usuarios detecten esos paquetes que no
se utilizan y se desactiven del servidor donde estén instalados.
Cifrado sobre objetos: algunos SGBD permiten realizar una Esto no sólo reduce los riesgos de ataques, sino que también
segregación más a fondo sobre tablas, filas o columnas para simplifica la gestión de parches ya que únicamente será de
máxima urgencia actualizar aquellos que hagan referencia a un
realizar un cifrado más personalizado y no una llave primaria al
módulo que estemos utilizando.
principio de la data, de esta manera evita que un hacker con un
id y contraseña pueda llevarse estos datos. Por esto, se ofrece
De personal: Dejar contraseñas que pueden ser robadas,
una capa de cifrado a columnas que encripta la información programar malas contraseñas, no estar pendiente de la correcta
confidencial de los datos que allí reposan. Todo esto se realiza ejecución del backup o no revisar los logs para corroborar que
a través de una segunda contraseña de cifrado con una longitud si se hizo correctamente el backup. La asignación de permisos
de 6 a 127 bytes. son criterios de medida entre otras.
MD5: Es otro algoritmo de cifrado con el cual se pueden Bases de datos sin actualizar Como ocurre con cualquier tipo
guardar contraseñas, aunque se ha demostrado que este de aplicación que tengamos instalada en nuestra máquina, es
algoritmo presenta vulnerabilidades, en la práctica sigue siendo necesario ir actualizando la versión de nuestra base de datos con
complejo alcanzar esta contraseña, por lo cual no vale la pena las últimas versiones lanzadas al mercado, ya que en ellas se
el esfuerzo. solucionan aquellos problemas de seguridad detectados, por lo
que pondremos más barreras a los posibles atacantes.
AES: El algoritmo AES es el más completo y complejo, tiene
posibilidad de revertirse y se utiliza con una llave privada, es Inyecciones SQL Un ataque de este tipo puede dar acceso a
decir, debemos proporcionar dicha llave para encriptar y alguien a una base de datos completa sin ningún tipo de
desencriptar las contraseñas. Sería vulnerable en el caso de que restricción, pudiendo llegar incluso a copiar y modificar los
alguien consiguiese violar nuestro código fuente y viera que datos.
llave estamos pasando a la cadena.
Desbordamiento de búfer Se trata de otro de los medios
favoritos utilizados por los piratas y que se dan por el exceso de
El propósito de un sistema de cifrado seguro es convertir texto
información que se puede llegar a enviar por medio del ingreso
plano de datos en ininteligible texto cifrado basado en una
de información mediante el uso de formularios, es decir, se
clave, de tal manera que es muy difícil (computacionalmente recibe mucha más información de lo que la aplicación espera.
imposible) para convertir texto cifrado de nuevo en su Por poner un ejemplo, si se espera la entrada de una cuenta
correspondiente texto plano sin el conocimiento de la clave bancaria que puede ocupar unos 25 caracteres y se permite la
correcta entrada de muchos más caracteres desde ese campo, se podría
dar este problema.
IV. PRINCIPALES CAUSAS QUE GENERAN FALLAS Datos sensibles sin cifrar, Aunque pueda ser algo obvio, a la
DE SEGURIDAD EN LAS BASES DE DATOS hora de la verdad no todo el mundo cifra la información más
importante que se almacena en base de datos. Esto es una buena
Causa Física: Daño en el servidor donde se aloja la base de práctica para que en caso de hackeo, sea complicado para el
datos, daño de disco o CPU pueden ocasionar perdida de atacante poder recuperar esa información.
información de una transacción que se estuviera ejecutando.
Confidencialidad y cifrado en el almacenamiento. Por lo
Causa del Entorno: Un desastre natural o provocado en el lugar general, el almacenamiento de los datos se realiza en texto
donde reside la base de datos (DataCenter) tales como plano y salvo escasas excepciones como por ejemplo Cassandra
terremotos, incendios entre otros. y su tecnología Transparent data encryption, no se incorporan
mecanismos de cifrado integrados. En la mayoría de los casos
De programación: Huecos o fallas de seguridad dejadas sigue siendo necesario delegar el cifrado a procesos en la capa
durante la creación del código o programación de la base de de aplicación o del propio sistema de ficheros.
datos o asignación de permisos que se convierten en
vulnerabilidades que pueden ser explotadas por medio de
ataques cibernéticos con personas con conocimientos. Causa Autenticación: Es muy común en Cassandra encontrar
cuentas de usuario sin auditar, o que incorporan credenciales
Características de bases de datos innecesariamente habilitadas por defecto, basadas en entornos de confianza en lugar de la
Cada instalación de base de datos viene con una serie de autenticación del usuario. Es un punto fundamental de chequeo
6
para realizar las respectivas configuraciones. También es muy detengan. Este es también el caso de los nuevos scripts de
dado encontrar que Cassandra no exige mayor seguridad en sus espacio aislado.
contraseñas, las claves de registro de usuarios no pasan por
cumplir con estándares de contraseñas fuertes. Es decir,
permiten que los usuarios utilicen contraseñas simples o fáciles V. MECÁNISMOS Y PLAN DE RESPALDO DE LAS
de identificar. BASES DE DATOS
Seguridad en las comunicaciones. El uso de cifrado y Otros de los problemas de seguridad que pueden tener las
protocolo SSL es habitual en bases de datos relaciones, en bases de datos, es no definir correctamente un mecanismo de
cambio en sistemas NoSQL generalmente se encuentra respaldo de la información que allí se tiene a fin de generar
deshabilitado por defecto, es opcional (por ejemplo, copias de respaldo de la infraestructura o la data de forma
Cassandra), o bien es necesaria una configuración específica en correcta. Muchas veces, los administradores de bases de datos
la instalación (MongoDB). programan los backups que se realizarán sobre las bases de
datos, pero no verifican que estas copias hayan quedado
correctamente ejecutadas en los logs.
Causa Auditoria de Datos: Carece de mecanismos propios y
robustos de auditoria como en las relacionales, lo que le impide De esta manera, solo existe la ejecución, pero la data que se
detectar posibles ataques mediante la observación de eventos en respalda no sirve porque está mal respaldada, porque está
los registros. corrupta y no sirve para volver a restaurar la base de datos o
porque sencillamente, aunque la tarea se disparó y se ejecutó el
Error de nodos: Las fallas de los nodos o los tiempos de espera backup no hay información en él.
pueden resultar de bloqueos del proceso de búsqueda de
elasticsearch o de los nodos en sí. Este tipo de falla es menos
común, y generalmente es el resultado de una carga de recursos, VI. RESPONSABILIDADES EN LA PROTECCIÓN DE LA
como la sobrecarga de un clúster que es demasiado pequeño INFORMACIÓN EN UNA BASE DE DATOS
para el volumen de datos / solicitud. Recomendamos
permanecer dentro de una proporción de datos de 1x5 a RAM.
Si el tiempo de respuesta de la solicitud es importante, debe Otro de los riesgos o problemas de seguridad que se pueden
tener una proporción de 1-1 dependiendo de la complejidad de tener a la base de datos, es que el administrador de la misma no
sus consultas. cumpla con sus responsabilidades a la hora de realizar su trabajo
con los SGBD, por esto, se debe vigilar que estos profesionales
Explosion de mapas: Una forma rápida de hacer que una base cumplan con sus responsabilidades, las cuales deben ser:
de datos se quede sin memoria y tener dificultades para
recuperarse es ignorar la diferencia entre claves y valores al a) Mantener, administrar y controla los elementos que
indexar documentos, en esencia es que las claves en los conforman la Base de Datos e informar de los cambios
documentos cambian, con el resultado de que las asignaciones a los usuarios.
para el índice son cada vez mayores. A pequeña escala, esto b) Asegurar la máxima disponibilidad de los datos, por
requerirá una gran cantidad desproporcionada de espacio de ejemplo, haciendo copias de seguridad e los datos,
almacenamiento dinámico y, para los clústeres más grandes, administrando los dietarios entre otros.
normalmente causará problemas con la distribución del estado c) Resolver emergencias que se presenten en las bases de
del clúster. datos y que ocasionen indisponibilidad del servicio.
d) Vigilar la integridad y calidad de los datos.
Demasiados fragmentos o el problema de fragmentos de e) Diseñar el nivel físico de la Base de Datos, las
Gazillion: Demasiados fragmentos o el problema de gazillion estrategias de caminos de acceso y las
shards, como a algunos de los desarrolladores de Elasticsearch
reestructuraciones.
les gusta referirse a él, se debe al hecho de que existe un costo
f) Controlar el rendimiento y las decisiones relativas a
base para cada fragmento e índice, incluso si no contiene ningún
documento. las modificaciones en los elementos que confirman la
Base de Datos y/o parámetros del SGBD y del sistema
Scripting: En la academia es un problema conocido que no se operativo.
puede determinar si un proceso en ejecución terminará o no, y g) Establecer normativas y asesorar a los programadores
como Elasticsearch no tiene un tiempo de espera para los scripts y los usuarios finales sobre la utilización de la Base de
de ejecución prolongada, el siguiente script nunca se detendrá. Datos.
Esto hace que el script guarde un hilo de búsqueda que nunca h) Controlar y administrar la seguridad: gestión de
se volverá a lanzar al grupo. Las ejecuciones posteriores de usuarios, concesión y revocación de autorizaciones
dichos scripts consumirán finalmente todos los subprocesos de entre otros.
búsqueda y pondrán todas las búsquedas futuras en la cola hasta
que la cola alcance su máximo y todas las búsquedas futuras se
7
Como todo sistema en lo que a las tecnologías se refiere los [6] Recursos y herramientas de copia de seguridad y recuperación.
Recuperado de:
sistemas de gestión de bases de datos no están libres de
https://www.ibm.com/support/knowledgecenter/es/SSEPEK_10.0.0/intr
presentar problemas de seguridad o vulnerabilidades que o/src/tpc/db2z_backupandrecoveryresourcesandtools.html .
puedan ser aprovechadas por personas con o sin experiencia en
causar daño en la información, deteriorando y no asegurando [7] José Pablo, (2018) “Replicación, controlador Datastax Php y cifrado SSL
– Apache Cassandra – parte 2” Recuperado de:
los pilares de confidencialidad, integridad y disponibilidad de https://www.elconspirador.com/2018/02/01/replicacion-controlador-
la misma. datastax-php-y-cifrado-ssl-apache-cassandra-parte-2/.