Sei sulla pagina 1di 6

CARACTERÍSTICAS Y FUNCIONES DE

SEGURIDAD DEL SMBD


“SQL SERVER”
SISTEMAS OPERATIVOS QUE SOPORTAN EL VERSION HERRAMIENTAS DE
SMBD SQL SERVER SISTEMA OPERATIVO SMDBA ADMINISTRACION GUI
Windows Server 2016 Standard (64 bits) 2016 R2 Servicios de SQL Server Configuración de Red SQL
Server
Configuración de SQL Native Client
Windows Server 2016 R2 Standard, Enterprise y 2016 R2 Servicios de SQL Server Configuración de Red SQL
Datacenter (64 bits) Server
Configuración de SQL Native Client
Windows Server 2016 Standard, Enterprise y 2016 R2 Servicios de SQL Server Configuración de Red SQL
Datacenter (64 bits) Server
Configuración de SQL Native Client

CARACTERISTICAS DE SEGURIDAD
El sistema manejador de bases de datos cuenta con las siguientes características.

Protección de datos:

 Criptografía integrada.
 Cifrado transparente.
 Clave extensible.
 Firma de módulos de códigos.
 Certificados a partir de bytes.
 Claves de seguridad usando AES256.
 Soporte para hashes SHA512 y SHA2 (256 y 512 bits).

Control de Acceso:

• Flexibilidad mediante reparto de responsabilidades y roles anidados.


• Evasión del acceso de Administrador del Sistema.
• Mayor cumplimiento de las normas utilizando Windows Group.
• Usuarios individuales.
• Seguridad de usuarios con controles de TI integrados.

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.

Permisos basados en roles

Otorgar permisos a roles en lugar de a usuarios simplifica la administración de la seguridad.


Los conjuntos de permisos asignados a roles los heredan todos los miembros del rol. Es más
fácil agregar o quitar usuarios de un rol que volver a crear conjuntos de permisos distintos
para cada usuario. Las roles se pueden anidar. Sin embargo, la existencia de demasiados
niveles de anidamiento puede reducir el rendimiento. También puede agregar usuarios a
roles fijos de bases de datos para simplificar los permisos de asignación.

1. Los conjuntos predeterminados de permisos en Microsoft SQL Server son los siguientes:
Permiso Lectura y escritura Sólo lectura Sólo escritura

db_backupoperator + + +

db_datareader + + -

db_datawriter + - +

db_ddladmin + - +

Permisos a mediante código basado en procedimiento

El encapsulamiento del acceso a los datos a través de módulos tales como procedimientos
almacenados y funciones definidas por el usuario brinda un nivel de protección adicional a
la aplicación. Se puede evitar que los usuarios interactúen directamente con objetos de la
base de datos otorgando permisos solo a procedimientos almacenados o funciones, y
denegando permisos a objetos subyacentes tales como tablas. SQL Server lo consigue
mediante encadenamiento de propiedad.

Instrucciones de permiso

En la siguiente tabla se describen las tres instrucciones de permiso de Transact-SQL.


Instrucción de
permiso DESCRIPCIÓN

GRANT Concede un permiso.

REVOKE Revoca un permiso. Este es el estado predeterminado de un objeto nuevo. Un permiso


revocado a un usuario o rol se puede heredar de otros grupos o roles a los que está asignada
la entidad de seguridad.

DENY DENY revoca un permiso de manera que no pueda ser heredado. DENY tiene prioridad sobre
todos los permisos, pero no se aplica a propietarios de objeto o miembros de sysadmin. Si
deniega permisos a un objeto en el rol public, se los deniega igualmente a todos los usuarios
y roles excepto a los propietarios del objeto y a los miembros de sysadmin.
Garantía de Cumplimiento:

• Optimización mejorada y capacidades enriquecidas con respecto a versiones


anteriores.
• Mayor flexibilidad para filtrar eventos no deseados en el log de la auditoría.
• Permite que las aplicaciones escriban código personalizado dentro de log de la
auditoría

INTEGRIDAD

Es importante, al diseñar una base de datos y las tablas que contiene, tener en cuenta la
integridad de los datos, esto significa que la información almacenada en las tablas debe ser
válida, coherente y exacta.

Hasta el momento, hemos controlado y restringido la entrada de valores a un campo


mediante el tipo de dato que le definimos (cadena, numéricos, etc.), la aceptación o no de
valores nulos, el valor por defecto. También hemos asegurado que cada registro de una
tabla sea único definiendo una clave primaria y empleando la propiedad identity.
SQL Server ofrece más alternativas, además de las aprendidas, para restringir y validar los
datos, las veremos ordenadamente y al finalizar haremos un resumen de las mismas.
Para asegurar la coherencia de los datos en la base de datos, es posible administrar a nivel
del servidor, un conjunto de funcionalidades que permiten centralizar los controles y las
reglas de funcionamiento que se especifican en el análisis.

La implementación de la integridad de los datos se puede hacer de manera procedimental


usando triggers (TRIGGER) o declarativa, usando restricciones (CONSTRAINT).
Cuando se construye la tabla, también es posible definir valores por defecto (DEFAULT) o
especificar un contador asociado a una columna (IDENTITY). Estas 2 opciones no permiten
garantizar la integridad de los datos, pero contribuyen de manera significativa a esta
integridad.

