Sunteți pe pagina 1din 10

A11-EV1-CARACTERÍSTICAS Y FUNCIONES DE SEGURIDAD DEL SMBD SELECCIONADO

Presentado por:
JOHAN ENRIQUE RAMOS TORRES

Instructor Responsable:
FERNANDO LOPEZ TRUJILLO

ESPECIALIZACIÓN TECNOLÓGICA EN GESTIÓN Y


SEGURIDAD DE BASE DE DATOS
NOVIEMBRE DE 2019
INTRODUCCIÓN

Existen muchas definiciones del término seguridad. Simplificando, se puede definir


la seguridad como la "Característica que indica que un sistema está libre de todo
peligro, daño o riesgo." Villalón (2007).

En toda actividad se hace necesario, no solo planear y ejecutar las actividades, sino
efectuar procedimientos de control que vayan encaminados a asegurar que dichas
actividades han sido ejecutadas de acuerdo a los parámetros que se habían establecido
con anterioridad.

Una estrategia de defensa exhaustiva, con niveles superpuestos de seguridad, es la


mejor manera de enfrentarse a las amenazas a la seguridad. SQL Server proporciona
una arquitectura de seguridad diseñada para permitir a los administradores de bases
de datos y desarrolladores crear aplicaciones de base de datos seguras y contrarrestar
las amenazas.

Las consideraciones comunes de seguridad, como el robo de datos o el vandalismo,


se aplican independientemente de la versión de SQL Server que se utilice. La
integridad de los datos también se debe considerar como un problema de seguridad.
Si los datos no están protegidos, es posible que acaben perdiendo su valor si se permite
la manipulación de datos ad hot y los datos se modifican sin intención o de forma
malintencionada con valores incorrectos o bien se eliminan por completo. Además, a
menudo existen requisitos legales que se deben cumplir, como el almacenamiento
correcto de información confidencial. El almacenamiento de determinados tipos de
datos personales está totalmente prohibido, en función de las leyes que se apliquen en
una jurisdicción determinada.
INFORMACIÓN GENERAL SOBRE LA SEGURIDAD DE SQL SERVER

Es importante comprender que las características de seguridad no pueden garantizar


por sí solas una aplicación de base de datos segura. Cada aplicación de base de datos
es única en lo que respecta a los requisitos, el entorno de ejecución, el modelo de
implementación, la ubicación física y el rellenado por parte del usuario.

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.

En cada versión de SQL Server se han introducido mejoras a las versiones anteriores
con nuevas características y funcionalidades. No obstante, la seguridad no es una
característica integrada más. Cada aplicación tiene requisitos de seguridad propios.
Los desarrolladores tienen que saber cuál es la combinación de características y
funcionalidades más apropiada para contrarrestar las amenazas conocidas, así como
anticiparse a las que puedan ir apareciendo en el futuro.

Una instancia de SQL Server contiene un conjunto jerárquico de entidades,


empezando por el servidor. Cada servidor contiene varias bases de datos y, a su vez,
cada base de datos contiene una colección de objetos susceptibles de ser protegidos.
Cada elemento protegible de SQL Server tiene asociados permisos que se pueden
conceder a un principal, que es un individuo, grupo o proceso concedido acceso a
SQL Server. El marco de seguridad de SQL Server administra el acceso a entidades
protegidas mediante autenticación y autorización.

La autenticación es el proceso de inicio de sesión en SQL Server por el que una


entidad de seguridad solicita el acceso mediante el envío de credenciales que el
servidor evalúa. La autenticación establece la identidad del usuario o proceso que se
autentica.

La autorización es el proceso con el que se determinan los recursos susceptibles de


protegerse a los que tiene acceso una entidad de seguridad, así como las operaciones
que les están permitidas a dichos recursos.

Los temas de esta sección abordan los conceptos básicos de seguridad de SQL Server
y proporcionan vínculos a la documentación completa de la versión de los Libros en
pantalla de SQL Server que corresponda.
AUTENTICACIÓN EN SQL SERVER

