Sunteți pe pagina 1din 15

CARACTERÍSTICAS Y FUNCIONES DE

SEGURIDAD DEL SMBD SELECCIONADO


JOSE NELSON ARAUJO DAZA
OBJETIVO
investigar sobre las opciones y herramientas suministradas por un sistema
manejador de base de datos (SMBD) relacionadas con la seguridad de la
información. Dentro de la investigación debe tener presente los siguientes aspectos:
• Características de seguridad configurables.
• Cuentas de Usuario y privilegios sobre los objetos del Sistema.
• Integridad
• Mecanismos de integridad y privacidad
• Funciones de seguridad
SQL SERVER 2019
SQL Server 2019, se basa en versiones anteriores para potenciar SQL Server como
una plataforma que proporciona diversas opciones de lenguajes de desarrollo, tipos
de datos, entornos locales o en la nube, y sistemas operativos.
SQL Server 2019 presenta Clústeres de macrodatos para SQL Server. También
proporciona funciones y mejoras adicionales para el motor de base de datos de SQL
Server, SQL Server Analysis Services, SQL Server Machine Learning Services, SQL
Server en Linux y SQL Server Master Data Services.
Los requisitos de instalación varían según las necesidades de su aplicación. Las
diferentes ediciones de SQL Server se adaptan a los requisitos únicos de
rendimiento, tiempo de ejecución y precio de organizaciones e individuos. Los
componentes de SQL Server que instale también dependen de sus requisitos
específicos. Las siguientes secciones lo ayudan a comprender cómo hacer la mejor
elección entre las ediciones y componentes disponibles en SQL Server.

Puede instalar solo los componentes del cliente SQL Server en una computadora
que ejecuta aplicaciones cliente / servidor que se conectan directamente a una
instancia de SQL Server. Una instalación de componentes de cliente también es
una buena opción si administra una instancia de SQL Server en un servidor de base
de datos, o si planea desarrollar aplicaciones de SQL Server.

La opción de herramientas de cliente instala las siguientes características de SQL


Server: componentes de compatibilidad con versiones anteriores, herramientas de
datos de SQL Server, componentes de conectividad, herramientas de
administración, kit de desarrollo de software y componentes de Libros en pantalla
de SQL Server. Para obtener más información, vea Instalar SQL Server .

El motor de base de datos de SQL Server incluye el motor de base de datos, el


servicio central para almacenar, procesar y proteger datos, replicación, búsqueda
de texto completo, herramientas para administrar datos relacionales y XML, en
integración de análisis de bases de datos e integración de PolyBase para acceder
a Hadoop y otras fuentes de datos heterogéneas y servicios de aprendizaje
automático para ejecutar scripts Python y R con datos relacionales.
Herramientas Descripción
administrativas
SQL Server SQL Server Management Studio (SSMS) es un entorno integrado
Management Studio para acceder, configurar, administrar, administrar y desarrollar
componentes de SQL Server. SSMS permite a los desarrolladores y
administradores de todos los niveles utilizar SQL Server. La última
edición de SSMS actualiza SMO, que incluye la API de
evaluación SQL .

Administrador de El Administrador de configuración de SQL Server proporciona


configuración de administración de configuración básica para servicios de SQL Server,
SQL Server protocolos de servidor, protocolos de cliente y alias de cliente.
SQL Server Profiler SQL Server Profiler proporciona una interfaz gráfica de usuario para
monitorear una instancia de Motor de base de datos o Analysis
Services.
Asesor de ajuste de Database Engine Tuning Advisor ayuda a crear conjuntos óptimos de
motor de base de índices, vistas indexadas y particiones.
datos
Cliente de calidad de Proporciona una interfaz gráfica de usuario muy simple e intuitiva para
datos conectarse al servidor DQS y realizar operaciones de limpieza de
datos. También le permite monitorear centralmente varias actividades
realizadas durante la operación de limpieza de datos.