La integridad de los datos traduce las reglas del modelo relacional, reglas de coherencia
(integridad de dominio), existencia de valores nulos, regla de unicidad (integridad de
entidad) y claves extranjeras (integridad referencial).

En la medida de lo posible, es preferible implementar la integridad usando restricciones, ya


que la restricción forma parte integrante de la estructura de la tabla. El respeto de la
restricción es efectivo para todos los registros y la comprobación es mucho más rápida.

• Licencia de software. Es un contrato en donde se especifican todas las normas y


cláusulas que rigen el uso de un determinado producto de software, teniendo en
cuenta aspectos como: alcances de uso, instalación, reproducción y copia de estos
productos.
• Log’s. Registro o datos de quién, qué, cuándo, dónde y por qué un evento ocurre
para un dispositivo o sistema en particular.
• MAC (Media Access Control): Es un identificador de 48 bits (3 bloques
hexadecimales) que corresponde de forma única a una tarjeta o dispositivo de red.
Es la identificación única de cualquier dispositivo físico que hace parte de la una red
de datos.
• Perfiles de usuario. Son grupos que concentran varios usuarios con similares
necesidades de autorizaciones idénticas sobre los recursos tecnológicos o los
sistemas de información a los cuales se les conceden acceso de acuerdo con las
funciones realizadas. Las modificaciones sobre un perfil de usuario afectan a todos
los usuarios que se encuentran dentro del mismo grupo.
• Reasignación de derechos de acceso. Es la modificación de los privilegios con que
cuenta un funcionario sobre recursos tecnológicos, la red de datos o los sistemas de
información de la Institución por cambio de sus funciones.

FUNCIONES DE SEGURIDAD

• CERTENCODED (Transact-SQL): Devuelve la parte pública de un certificado en


formato binario. Esta función toma un identificador de certificado y devuelve el
certificado codificado. El resultado binario se puede pasar a CREATE CERTIFICATE…
WITH BINARY para crear un nuevo certificado.
• PWDCOMPARE (Transact-SQL): Obtiene el valor hash de una contraseña y lo
compara con el de otra existente.
• CERTPRIVATEKEY (Transact-SQL): Devuelve la clave privada de un certificado en
formato binario.
• PWDENCRYPT (Transact-SQL): Devuelve el valor hash de la contraseña de SQL Server
correspondiente al valor de entrada que usa la versión actual del algoritmo de hash
de contraseñas.
• CURRENT_USER (Transact-SQL): Devuelve el nombre de usuario actual.
• SCHEMA_ID (Transact-SQL): Devuelve el identificador de esquema asociado a un
nombre de esquema.
• DATABASE_PRINCIPAL_ID (Transact-SQL): Devuelve el número de Id. de una entidad
de seguridad de la base de datos actual.
• SCHEMA_NAME (Transact-SQL): Devuelve el número de Id. de una entidad de
seguridad de la base de datos actual.
• SYS.FN_BUILTIN_PERMISSIONS (Transact-SQL): Devuelve una descripción de la
jerarquía de permisos integrados del servidor.
• SESSION_USER (Transact-SQL): SESSION_USER devuelve el nombre de usuario del
contexto actual en la base de datos actual.
• SYS.FN_GET_AUDIT_FILE (Transact-SQL): Devuelve información de un archivo de
auditoría creado por una auditoría de servidor en SQL Server.
• SUSER_ID (Transact-SQL): Devuelve el número de identificación de inicio de sesión
del usuario
• SYS.FN_MY_PERMISSIONS (Transact-SQL): Devuelve una lista de los permisos
concedidos a la entidad de seguridad para un elemento protegible.
• SUSER_SID (Transact-SQL): Devuelve el número de identificación de seguridad (SID)
que corresponde al nombre de inicio de sesión especificado.
• HAS_PERMS_BY_NAME (Transact-SQL): Evalúa el permiso efectivo del usuario
actual sobre un elemento protegible.
• SUSER_SNAME (Transact-SQL): Devuelve el nombre de inicio de sesión asociado a
un número de identificación de seguridad (SID).
• IS_MEMBER (Transact-SQL): Indica si el usuario actual es miembro del grupo de
Microsoft Windows o del rol de base de datos de SQL Server especificados.
• SYSTEM_USER (Transact-SQL): Permite insertar en una tabla un valor proporcionado
por el sistema para el inicio de sesión actual cuando no se especifica ningún valor
predeterminado.
• IS_ROLEMEMBER (Transact-SQL): Indica si una entidad de seguridad de base de
datos especificada es miembro del rol de base de datos especificado.
• SUSER_NAME (Transact-SQL): Devuelve el nombre de identificación de inicio de
sesión del usuario.
• IS_SRVROLEMEMBER (Transact-SQL): Indica si en el inicio de sesión de SQL Server es
miembro del rol de servidor especificado.
• USER_ID (Transact-SQL): Devuelve el número de identificación para un usuario de la
base de datos.
• ORIGINAL_LOGIN (Transact-SQL): Devuelve el nombre del inicio de sesión que se
conectó a la instancia de SQL Server
• USER_NAME (Transact-SQL): Devuelve un nombre de usuario de base de datos a
partir de un número de identificación especificado.
• PERMISSIONS (Transact-SQL): Devuelve un valor que contiene un mapa de bits que
indica los permisos del usuario actual sobre una instrucción, objeto o columna.

Potrebbero piacerti anche