SQL Server admite dos modos de autenticación, el modo de autenticación de


Windows y el modo mixto.
La autenticación de Windows es el modo predeterminado, y a menudo se denomina
seguridad integrada debido a que este modelo de seguridad de SQL Server está
estrechamente integrado con Windows. Para iniciar sesión en SQL Server, se confía
en las cuentas de usuario y grupo específicas de Windows. Los usuarios de Windows
que ya hayan sido autenticados no tienen que presentar credenciales adicionales.
El modo mixto admite la autenticación tanto de Windows como de SQL Server. Los
pares de nombre de usuario y contraseña se mantienen en SQL Server.

SQL Server proporciona nueve roles fijos de servidor. Los permisos que se conceden
a los roles fijos de servidor no se pueden modificar. A partir de SQL Server 2012,
puede crear roles de servidor definidos por el usuario y agregarles permisos de nivel
de servidor. Como se muestra en la siguiente imagen:
Puede agregar entidades de seguridad a nivel de servidor (inicios de sesión de SQL
Server, cuentas de Windows y grupos de Windows) a los roles de nivel de servidor.
Cada miembro de un rol fijo de servidor puede agregar otros inicios de sesión a ese
mismo rol. Los miembros de roles de servidor definidos por el usuario no pueden
agregar otras entidades de seguridad de servidor al rol.
Roles fijos de nivel de servidor

En la tabla siguiente se muestran los roles fijos de nivel de servidor y sus capacidades.

Rol fijo de
nivel de Descripción
servidor

sysadmin Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier ac-
tividad en el servidor.

serverad- Los miembros del rol fijo de servidor serveradmin pueden cambiar opciones
min de configuración en el servidor y cerrar el servidor.

securityad- Los miembros del rol fijo de servidor securityadmin administran los inicios
min de sesión y sus propiedades. Pueden administrar los permisos de nivel de ser-
vidor GRANT, DENY, y REVOKE. También pueden administrar los permisos de
nivel de base de datos GRANT, DENY y REVOKE si tienen acceso a una base de
datos. Asimismo, pueden restablecer contraseñas para inicios de sesión
de SQL Server .

IMPORTANTE: La capacidad de conceder acceso a Motor de base de da-


tos y configurar los permisos de usuario permite que el administrador de se-
guridad asigne la mayoría de los permisos de servidor. El rol securityad-
min se debe tratar como equivalente al rol sysadmin .

processad- Los miembros del rol fijo de servidor processadmin pueden finalizar los pro-
min cesos que se ejecutan en una instancia de SQL Server.

setupad- Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar
min servidores vinculados mediante instrucciones de Transact-SQL. (Es necesaria
la pertenencia a sysadmin cuando se usa Management Studio).

bulkadmin Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instruc-
ción BULK INSERT.

diskadmin El rol fijo de servidor diskadmin se usa para administrar archivos de disco.

dbcreator Los miembros del rol fijo de servidor dbcreator pueden crear, modificar,
quitar y restaurar cualquier base de datos.
Rol fijo de
nivel de Descripción
servidor

public Cada inicio de sesión de SQL Server pertenece al rol de servidor pu-
blic.Cuando a una entidad de seguridad de servidor no se le han concedido ni
denegado permisos específicos para un objeto protegible, el usuario hereda
los permisos concedidos al rol pública para ese elemento. Solo asigne los per-
misos públicos en cualquier objeto cuando desee que el objeto esté disponible
para todos los usuarios. No puede cambiar la pertenencia en public.

Nota: El rol public se implementa de manera diferente que otros roles y los
permisos se pueden conceder, denegar o revocar de los roles fijos de servidor
públicos.

En esta imagen podemos encontrar la lista de roles en SQL Server