Herramientas de SQL Server Data Tools proporciona un IDE para crear soluciones
datos de SQL Server para los componentes de Business Intelligence: Analysis Services,
Reporting Services e Integration Services.
(Anteriormente llamado Business Intelligence Development Studio).
SQL Server Data Tools también incluye "Proyectos de base de datos",
que proporciona un entorno integrado para que los desarrolladores
de bases de datos realicen todo su trabajo de diseño de bases de
datos para cualquier plataforma de SQL Server (tanto dentro como
fuera de las instalaciones) dentro de Visual Studio. Los
desarrolladores de bases de datos pueden usar el Server Explorer
mejorado en Visual Studio para crear o editar fácilmente objetos y
datos de la base de datos, o ejecutar consultas.
Componentes de Instala componentes para la comunicación entre clientes y
conectividad servidores, y bibliotecas de red para DB-Library, ODBC y OLE DB.
CUENTAS DE USUARIO Y PRIVILEGIOS
Un inicio de sesión es una entidad de seguridad o una entidad que puede ser autenticada
por un sistema seguro. Los usuarios necesitan iniciar sesión para conectarse a SQL
Server. Puede crear un inicio de sesión basado en una entidad de seguridad de Windows
(como un usuario de dominio o un grupo de dominio de Windows) o puede crear un inicio
de sesión que no lo esté (como un inicio de sesión de SQL Server ).
Como entidad de seguridad, se pueden conceder permisos a los inicios de sesión. El ámbito
de un inicio de sesión es todo el Motor de base de datos. Para establecer conexión con una
base de datos concreta de la instancia de SQL Server, un inicio de sesión debe estar
asignado a un usuario de la base de datos. Los permisos dentro de la base de datos se
conceden y deniegan al usuario de la base de datos, no al inicio de sesión. Los permisos
que tienen como ámbito la instancia completa de SQL Server (por ejemplo, el
permiso CREATE ENDPOINT ) se pueden conceder a un inicio de sesión.

Asignación de usuarios

La página Asignación de usuarios enumera todas las bases de datos posibles y


las pertenencias al rol de base de datos en esas bases de datos que se pueden
aplicar al inicio de sesión. Las bases de datos seleccionadas determinan las
pertenencias a roles disponibles para el inicio de sesión. En esta página están
disponibles las opciones siguientes:

Usuarios asignados a este inicio de sesión


Selecciona las bases de datos a las que se puede obtener acceso con este inicio
de sesión. Cuando se seleccione una base de datos, sus roles de bases de datos
válidos se mostrarán en el panel Miembros del rol de base de datos
para: nombre_baseDeDatos .

Map
Permite que el inicio de sesión obtenga acceso a las bases de datos que se
muestran a continuación.

Base de datos
Muestra las bases de datos disponibles en el servidor.

User
Especifica el usuario de base de datos que se va a asignar al inicio de sesión. De
forma predeterminada, el nombre del usuario de base de datos coincide con el inicio
de sesión.

Esquema predeterminado
Especifica el esquema predeterminado del usuario. Cuando se crea un usuario por
primera vez, el esquema predeterminado es dbo. Es posible especificar un
esquema predeterminado que aún no existe. No puede especificar un esquema
predeterminado para un usuario asignado a un grupo, un certificado o una clave
asimétrica de Windows.

Cuenta de invitado habilitada para: nombre_baseDeDatos


Atributo de solo lectura que indica si la cuenta de invitado está habilitada en la
base de datos seleccionada. Utilice la página Estado del cuadro de
diálogo Propiedades de inicio de sesión de la cuenta de invitado para habilitarla
o deshabilitarla.

Miembros del rol de base de datos para: nombre_baseDeDatos


Selecciona los roles para el usuario en la base de datos especificada. Todos los
usuarios son miembros del rol public de todas las bases de datos, y no pueden
eliminarse. Para obtener más información sobre los roles de base de datos,
vea Roles de nivel de base de datos.

