Está en la página 1de 11

Unidad 05.

Seguridad y Control de Acceso en bases de datos


Informe correspondiente a la última evaluación de Administración de bases de datos

DOCENTE: INTEGRANTE:
Ing. Marilen Campos T.S.U Jesús Jaramillo
C.I: 25.568.229
Informática, Trayecto IV, Semestre I. Sección 01

EL TIGRE, NOVIEMBRE DE 2018.


INTRODUCCIÓN A LOS PROBLEMAS DE SEGURIDAD EN LAS BASES DE
DATOS

La información es uno de los activos más importantes de las entidades, y de modo


especial en algunos sectores de actividad.

Es indudable que cada día las entidades dependen de mayor medida de la información y
de la tecnología, y que los sistemas de información están más soportadas por la tecnología,
frente a la realidad de hace pocas décadas.

Por otra parte, hace unos años la protección era más fácil, con arquitecturas centralizadas
y terminales no inteligentes, pero hoy en día los entornos son realmente complejos, con
diversidad de plataformas y proliferación de redes, no sólo internas sino también externas,
incluso con enlaces internacionales.

Al hablar de seguridad hemos preferido centrarnos en la información misma, aunque a


menudo se hable de seguridad informática, de seguridad de los sistemas de información o
de seguridad de las tecnologías de la información.

La mayoría de información sensible del mundo está almacenada en sistemas gestores de


bases de datos como MySQL, Oracle, Microsoft SQL Server entre otros. Toda esa
información es la que hace que los hackers centren todo su esfuerzo en poder acceder a esa
información por medio de alguna de las muchas vulnerabilidades que nos podemos
encontrar referente a estos gestores, vulnerabilidades que o bien pueden ser debidos a
problemas de seguridad en el software, en este caso es necesario tener siempre actualizada
a la última versión para corregir posibles problemas de seguridad, y otras veces a la forma
en la que está configurado su acceso o bien problemas en la programación de la aplicación,
problemas que pueden causar el conocido ataque SQL Injection, uno de los ataques más
comunes cuando de bases de datos se trata.

Hasta este momento, gran parte del esfuerzo para mejorar la seguridad de cualquier
servicio informático se centraba en asegurar los perímetros de las redes por medio de
firewalls, IDS / IPS y antivirus, pero cada vez las organizaciones están poniendo más
esfuerzos en la protección de la seguridad de las bases de datos protegiéndolos de
intrusiones y cambios no autorizados.
1. LA SEGURIDAD DE LA BASE DE DATOS Y EL ADMINISTRADOR DE BASE
DE DATOS

La seguridad de la base de datos se ocupa de proteger la confidencialidad, disponibilidad


e integridad en base de datos de todos los activos de conocimiento de la organización. La
forma de lograrlo tiene que ver con:

Confidencialidad: se trata del aspecto más importante de la seguridad de base de datos.


Este objetivo se alcanza a través del La encriptación ha de aplicarse a datos en reposo, pero
también a los datos que, por un motivo u otro, se encuentren en tránsito.

Integridad en base de datos: busca garantizar que sólo las personas autorizadas a ello
podrán acceder a información privilegiada de la empresa. La integridad de una base de
datos se aplica a través de protocolos de autenticación, políticas internas (como las que
impulsan la seguridad de las contraseñas) y un sistema de control de acceso de usuario que
define los permisos que determinan quién puede acceder a qué datos. Tampoco puede
olvidarse el tomar medidas que ayuden a conseguir que las cuentas no utilizadas queden
bloqueadas o sean eliminadas.

Disponibilidad: hace referencia a la necesidad de que las bases de datos y toda la


información que contienen estén listas para su uso. Por una parte, se debe garantizar su
funcionalidad y confiabilidad mientras que, por otra, es recomendable planificar los
tiempos de inactividad fuera del horario laboral.

Garantizar la integridad en base de datos, así como su disponibilidad y confiabilidad es


determinante para el buen funcionamiento del negocio. Sin embargo, la amenaza no da
tregua y, a día de hoy, los ataques se multiplican, tanto en frecuencia, como en objetivo.
Los piratas informáticos ya no codician sólo los activos informacionales de las grandes
corporaciones multinacionales, sino que tienen en su punto de mira a todo tipo de empresas,
independientemente de su tamaño, propósito o industria.

