Académique Documents
Professionnel Documents
Culture Documents
Los datos son un recurso valioso para las organizaciones, por lo que se han de
establecer políticas de seguridad para garantizar su confidencialidad, su integridad y
su disponibilidad
Por ello hay que establecer medidas de seguridad a varios niveles tanto físicos
como humanos con los mecanismos que deben incluir los sistemas manejadores de
bases de datos que garanticen seguridad e integridad de la información.
Identificar las características y las funciones que posee el Sistema Manejador de Base
de Datos escogido para la implementación de las bases de datos de la Alcaldía San Antonio
del Sena.
Objetivos específicos.
Analizar las características de seguridad configurables en SMBG SQL Server.
Identificar las cuentas de usuarios y privilegios que tienen los usuarios en el SMBD
SQL Server.
El Sistema Manejador de Bases de Datos escogido para el desarrollo de este proyecto fue el
SQL Server versión 2008 R2. Es un sistema de gestión de bases de datos relacional
desarrollado por la empresa Microsoft, el cual tiene diferentes ediciones para brindar
soluciones de acuerdo a las necesidades del cliente.
La protección de la seguridad en SQL Server conlleva una serie de pasos que afectan a cuatro
áreas: la plataforma, la autenticación, los objetos (incluidos los datos) y las aplicaciones que
tienen acceso al sistema.
Seguridad de la plataforma y de la red
La plataforma de SQL Server incluye el hardware físico y los sistemas de redes que conectan
los clientes con los servidores de bases de datos, así como los archivos binarios que se utilizan
para procesar solicitudes de base de datos.
Seguridad física
Las recomendaciones de seguridad física limitan de forma estricta el acceso al servidor físico
y a los componentes de hardware. Por ejemplo, use salas cerradas de acceso restringido para
el hardware de servidor de base de datos y los dispositivos de red. Además, limite el acceso
a los medios de copia de seguridad almacenándolos en una ubicación segura fuera de las
instalaciones.
La implementación de la seguridad de la red física comienza por mantener a los usuarios no
autorizados fuera de la red.
Los requisitos de seguridad de una aplicación de base de datos de SQL Server se deben tener
en cuenta en tiempo de diseño, no a posteriori. La evaluación de las amenazas en las primeras
fases del ciclo de desarrollo permite reducir al mínimo los posibles daños cuando se detecte
una vulnerabilidad.
Sin embargo, a pesar de que el diseño inicial de la aplicación resulte adecuado, pueden surgir
nuevas amenazas a medida que evoluciona el sistema. La creación de varias líneas de defensa
en torno a la base de datos permite reducir al mínimo los daños producidos por una infracción
de seguridad. La primera línea de defensa consiste en reducir el área de ataque; para ello, no
se deben conceder más permisos que los estrictamente necesarios. (Microsoft, 2019)
SQL Server, como producto, ha ido evolucionando a lo largo de muchas versiones para
incorporar las últimas características de seguridad que permiten a los desarrolladores crear
aplicaciones de base de datos seguras. Sin embargo, la seguridad no debe darse por sentada;
es necesario realizar una supervisión y actualizaciones continuas.
Amenazas comunes
Los desarrolladores han de saber cuáles son las amenazas a la seguridad, las herramientas
con las que cuentan para enfrentarse a ellas y cómo evitar las vulnerabilidades de seguridad
provocadas por los propios usuarios. Se puede pensar en la seguridad como en una cadena,
en la que si se rompe un vínculo, se pone en peligro la fortaleza de toda ella.
Se mencionan algunas de las amenazas a la seguridad más comunes:
o Elevación de privilegios
Los ataques por elevación de privilegios se producen cuando un usuario es capaz de asumir
los privilegios de una cuenta de confianza, como un propietario o un administrador. Trabaje
siempre en cuentas de usuario con los privilegios mínimos y asigne sólo los permisos
necesarios. Evite utilizar cuentas administrativas o de propietario para ejecutar código. De
esta forma se limita el daño que se podría sufrir en caso de que un ataque tenga éxito. Cuando
realice tareas que requieran permisos adicionales, utilice la firma de procedimientos o la
suplantación únicamente mientras dure la tarea. Puede firmar procedimientos almacenados
con certificados o usar la suplantación para asignar permisos temporalmente.
Un ataque por sondeo puede utilizar mensajes de error generados por una aplicación para
buscar puntos vulnerables en la seguridad. Implemente el control de errores en todo el código
de procedimiento para evitar que se devuelva la información de error al usuario final.
o Autenticacion
Cuando se utilizan inicios de sesión de SQL Server, se pueden producir ataques por inyección
a la cadena de conexión si durante la ejecución se genera una cadena de conexión basada en
los datos introducidos por el usuario. Si en la cadena de conexión no se comprueba la validez
de los pares de palabras clave, un agresor puede insertar caracteres de más y así podría tener
acceso a datos confidenciales o a otros recursos del servidor. Utilice la autenticación de
Windows siempre que sea posible. Si tiene que utilizar inicios de sesión de SQL Server, use
el Sql Connection String Builder para crear y validar cadenas de conexión durante la
ejecución.
o Contraseñas
Muchos ataques tienen éxito porque un intruso es capaz de obtener o adivinar la contraseña
de un usuario con muchos privilegios. Las contraseñas constituyen su primera línea de
defensa contra los intrusos, así que establecer contraseñas seguras es esencial para la
seguridad del sistema. Cree y aplique directivas de contraseñas para la autenticación en modo
mixto.
Inicio automático
Además de las cuentas de usuario, cada servicio tiene tres posibles estados de inicio que los
usuarios pueden controlar:
El estado de inicio se selecciona durante la instalación. Al instalar una instancia con nombre,
el servicio SQL Server Browser debe establecerse para iniciarse automáticamente.
(Microsoft, 2019).
El administrador de base de datos tiene que agregar a los usuarios a la base de datos. La base
de datos verifica la lista de usuarios para asegurarse de que un usuario puede conectarse. Este
proceso se denomina autenticación.
Existen dos tipos de autenticación que se utilizan en las bases de datos SQL Server: la
autenticación del sistema operativo y la autenticación de la base de datos.
La autenticación del sistema operativo (SO) indica que un usuario inicia sesión en el equipo
y el sistema operativo del equipo del usuario proporciona las credenciales de autorización a
la base de datos. Para el usuario que se conecta, eso significa que únicamente tiene que iniciar
sesión en su equipo y no tiene que iniciar sesión por separado en la base de datos. Para el
administrador de base de datos, eso significa que se debe agregar el inicio de sesión existente
a la base de datos, y la base de datos se debe configurar para que reconozca el inicio de sesión
existente del usuario.
Si utiliza la autenticación de la base de datos, los usuarios inician sesión en el servidor y
luego deben iniciar sesión de forma separada en la base de datos.
Una vez que se agregan los usuarios, el administrador de la base de datos también debe
otorgar privilegios específicos a los usuarios para determinar lo que pueden hacer y lo que
no en la base de datos. La base de datos verifica estos privilegios cuando un usuario
autenticado intenta acceder o alterar la base de datos. Este proceso se denomina autorización.
Los tipos de privilegios que se otorgan a un usuario se basan en el tipo de trabajo que el
usuario debe realizar (DESTOK-SGBD, s.f.).
1.3 Integridad
Las restricciones son un método estándar ANSI para forzar la integridad de los datos.
Garantizan que los datos ingresados en las columnas sean valores válidos y que se
mantengan las relaciones entre las tablas.
Ejemplo
ALTER TABLE publicacion
ADD CONSTRAINT pk_publicacion
PRIMARY KEY CLUSTERED( pub_cod )
Establece que la columna pub_cod de la tabla publicacion es la llave primaria de la tabla.
Crea un índice clustered único de nombre pk_publicación para la columna pub_cod.
Ejemplo:
ALTER TABLE tema
ADD CONSTRAINT u_descripcion
UNIQUE NONCLUSTERED( tem_des )
Establece que la columna tem_des de la tabla tema no puede tener descripciones iguales.
Crea un índice único de nombre u_descripcion.
Ejemplo
ALTER TABLE ejemplar
ADD CONSTRAINT fk_ejemplar_publicacion
FOREIGN KEY( pub_cod )
REFERENCES publicacion( pub_cod )
(drsoftworld, 2018)
Dominio de los atributos. El dominio de un atributo define los valores posibles que
puede tomar este atributo. Además de los dominios "naturales", usados como tipos de
datos, el administrador del sistema puede generar sus propios dominios definiendo el
conjunto de valores permitidos. Esta característica, usada en forma correcta, se
convierte en mecanismo de control, restricción y validación desde el DBMS, de los
datos a ingresar.
Otro aspecto importante es realizar copias de seguridad, ya que ante cualquier inconveniente,
como fallo de lectura en un disco, problema hardware en el servidor, accesos indeseados al
sistema puede ser necesario recuperar los datos en la última situación estable en el mismo u
otro servidor. Medios
Cifrado de datos:
Estas funciones admiten la firma digital, la validación de firma digital, el cifrado y el
descifrado.
Funciones de seguridad del sistema (Transact-SQL)
sothis. (10 de 07 de 2018). Seguridad en Microsoft SQL Server. Obtenido de Seguridad en Microsoft
SQL Server: https://www.sothis.tech/seguridad-en-microsoft-sql-server/