Todos los elementos protegibles de SQL Server tienen permisos asociados que se
pueden conceder a una entidad de seguridad. Los permisos de Motor de base de
datos se administran en el nivel de servidor asignados a los inicios de sesión y roles
de servidor, y en el nivel de base de datos asignados a usuarios de base de datos
y roles base de datos.

PRIVILEGIOS SOBRE OBJETOS


SQL Server garantiza que solamente puedan tener acceso a los objetos las entidades de
seguridad a las que se les han concedido permisos. Cuando varios objetos de base de
datos tienen acceso el uno al otro, la secuencia se conoce como "cadena". Cuando SQL
Server atraviesa los vínculos de la cadena, evalúa los permisos de manera diferente a como
lo haría si estuviera obteniendo acceso a cada elemento separadamente. Cuando se
obtiene acceso a un objeto a través de una cadena, SQL Server primero compara al
propietario del objeto con el propietario del objeto de llamada (el vínculo anterior de la
cadena). Si ambos objetos tienen el mismo propietario, los permisos del objeto al que se
hace referencia no se comprueban. Siempre que un objeto obtiene acceso a otro objeto
que tiene un propietario distinto, la cadena de propiedad se rompe y SQL Server debe
comprobar el contexto de seguridad del llamador.

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. Los 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.
Puede conceder permisos en el nivel de esquema. Los usuarios heredan
automáticamente los permisos en todos los objetos nuevos creados en el esquema;
no es necesario otorgar permisos cuando se crean objetos nuevos.

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.

Instrucciones de permiso

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

Instrucción DESCRIPCIÓN
de permiso
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.
MECANISMOS DE INTEGRIDAD Y PRIVACIDAD

Niveles de la integridad
La integridad de datos se define en los siguientes niveles:

Integridad de dominio
Se conoce como el dominio de un atributo al conjunto de valores aceptables para
dicho atributo. La integridad de dominio establece qué condiciones deben cumplir
los valores a insertar en una columna.
La integridad de dominio se define mediante reglas de validación, valores
predeterminados, conjunto de valores permitidos en la columna (llave foránea),
tipo y formato de los datos.

Integridad de entidad
Una tabla almacena los datos de cada una de las ocurrencias de una entidad. La
entidad (o tabla) requiere que todas sus filas sean únicas. Esto se garantiza
definiendo para cada fila de la entidad un identificador único (llave primaria).

Integridad referencial
La integridad referencial garantiza que la relación entre la llave primaria (en la
tabla referenciada) y la llave foránea (en la tabla de referencia) siempre se
mantiene. Una fila en una tabla referenciada no puede anularse, ni cambiar su
valor de la llave primaria, si una llave foránea se refiere a la fila.

Los modos de integridad


La integridad de datos se puede definir como parte de la declaración de una tabla,
ó también mediante programación.

Integridad declarativa
La integridad declarativa se establece cuando definimos la integridad de datos
como parte de la definición de la tabla. Consiste en la creación de restricciones
(constraints), y se define mediante las instrucciones CREATE TABLE y ALTER
TABLE.

Integridad procedural
La integridad procedural se establece cuando definimos la integridad de datos a
través de la programación. Consiste en la creación de desencadenantes (triggers),
procedimientos almacenados (stored procedures), y funciones (user defined
functions).

Las restricciones (constraints)


Las restricciones son un método declarativo de definición de la integridad de datos
ya que ellas se definen al momento de crear la tabla (con la sentencia CREATE
TABLE), o al momento de modificar la definición de la tabla (con la sentencia
ALTER TABLE). En otras palabras, una restricción forma parte de la definición de
la tabla. Las restricciones son el método preferido para dar fuerza a la integridad
de los datos.

Tipos de restricciones
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.
La tabla siguiente describe los diferentes tipos de restricciones.

Las restricciones se definen al momento de definir la tabla con las