Con respecto al administrador de la base de datos, estos son responsables del manejo,
mantenimiento, desempeño y de la confiabilidad de bases de datos. Asimismo, están a
cargo de la mejora y diseño de nuevos modelos de las mismas.
Manejar una base de datos implica recolectar, clasificar y resguardar la información de
manera organizada, por ello, estos profesionales velan por garantizar que la misma esté
debidamente almacenada y segura, además de que sea de fácil acceso cuando sea necesario.

La mayoría de las empresas alrededor del mundo tienen algún tipo de base de datos
digital, por lo que requieren de especialistas en el área para formar parte de su personal. Las
bases de datos son comúnmente utilizadas para la gestión de nóminas, registros de clientes,
inventarios, etc.

Podría decirse que una base de datos trabaja como un fichero digital, si bien tienen sus
diferencias, también tienen sus semejanzas.

2. PROTECCIÓN DE ACCESO

No todos los datos y no todos los usuarios son creados iguales. El administrador de base
de datos debe autenticar a los usuarios, garantizar la rendición de cuentas por usuario, y
administrar los privilegios para de limitar el acceso a los datos.

Implementar y revisar periódicamente los informes sobre de derechos de usuarios, como


parte de un proceso de formal de auditoría.

Utilizar el cifrado para hacer ilegibles los datos confidenciales, complicar el trabajo a los
atacantes, esto incluye el cifrado de los datos en tránsito, de modo que un atacante no puede
escuchar en la capa de red y tener acceso a los datos cuando se envía al cliente de base de
datos.

3. CUENTAS DE USUARIO Y AUDITORÍA DE LAS BASE DE DATOS

Cuando se usa una base de datos en el Panel de Control (Caso phpmyadmin), este
accede a la base de datos en nombre de la cuenta de usuario asociada con la base de datos.
Así, cada una de las bases de datos debería tener asociada al menos una cuenta de usuario,
ya que de lo contrario no podrá acceder a ellas.

Cualquier usuario de la base de datos puede establecerse como usuario predeterminado


para una base de datos determinada. El Panel de Control siempre accederá a la base de
datos usando las credenciales de este usuario predeterminado, incluso en el caso de que
existan otros usuarios asociados a la base de datos. Si una base de datos tiene asociadas
varias cuentas de usuario y ninguna de estas es predeterminada, se usará la primera cuenta
de la lista.

Tipos de usuarios de base de datos

En la mayoría de sistemas gestores de bases de datos existen dos tipos de cuentas de


usuario:

a. Cuentas de usuario que solo tienen acceso a una base de datos determinada.

Si se colabora con terceras personas en la gestión de un sitio web o sistema de


información y desea proporcionarles acceso a la base de datos, se debe crear cuentas de
usuario para cada una de estas personas. Cada una de estas cuentas se usa para acceder a
una única base de datos. En este caso, primero se crea una base de datos y a continuación se
crea las cuentas de usuario.

b. Cuentas de usuario universal que tienen acceso a todas las bases de datos.

Los usuarios universales no sólo tienen acceso a todas las bases de datos existentes, sino
que también pueden acceder a las bases de datos nuevas.

En el caso de administrar varios sitios webs o varios sistemas de información, puede


resultar útil crear una cuenta de usuario universal para que así todas las aplicaciones y/o
sistemas de información puedan acceder a sus bases de datos usando esta cuenta. En este
caso, primero se crea una cuenta de usuario y a continuación se específica esta cuenta
cuando se codifique el sistema de información.

Nota: un usuario universal solo actúa dentro de un servidor de base de datos. Si usa
distintos servidores de base de datos, cree una cuenta de usuario universal distinta para cada
servidor.
En cuanto a la auditoria, se define como el proceso que permite medir, asegurar,
demostrar, monitorear y registrar los accesos a la información almacenada en las bases de
datos incluyendo la capacidad de determinar:

a. Quién accede a los datos.


b. Cuándo se accedió a los datos.
c. Desde qué tipo de dispositivo/aplicación.
d. Desde que ubicación en la Red.
e. Cuál fue la sentencia SQL ejecutada.
f. Cuál fue el efecto del acceso a la base de datos.

