Documente Academic
Documente Profesional
Documente Cultură
1. INTRODUCCION ............................................................................................ 04
2. OBJETIVOS .................................................................................................... 05
2.1 Objetivo general ........................................................................................ 05
2.2 Objetivos específicos ................................................................................ 05
3. CONTEXTUALIZACIÓN .................................................................................. 06
4. CARACTERISTICAS ................................................................................. 06-24
5. CONCLUSIONES ............................................................................................ 25
6. BIBLIOGRAFIA ............................................................................................... 26
1. INTRODUCCION
4. CARACTERISTICAS
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
Los Service Packs y las actualizaciones del sistema operativo y del SMDB SQL
Server, que incluyen mejoras de seguridad importantes, por lo que se deben aplicar
todas las revisiones y actualizaciones.
Directivas de contraseña
Las entidades de seguridad son los individuos, grupos y procesos que tienen acceso
a SQL Server. Los "elementos protegibles" son el servidor, la base de datos y los
objetos incluidos en la base de datos. Cada uno de estos elementos dispone de un
conjunto de permisos que pueden configurarse para reducir el área expuesta de
SQL Server.
Los protegibles son aquellos objetos cuyo acceso está regulado por el sistema de
autorización de SQL Server. Los protegibles se organizan en jerarquías anidadas
llamadas ámbitos (que también se pueden proteger).
Los protegibles a nivel de Windows son:
Archivos
Claves de registro
Hay que tener en cuenta, que una entidad de seguridad puede ser también un
protegible. Por ejemplo, un inicio de sesión puede tener permisos sobre otro inicio
de sesión.
Funciones de Servidor
Los inicios de sesión nos permiten establecer conexión con el servidor en lo que se
conoce como proceso de autentificación.
Mediante las cuentas de usuario, podemos acceder a las bases de datos bajo una
serie de permisos concretos.
Tanto los inicios de sesión como las cuentas de usuario están sujetos a permisos
que limitan el margen de actuación de manera controlada.
Estos permisos se pueden asignar directamente sobre el inicio de sesión o cuenta
de usuario, o también pueden asignarse mediante el uso de las funciones de
servidor.
Las funciones de servidor permiten agrupar usuarios en una misma unidad, a la cual
es posible aplicar permisos.
Existen una serie de funciones conocidas como funciones fijas de servidor y tienen
una serie de permisos establecidos a nivel de servidor que no se pueden modificar.
Con estas funciones, lo único que es posible realizar es agregar o eliminar inicios
de sesión asociadas a las mismas.
Existe una función de servidor especial llamada "Public", que permite especificar los
permisos que interesa que tenga. Todos los inicios de sesión pertenecen a la
función "Public", por tanto, los permisos especificados para esta función serán
asignadas a todos los inicios de sesión.
Permisos
Los permisos son las reglas que gobiernan el nivel de acceso de las entidades de
seguridad a los protegibles. SQL Server usa permisos para controlar el acceso a los
protegibles por parte de entidades de seguridad. Todos los protegibles tienen
permisos asociados que pueden otorgarse a cada entidad de seguridad. Estos
permisos se pueden administrar mediante la herramienta Management Studio o
mediante instrucciones Transact-SQL y se pueden otorgar, revocar o denegar
mediante GRANT, REVOKE o DENY.
Los permisos concretos asociados a cada protegible varían según los tipos de
acciones compatibles con cada protegible.
Determinados permisos se pueden heredar a través de un permiso concedido en un
nivel más alto en la jerarquía del protegible.
Una entidad de seguridad puede realizar una determina acción si el permiso se ha
concedido explícitamente a la entidad o a una colección a la que pertenece la
entidad de seguridad, y, además, el permiso no se ha denegado explícitamente a
dicha entidad.
Algunos de los permisos que se pueden conceder, revocar o denegar sobre los
diferentes objetos existentes (a nivel de servidor, de base de datos o esquema) son:
CREATE, ALTER DROP, CONTROL, CONNECT, SELECT, EXECUTE, UPDATE,
DELETE, INSERT, TAKE OWNERSHIP, VIEW DEFINITION y BACKUP.
Permisos de servidor
Es posible asignar permisos a nivel de servidor, sin utilizar las funciones fijas de
servidor, las funciones de usuario o la función Public (añadiendo inicios de sesión a
las mismas). Es decir, es posible asignar permisos directamente a nivel de servidor.
Para los permisos de protegibles del ámbito de servidor, la instrucción GRANT debe
de ejecutarse en la base de datos MASTER.
Permiten especificar los permisos asociados para cada una de las funciones de
usuario creadas (Disponible a partir de SQL Server 2012). Es decir, se pueden crear
funciones de usuario personalizadas con una serie de permisos concretos, y asignar
los inicios de sesión que interese.
Para administrar con facilidad los permisos sobre las bases de datos, SQL Server
proporciona una serie de funciones similares en concepto a las funciones de
servidor. Estas funciones se aplican a toda la base de datos en lo que respecta al
ámbito de permisos asi:
USE Nombre_BBDD
CREATE ROLE Nombre_Funcion
USE Nombre_BBDD
ALTER ROLE Nombre_Funcion ADD MEMBER Usuario
USE Nombre_BBDD
ALTER ROLE Nombre_Funcion DROP MEMBER Usuario
Funciones de aplicación
Las funciones de aplicación permiten cumplir con la seguridad para una aplicación
determinada y proporcionan un contexto de seguridad alternativo para que un
usuario tenga acceso a una base de datos. El usuario ejecuta una aplicación
asociada a una función de aplicación, y el contexto de seguridad de la función de
aplicación se usa en lugar de la del usuario individual. Las funciones de aplicación
difieren del resto de funciones de la base de datos así:
Pierden todos los permisos existentes en la base de datos actual para sus
cuentas de usuario y cualquier función a la que pertenezcan, salvo los
permisos que se aplican a la función Public.
Heredan todos los permisos concedidos a la función de aplicación en la base
de datos actual.
Permisos de base de datos: son permisos para que una entidad de seguridad
pueda ejecutar ciertas tareas dentro de la base de datos.
Permisos del ámbito de base de datos: son permisos que pueden aplicarse
a protegibles en el ámbito de base de datos, como usuarios, esquemas,
funciones, procedimientos, tablas.
Para conceder permisos a una base de datos, puede realizarse mediante el uso de
la herramienta SQL Server Management Studio, o por medio de instrucciones
Transact-SQL con la sintaxis siguiente:
ENTIDAD DE USUARIO
Hay varias entidades de seguridad en SQL Server, pero una de las más importantes
es la entidad de usuario de una base de datos. A diferencia de las entidades login
de SQL Server que son usadas para acceder a una instancia SQL Server (una
entidad de seguridad a nivel de servidor), una entidad de usuario de base de datos
(una entidad de seguridad a nivel de base de datos) es usada para definir el acceso
a una base de datos particular que pertenece a la instancia de SQL Server.
Usuarios
Existen diversos tipos de usuarios que se diferencian segun las funciones que
pueden realizar en la base de datos, y se pueden clasificar asi:
Inicio de sesión sa
El usuario dbo es una entidad de seguridad de usuario especial que hay en cada
base de datos. Todos inicios de sesión con permisos de administrador acceden a la
base de datos con esta cuenta de usuario (todos los administradores de SQL
Server, los miembros de rol fijo de servidor sysadmin, el inicio de sesión sa y los
propietarios de la base de datos especifican las bases de datos como el usuario
dbo). El usuario dbo tiene todos los permisos en la base de datos y no se puede
limitar ni quitar. dbo representa el propietario de la base de datos, pero la cuenta de
usuario dbo no es lo mismo que el rol fijo de base de datos db_owner, mientras que
el rol fijo de base de datos db_owner no es lo mismo que la cuenta de usuario que
se registra como el propietario de la base de datos.
Cada inicio de sesión pertenece al rol fijo de servidor public y cada usuario de base
de datos pertenece al rol de base de datos public. Cuando a un usuario o inicio de
sesión no se le han concedido ni denegado permisos concretos para un elemento
protegible, hereda los permisos para ese elemento concedidos a public. El rol fijo
de servidor public y el de base de datos public no pueden quitarse. Sin embargo, se
puede revocar los permisos de los roles public. Hay muchos de los permisos que se
asignan a los roles public de forma predeterminada, la mayoría de estos permisos
son necesarios para realizar operaciones rutinarias en la base de datos (el tipo de
tareas que todo el mundo debe poder hacer). Tenga cuidado al revocar permisos
desde el usuario o el inicio de sesión público, ya que afectará a todos los inicios de
sesión y usuarios. Normalmente, no debe denegar permisos a public, ya que la
instrucción deny invalida cualquier instrucción grant que podrían crear para los
usuarios.
INFORMATION_SCHEMA y usuarios y esquemas sys
Todas las bases de datos incluyen dos entidades que aparecen como usuarios en
las vistas de catálogo: INFORMATION_SCHEMA y sys. Estas entidades son
necesarias para uso interno por parte del motor de base de datos y no se pueden
modificar ni quitar.
##MS_SQLResourceSigningCertificate##
##MS_SQLReplicationSigningCertificate##
##MS_SQLAuthenticatorCertificate##
##MS_AgentSigningCertificate##
##MS_PolicyEventProcessingLogin##
##MS_PolicySigningCertificate##
##MS_PolicyTsqlExecutionLogin##
Como una solución nativa, disponible en todas las ediciones SQL Server, los
desencadenadores DDL pueden ser usados para auditar cambios de seguridad en
entidades de usuarios de bases de datos. Para mostrar cómo hacer eso,
rastrearemos los eventos a nivel de base de datos.
Los desencadenadores DDL de SQL Server pueden ser una solución muy eficiente
y efectiva respecto del costo para rastrear cambios en entidades de usuarios de
bases de datos. De todas maneras, son fáciles de traspasar (un usuario malicioso
con suficientes permisos puede fácilmente deshabilitar el desencadenador, aplicar
cambios en la entidad de usuario y volver a habilitar el desencadenador después).
Algunas desventajas adicionales de este método de auditoría son que no hay un
repositorio de auditoría de evidencia de manipulación y un requerimiento de
conocimiento de T-SQL. T-SQL es requerido no sólo para la configuración, sino para
proveer la información capturada para cualquier tipo de revisión de cumplimiento de
normas o auditoría.
Otra solución nativa de SQL Server es rastrear los cambios en las entidades de
usuarios de la base de datos usando la característica SQL Serer Audit. Auditar a
nivel de base de datos es soportado por las ediciones de SQL Server Enterprise y
Developer solamente.
Para configurar la característica SQL Server Audit para rastrear cambios en las
entidades de usuario de la base de datos:
Para auditar cambios en las entidades de usuario de la base de datos en una base
de datos específica SQL Server:
El proceso de rastrear la seguridad de una base de datos SQL Server vía ApexSQL
Audit provee:
https://docs.microsoft.com/es-es/sql/relational-databases/security/securing-sql-
server?view=sqlserver-2017
https://solutioncenter.apexsql.com/es/seguridad-y-cumplimiento-de-normas-para-
bases-de-datos-sqlserver/
http://cessor.blogspot.com/2016/11/administracion-de-sql-server-2014.html