sentencias CREATE TABLE o ALTER TABLE.

CREATE TABLE nombre_tabla(


columna1 tipo_dato propiedades
CONSTRAINT nombre_restricción … ,
columna2 tipo_dato propiedades
CONSTRAINT nombre_restricción … , … )
ALTER TABLE nombre_tabla
ADD CONSTRAINT nombre_restricción …

La restricción DEFAULT (valor predeterminado)


Define cuál es el valor por defecto de una columna cuando al ejecutar INSERT no
se especifica el valor de dicha columna.
Ejemplo
USE biblioteca
ALTER TABLE prestamo
ADD CONSTRAINT df_fecha_sal
DEFAULT getdate( ) FOR pre_fec_sal
Establece que el valor predeterminado de la columna pre_fec_sal de la tabla
prestamo es la fecha del sistema.

La restricción CHECK (regla de validación)


Define la regla que debe cumplir el valor a ingresar a una columna. Se verifica
durante la ejecución de INSERT y UPDATE.
Ejemplo
ALTER TABLE ejemplar
ADD CONSTRAINT chk_disponibilidad
CHECK ( eje_dis LIKE'[ SN]’ )
El contenido de la columna eje_dis de la tabla ejemplar debe ser ‘S’ o ‘N’.

La restricción PRIMARY KEY (llave primaria)


Define cuál es la llave primaria de una tabla. La columna o combinación de
columnas no debe tener valores duplicados ni nulos.
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.

La restricción UNIQUE (valores únicos)


Define que mas de una fila no pueden tener el mismo valor en una columna.
Permite nulo.
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.

La restricción FOREIGN KEY (llave foránea)


Define la integridad referencial. La restricción FOREIGN KEY se define sobre la
columna llave foránea de la tabla secundaria. La tabla primaria debe tener definida
su restricción PRIMARY KEY o UNIQUE.
Ejemplo
ALTER TABLE ejemplar
ADD CONSTRAINT fk_ejemplar_publicacion
FOREIGN KEY( pub_cod )
REFERENCES publicacion( pub_cod )
Establece la relación entre las tablas publicación y ejemplar.
PRIVACIDAD
Los elementos protegibles son los recursos cuyo acceso es regulado por el sistema
de autorización del Motor de base de datos de SQL Server . Por ejemplo, una tabla
es un elemento protegible. Algunos elementos protegibles pueden estar incluidos
en otros, con lo que se crean jerarquías anidadas denominadas "ámbitos" que a su
vez se pueden proteger. Los ámbitos protegibles son servidor, base de
datosy esquema.

Ámbito protegible: servidor

El ámbito protegible servidor contiene los siguientes valores que puede proteger:

• grupo de disponibilidad
• Punto de conexión
• Inicio de sesión
• Rol de servidor
• Base de datos

Ámbito protegible: base de datos

El ámbito protegible base de datos contiene los siguientes valores que puede
proteger:

• Rol de aplicación
• Assembly
• Clave asimétrica
• Certificado
• Contrato
• Catálogo de texto completo
• Lista de palabras irrelevantes de texto completo
• Tipo de mensaje
• Enlace de servicio remoto
• (Base de datos) Rol
• Enrutar
• Schema
• Lista de propiedades de búsqueda
• Servicio
• Clave simétrica
• Usuario

Ámbito protegible: esquema

El ámbito protegible esquema contiene los siguientes valores que se pueden


proteger:
• Tipo
• Colección de esquemas XML
• Objeto: la clase de objeto tiene los miembros siguientes:
o Agregado
o Función
o Procedimiento
o Cola
o Synonym (Sinónimo)
o Tabla
o Ver
o Tabla externa

Controlar el acceso a un elemento protegible

La entidad que recibe el permiso para un elemento protegible se denomina "entidad


de seguridad". Las entidades de seguridad más comunes son inicios de sesión y
usuarios de la base de datos. El acceso a elementos protegibles se controla
mediante la concesión o denegación de permisos o con la incorporación de inicios
de sesión y usuarios a roles con acceso. Para obtener más información sobre cómo
controlar los permisos, vea GRANT (Transact-SQL), REVOKE (Transact-
SQL), DENY (Transact-SQL), sp_addrolemember (Transact-
SQL) y sp_droprolemember (Transact-SQL).
FUNCIONES DE SEGURIDAD

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. Los siguientes temas le
guiarán durante el proceso de creación e implementación de un plan de seguridad
eficaz.

Puede buscar más información sobre la seguridad de SQL Server en el sitio web
de SQL Server . En él encontrará una guía de prácticas recomendadas y una lista
de comprobación de seguridad. Este sitio también incluye las últimas descargas e
información sobre los Service Packs.

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. En la tabla siguiente se incluye más
información sobre la seguridad de la red.

Seguridad del sistema operativo

Los Service Packs y las actualizaciones del sistema operativo incluyen mejoras de
seguridad importantes. Aplique todas las revisiones y actualizaciones al sistema
operativo después de probarlas con las aplicaciones de base de datos.

Los firewalls también proporcionan formas eficaces de implementar la


seguridad. Lógicamente, un firewall es un separador o limitador del tráfico de red,
que puede configurarse para aplicar la directiva de seguridad de datos de su
organización. Si utiliza un firewall, aumentará la seguridad del sistema operativo, ya
que proporciona un cuello de botella en el que pueden concentrarse las medidas de
seguridad. En la tabla siguiente se incluye más información sobre la forma de usar
un firewall con SQL Server.
La reducción del área expuesta es una medida de seguridad que implica detener o
deshabilitar los componentes que no se utilizan. La reducción del área expuesta
ayuda a mejorar la seguridad al proporcionar menos accesos para ataques
potenciales al sistema. La clave para limitar el área expuesta de SQL
Server consiste en ejecutar los servicios requeridos que tienen "privilegios mínimos"
concediendo exclusivamente los derechos necesarios a los servicios y los
usuarios. En la tabla siguiente se incluye más información sobre el acceso al
sistema y a los servicios.

Si el sistema SQL Server usa Internet Information Services (IIS), es necesario


realizar pasos adicionales para proteger la superficie de la plataforma. En la tabla
siguiente se incluye información sobre SQL Server e Internet Information Services.

Seguridad de los archivos del sistema operativo de SQL Server

SQL Server usa archivos del sistema operativo para el funcionamiento y el


almacenamiento de datos. Las recomendaciones de seguridad de archivos indican
que se restrinja el acceso a estos archivos. En la tabla siguiente se ofrece
información sobre estos archivos.

Entidades de seguridad y seguridad de objetos de base de datos

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 . En la tabla siguiente se incluye información sobre las entidades de
seguridad y los elementos protegibles.

Cifrado y certificados

El cifrado no resuelve los problemas de control de acceso. Sin embargo, mejora la


seguridad debido a que limita la pérdida de datos, incluso en el caso poco probable
de que se superen los controles de acceso. Por ejemplo, si el equipo host de base
de datos no está configurado correctamente y un usuario malintencionado obtiene
datos confidenciales, como números de tarjetas de crédito, esa información robada
podría resultar inservible si está cifrada. La tabla siguiente contiene más información
acerca del cifrado en SQL Server.

Seguridad de aplicaciones
Programas de cliente

SQL Server incluyen la escritura de aplicaciones cliente seguras. Para obtener más
información sobre cómo proteger las aplicaciones cliente en el nivel de red,
vea Client Network Configuration.
Control de aplicaciones de Windows Defender (WDAC)

Control de aplicaciones de Windows Defender (WDAC) evita la ejecución de código


no autorizado. WDAC es una manera eficaz de mitigar la amenaza de malware
basado en archivos ejecutables. Para obtener más información, vea la
documentación Control de aplicaciones de Windows Defender.

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