Para obtener una lista de los permisos en el nivel de servidor, ejecute la siguiente
instrucción:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
Trabajar con roles de nivel de servidor

En la tabla siguiente se explican los comandos, las vistas y las funciones que se pueden
utilizar para trabajar con roles de nivel de servidor

Característica Tipo Descripción

sp_helpsrvrole (Transact- Devuelve una lista de roles de nivel de


Metadatos
SQL) servidor.

Devuelve información acerca de los


sp_helpsrvrolemember
Metadatos miembros de un rol de nivel de
(Transact-SQL)
servidor.

sp_srvrolepermission Muestra los permisos de un rol de nivel


Metadatos
(Transact-SQL) de servidor.

Indica si un inicio de sesión de SQL


IS_SRVROLEMEMBER
Metadatos Server es miembro del rol de nivel de
(Transact-SQL)
servidor especificado.

sys.server_role_members Devuelve una fila por cada miembro de


Metadatos
(Transact-SQL) cada rol de nivel de servidor.

Agrega un inicio de sesión como


sp_addsrvrolemember miembro de un rol de nivel de
Comando
(Transact-SQL) servidor. Obsoleto. Utilice ALTER
SERVER ROLE en su lugar.

Quita un inicio de sesión de SQL


Server o un usuario o grupo de
sp_dropsrvrolemember
Comando Windows de un rol de nivel de
(Transact-SQL)
servidor.Obsoleto. Utilice ALTER
SERVER ROLE en su lugar.

CREATE SERVER Crea un rol de servidor definido por el


Comando
ROLE (Transact-SQL) usuario.

Cambia la pertenencia de un rol de


ALTER SERVER ROLE
Comando servidor o cambia el nombre de un rol
(Transact-SQL)
de servidor definido por el usuario.
Característica Tipo Descripción

DROP SERVER ROLE Quita un rol de servidor definido por el


Comando
(Transact-SQL) usuario.

IS_SRVROLEMEMBER Determina la pertenencia del rol de


Función
(Transact-SQL) servidor.

AUTORIZACIÓN Y PERMISOS EN SQL SERVER

Al crear objetos de base de datos, se deben conceder permisos de forma explícita para
que los usuarios tengan acceso a ellos. Cada objeto susceptible de protegerse tiene
permisos que se pueden otorgar a una entidad de seguridad mediante instrucciones de
permiso.
Cuando conceda permisos a usuarios de base de datos, siga siempre el principio de
los privilegios mínimos. Otorgue a usuarios y roles los mínimos permisos necesarios
para que puedan realizar una tarea concreta.
Tenemos permisos basados en roles y permisos mediante código basado en
procedimiento.

Instruc-
ción de Descripción
permiso

GRANT Concede un permiso.

Revoca un permiso. Este es el estado predeterminado de un ob-


jeto nuevo. Un permiso revocado a un usuario o rol se puede
REVOKE
heredar de otros grupos o roles a los que está asignada la enti-
dad de seguridad.

DENY revoca un permiso de manera que no pueda ser here-


dado. DENY tiene prioridad sobre todos los permisos, pero no se
aplica a propietarios de objeto o miembros de sysadmin. Si de-
DENY
niega permisos a un objeto en el rol public, se los deniega
igualmente a todos los usuarios y roles excepto a los propieta-
rios del objeto y a los miembros de sysadmin.
BIBLIOGRAFIA

https://docs.microsoft.com/es-es/previous-versions/sql/sql-server-2008-
r2/ms175892(v=sql.105)

https://docs.microsoft.com/es-es/sql/relational-databases/security/authentication-
access/create-a-server-role?view=sql-server-2017

https://docs.microsoft.com/es-es/sql/t-sql/lesson-2-configuring-permissions-on-
database-objects?view=sql-server-2017

https://docs.microsoft.com/es-es/dotnet/framework/data/adonet/sql/authorization-
and-permissions-in-sql-server

S-ar putea să vă placă și