La auditoría de una base de datos es importante porque:

a. Toda la información financiera de la organización reside en bases de datos y deben


existir controles relacionados con el acceso a las mismas.
b. Se debe poder demostrar la integridad de la información almacenada en las bases de
datos.
c. Las organizaciones deben mitigar los riesgos asociados a la pérdida de datos y a la fuga
de información.
d. La información confidencial de los clientes, son responsabilidad de las organizaciones.
e. Los datos convertidos en información a través de bases de datos y procesos de negocios
representan el negocio.
f. Las organizaciones deben tomar medidas mucho más allá de asegurar sus datos.

CONTROL DE ACCESO DISCRECIONAL BASADO EN


CONCESIÓN/REVOCACIÓN DE PRIVILEGIOS

En la actualidad se acostumbra hablar de dos tipos de mecanismos de seguridad en las


bases de datos:

a. Los mecanismos de seguridad discrecionales se usan para otorgar privilegios a los


usuarios, incluida la capacidad de tener acceso a archivos, registros o campos de
datos específicos en un determinado modo.
b. Los mecanismos de seguridad obligatorios sirven para imponer igualdad de
múltiples niveles clasificando los datos y los usuarios en varias clases (o niveles) de
seguridad e implementando después la política de seguridad apropiada de la
organización.

Un problema de seguridad común a todos los sistemas de cómputo es el de evitar que


personas no autorizadas tengan acceso al sistema, ya sea para obtener información o para
efectuar cambios mal intencionados en una porción de la base de datos. El mecanismo de
seguridad de un SGBD debe incluir formas de restringir el acceso al sistema como un todo.
Esta función se denomina control de acceso y se pone en prácticas creando cuentas de
usuarios y contraseñas para qué es SGBD controle el proceso de entrada al sistema.

Otra técnica de seguridad es el cifrado de datos, que sirven para proteger datos
confidenciales que se transmiten por satélite o por algún otro tipo de red de
comunicaciones. El cifrado puede proveer protección adicional a secciones confidenciales
de una base de datos. Los datos se codifican mediante algún algoritmo de codificación. Un
usuario no autorizado que tenga acceso a los datos codificados tendrá problemas para
descifrarlos, pero un usuario autorizado contara con algoritmos (o claves) de codificación o
descifrado para descifrarlos.

1. TIPOS DE PRIVILEGIOS DISCRECIONALES

Primero se debe tener en consideración, qué es un privilegio: este es un derecho de


acceso o autorización para realizar determinada operación sobre ciertos objetos de una base
de datos.

En cuanto a los tipos de privilegios discrecionales:

a) Privilegios de nivel de cuenta o Usuario: en este nivel, el ABD especifica los privilegios
particulares que tiene cada cuenta, independientemente de las relaciones de la base de
datos.

Algunos privilegios para este son:

1. CREATE SCHEMA, DROP SCHEMA,


2. CREATE TABLE, ALTER TABLE, DROP TABLE,
3. CREATE VIEW, DROP VIEW,
4. CREATE DOMAIN, ALTER DOMAIN, DROP DOMAIN,
5. CREATE ASSERTION, DROP ASSERTION,
6. SELECT, INSERT, UPDATE, DELETE (SOBRE CUALQUIER TABLA)
b) Privilegios de nivel de objeto de base de datos: en este nivel, se puede controlar los
privilegios para tener acceso a cada relación o vista individual de la base de datos.
Cuenta con los privilegios definidos en SQL:
1. SELECT
2. MODIFY
3. REFERENCES

Ahora, para dar un privilegio se utiliza el comando GRANT y para revocarlos se utiliza
el comando REVOKE.

2. IDENTIFICACIÓN DE AUTORIZACIÓN

Los usuarios pueden tener varios tipos de autorización para diferentes partes de la base
de datos. Entre ellas están las siguientes:

a. La autorización de lectura permite la lectura de los datos, pero no su modificación.


b. La autorización de inserción permite la inserción de datos nuevos, pero no la
modificación de los existentes.
c. La autorización de actualización permite la modificación de los datos, pero no su
borrado.
d. La autorización de borrado permite el borrado de los datos.

Además de estas formas de autorización para el acceso a los datos, los usuarios pueden
recibir autorización para modificar el esquema de la base de datos:

a. La autorización de índices permite la creación y borrado de índices.


b. La autorización de recursos permite la creación de relaciones nuevas.
c. La autorización de alteración permite el añadido o el borrado de atributos de las
relaciones.
d. La autorización de eliminación permite el borrado de relaciones.

3. PRIVILEGIOS DE NIVEL DE CUENTA

Los privilegios de nivel de cuenta son explicados en el punto “Tipo de privilegios


discrecionales”.

4. NIVEL DE RELACIÓN

En este nivel se controlan los privilegios para tener acceso cada relación o vista
individual. Cada tabla de BD tiene asignada una cuenta propietario, que tiene todos los
privilegios sobre esa tabla y se encarga de otorgarlos al resto de cuentas. En SQL:

a) Privilegio SELECT para R confiere a la cuenta el privilegio de consultar la BD para


obtener datos de R.
b) Privilegio MODIFY para R confiere a la cuenta el privilegio de modificar las tuplas de
la tabla R.
c) Privilegio REFERENCES para R confiere a la cuenta el privilegio de hacer referencia a
la tabla R por media de una clave ajena.

REVOCACIÓN DE PRIVILEGIOS

Para revocar privilegios se usa la sentencia REVOKE.

Figura. 1. Ejemplo de la sentencia REVOKE

La sintaxis es similar a la de GRANT, por ejemplo, para revocar el privilegio SELECT


de nuestro usuario 'anonimo', usaremos la sentencia:
PROPAGACIÓN DE PRIVILEGIOS (GRANT OPTION)

Para proporcionar un permiso a usuario específico, puedes utilizar ésta estructura:

GRANT [permiso] ON [nombre de bases de datos].[nombre de tabla] TO ‘[nombre de


usuario]’@'localhost’;

Si se desea darle acceso a cualquier base de datos o tabla, se debe asegurar de insertar un
asterisco (8) en lugar del nombre de la base de datos o tabla.

Cada vez que se actualice o se cambie permisos, se debe asegurar de refrescar los
privilegios mediante la sentencia FLUSH PRIVILEGES;.
REFERENCIAS BIBLIOGRÁFICAS

Domínguez C. Jorge. (2015). Principios Básicos de Seguridad en Bases de Datos.


[Documento en línea]. Disponible en:
https://www.researchgate.net/publication/279983428_Principios_Basicos_de_Seguridad_en
_Bases_de_Datos [Consulta: 2018, noviembre 28]

Instituto Internacional de Seguridad Informática (2014). Recuperación de la base de datos


[Pagina web en línea]. Disponible en:
https://iicybersecurity.wordpress.com/2014/08/28/problemas-de-seguridad-en-base-de-
datos/ [Consulta: 2018, noviembre 28]

MySQL con Clase (2014). Curso de MySQL [Pagina web en línea]. Disponible en:
http://mysql.conclase.net/curso/?cap=013. [Consulta: 2018, noviembre 28]

Sverdlov, Etel (2014). Crear un nuevo usuario y otorgarle permisos en MySQL. [Página
web en línea]. https://www.digitalocean.com/community/tutorials/crear-un-nuevo-usuario-
y-otorgarle-permisos-en-mysql-es. [Consulta: 2018, noviembre 28]

Padrón Dexys (2012). Control de acceso basado en concesión/revocación de privilegios.


[Páginaweb en línea].
http://administracionbasedatosiutllano.blogspot.com/2012/07/control-de-acceso-basado-
en.html. [Consulta: 2018, noviembre 28]

Digival.es (2010). Cuentas de usuario de bases de datos. [Página web en línea].


https://www.digival.es/soporte/cuentas-de-usuario-de-bases-de-datos. [Consulta: 2018,
noviembre 28]

Expresión Binaria (2012). Principios Básicos de Seguridad en Bases de Datos. [Página web
en línea]. https://www.expresionbinaria.com/principios-basicos-de-seguridad-en-bases-de-
datos/. [Consulta: 2018, noviembre 28]

También podría gustarte