Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPaulino Valencia Modificado hace 11 años
1
Rubén Alonso Cebrián ralonso@informatica64.com www.puntocompartido.com
HOL-SQL 23 Microsoft SQL Server 2008 Administración y seguridad Rubén Alonso Cebrián
2
Agenda Utilización de Server Management Studio Uso de Comfiguration Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
3
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2005 Gestión de permisos Gestión de Certificados
4
SQL Server Management Studio
Entorno integrado para el acceso, configuración y administración de todos los componentes de SQL Server 2008 Combina las capacidades de las siguientes herramientas de versiones anteriores: Enterprise Manager Query Analyzer Analysis Manager,
5
Herramientas visuales para generar:
Características Gestión completa de: Servidores de BBDD relacionales Servidores de BBDD de Analysis Services Servidores de Reporting Services Servidores de Integration Services Herramientas visuales para generar: Transact-SQL XMLA MDX DMX
6
Registro de un servidor
7
Object Explorer Crear y administrar bases de datos y objetos.
Ver y modificar propiedades de bases de datos . Creación de scripts. Creación de orígenes de datos Gestión de permisos y privilegios Configuración de la replicación Creación de paquetes *.dtsx. Ver archivos de log Administración del agente SQL
8
SQL Server Management Studio Solutions
Útil para agrupar consultas y conexiones almacenándolas y permitiendo su ejecución posterior. Una solución es una colección de uno o varios proyectos de SQL Server Management Studio projects. Un proyecto de Server Management Studio es un conjunto de conexiones, definiciones y consultas, que aportan el modo correcto de organizar consultas y conexiones relacionadas
9
Agenda Utilización de Server Management Studio Uso de Configuration Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
10
Configuration Manager
11
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
12
Definición sqlcmd Ofrece la posibilidad de ejecutar instrucciones Transact-SQL desde la línea de comandos y programar batch jobs. Utiliza OLE DB, las versiones previas usaban ODBC o DB-Library. Soporte para osql aunque no estará soportado en versiones futuras Mejoras Posibilidad de usar variables Conexión dinámica a servidores Dedicated Administrator Connection (DAC), permite a un dba conectarse al servidor para resolver problemas
13
Usando sqlcmd
14
sqlcmd Command Syntax
15
sqlcmd Command Syntax
16
sqlcmd Command-Line Switches
17
sqlcmd Command-Line Switches
18
Ejecución de Scripts empleando sqlcmd
19
Uso de variables con sqlcmd
Posibilidad de crear scripts genericos que pueden ejecutarse contra distintas BBDD y servidores A parte de las variables de entorno usadas con el modificador –v, pueden definirse variables dentro de los scripts con el modificador :setvar
20
Dedicated Administrator Connection (DAC)
Permite la conexión incluso cuando el servidor se cuelga o no está disponible. No podrá usarse cuando el servicio SQL Server se ha pausad, o detenido Se permite el uso de un único DAC
21
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
22
SQL Management Objects
API que permite automatizar tareas administrativas ya que reduce la posibilidad de errores e inconsistencias. Muy operativo cuando existen múltiples servidores e instancias SMO implementa un ensamblado .NET a(Microsoft.SqlServer.Smo.dll). Define una jerarquía de objetos así como su propio modelo de objetos. Permite generar aplicaciones que para realizar tareas administrativas: Recuperacion y modificacion de configuraciones Creacion de nuevas BBDD Backups Gestión de trabajos.
23
SQL Management Objects
Copia de seguridad utilizando SMO con diversos lenguajes (VB.Net, C#, Vbscript) Fuente:
24
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
25
Mejoras en el profiler Aporta mayor información sobre rendimiento y proceso de BBDD que en versiones anteriores Captura trazas y eventos enviados por SQL Server 2008 Analysis Services. Almacenar resultados en XML
26
Profiler
27
Profiler
28
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
29
Ambito a nivel de base de datos Ambito a nivel de servidor
Características Se desencadenan cuando un usuario ejecuta una operación de definion DDL, p.e CREATE TABLE, DROP TRIGGER, o UPDATE STATISTICS. Ambito a nivel de base de datos Ambito a nivel de servidor
30
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
31
Consultas a Metadatos estáticos
Aportan información sobre objetos de base de datos, tablas, procedimientos almacenados, restricciones.
32
Consultas a Metadatos dinámicas
33
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
34
Motor de base de datos. Seguridad
Iniciativa Trustworthy Computing: Seguro por diseño Seguro por defecto Seguro en implementación Seguro en comunicaciones
35
Motor de base de datos. Seguridad
Configuración de seguridad recomendada: SSOO Windows Server 2003 o Windows Server 2008 Microsoft Windows Server Update Service (WSUS) Microsoft SQL Server Surface Area Configuration
36
Motor de base de datos. Seguridad
Autenticación: Procesos de autenticación encriptados por defecto de igual forma que SSL para conexiones clientes Microsoft SQL Server 2005 o superior Reforzamiento de gestión de contraseñas (NetValidatePasswordPolicy()) mediante las políticas de contraseñas de Windows Server 2003 en lo referente a complejidad, vencimiento, bloqueo, etc. Password Policy Password Expiration Account Lockout Policy
37
Modelo de seguridad de SQL Server
Solicitud de conexión de red / protocolo de enlace de preinicio de sesión Conectar al PC de SQL Server Solicitud de autenticación de inicio de sesión a SQL Server Establecer credenciales de inicio de sesión Cambio a una base de datos y autorización de acceso Establecer un contexto de base de datos Intento para realizar alguna acción Verificar los permisos para todas las acciones
38
Aplicación de la política de contraseñas
Aplicación de lo siguiente en los inicios de sesión Fuerza de la contraseña Expiración de la contraseña Cierres de cuenta Sigue la política local de contraseña NT Da soporte consistente a las políticas empresariales en toda la compañía Enfoque La nueva política de contraseñas verifica la API en .NET Server Invocado durante la autenticación, establece y reestablece la contraseña En el servidor Win2K La API no está disponible Sólo da soporte a la complejidad de contraseña nativa de SQL Server
39
Política de contraseñas para los inicios de sesión
Durante la autenticación Cierre de la cuenta en caso del ataque de fuerza bruta Restricciones de vencimiento de contraseña – si se establece la expiración Establecimiento o cambio de contraseña Se aplica la complejidad de contraseña y se verifica el historial Soporte del lado del cliente Permite el cambio de contraseña en el inicio de sesión, similar a Windows Capacidad para deshabilitar los inicios de sesión rápidamente
40
Fortalecer la autenticación de SQL
Canal más fuerte para el protocolo de autenticación en el inicio de sesión estándar de SQL El canal está encriptado utilizando certificados generados por SQL No se necesita la carga de un certificado SSL Similar a la implementación actual de SSL Mecanismo predeterminado para los inicios de sesión estándar SQL en los clientes SQL Server 2008 que se comunican con un servidor SQL Server 2008 Transparente a las aplicaciones; no requiere un cambio de aplicación Soporte para la autenticación bajo el viejo estilo para los clientes con un nivel menor
41
Mejoras de seguridad en SQL Server 2008
Password policy Ámbitos jerárquicos de seguridad principals, asegurables y permissions Espacios de nombres independientes del usuario, organizados por schemas. Visibilidad limitada de los metadatos. Contexto de ejecución Posibilidad de especificar en base a que cuenta de usuario se ejecutará un objeto
42
Arquitectura de seguridad en SQL Server 2008
Principals Cuentas de seguridad que pueden acceder al sistema Asegurables Recursos del sistema Permissions Permiten realizar una acción en un asegurable
43
Principals A nivel de windows
Grupos de Windows, cuentas de dominio y cuentas locales de usuario Sql Server Base de datos
44
Asegurables Server Logins HTTP endpoints Certificates Databases
Servicios Assemblies and XML schemas. Schema Tablas Vistas procedimientos
45
Permisos Se utilizan para permitir el acceso a los Asegurables
GRANT, REVOKE y DENY establecen las acciones que los principales pueden realizar en los Asegurables Nuevos permisos en función de los nuevos asegurables Los permisos establecidos en un ámbito se heredan a los ámbitos más bajos
46
Resumen del sistema
47
Administración de logins
CREATE LOGIN sp_addlogin sp_grantlogin Server login password policies
48
Separación del esquema de usuarios
Separación de temas principales y esquemas Principal Entidades contra las cuales los objetos están asegurados En vivo en la vista sys.database_principals Esquema Contenedor de objetos; tercera parte de un nombre de 4 partes En vivo en la vista de sys.schemas Noción del Esquema por predeterminación Propiedad del rol de la aplicación o del usuario Utilizado en la resolución del nombre; buscar algoritmos por objetos Mantenimiento en sys.database_principals Nueva DDL para usuario y esquemas CREAR/ALTERAR/colocar para USUARIO, ROL y ESQUEMA Colocar al usuario no requiere la reescritura de la aplicación
49
Schemas Organizan las bases de datos en espacios de nombres
Por defecto una base de datos contiene un usuario denominado dbo que represente al propietario de la base de datos La base de datos también incluye un único schema denominado también dbo. Se pueden generar multiples schemas en la base de datos para organizar logicamente objetos en distintos espacios de nombre
50
Esquemas predeterminados
Se utiliza para propósitos de resolución de nombres No todos los usuarios necesitan poseer esquemas Da la capacidad para compartir la búsqueda de resolución de nombres entre varios usuarios El esquema DBO no necesita ser el único esquema compartido, desde la perspectiva de búsqueda de nombre Utilidad Crear objetos garantizados al hacer búsquedas de nombre de cada contexto, los objetos no necesitan ser creados en un esquema DBO. Al tener estos contextos apuntando a otro esquema como uno predeterminado. Permitir la creación de los objetos en el esquema DBO podría crear riesgos a través de la cadena de propiedad. Esto se mitiga utilizando esquemas “con menores privilegios” como el esquema predeterminado ‘menores privilegios’: Son propiedad de una cuenta con menores privilegios
51
Separación del esquema de usuarios
La base de datos puede contener varios esquemas Cada esquema tiene un propietario principal – usuario o rol ALTERAR o CONTROLAR el esquema Cada usuario tiene un esquema predeterminado para la resolución de nombre La mayoría de los objetos de base de datos están en vivo en los esquemas El esquema de creación interior del objeto requiere CREAR PERMISO Y ALTERAR o CONTROLAR el permiso en el esquema Ejemplo: La creación de la tabla en el esquema requiere un permiso para CREAR TABLA y la propiedad del esquema o. La cadena de propiedad todavía está basada en propietarios, no en esquemas Base de datos Approle1 Usuario 1 Rol1 Tiene un esquema predeter-minado Posee Posee Esquema1 Posee Esquema2 Esquema3 SP1 Fn1 Pestaña1
52
Creación de Schemas
53
Contexto de ejecución de módulos
Ejecutar COMO AUTOR DE LA LLAMADA Las instrucciones se ejecutan de inmediato al contexto que llama Comportamiento predeterminado Utilizar cuando el permiso del autor de la llamada necesita verificarse o cuando es suficiente la cadena de propiedad Ejecute COMO 'Nombre de usuario' Las instrucciones se ejecutan como el nombre de usuario especificado Los permisos suplantados requeridos por la especificación del usuario Ejecutar COMO UNO MISMO Las instrucciones se ejecutan como la persona que especifica la ejecución, como una cláusula para el módulo. Son útiles en escenarios de aplicación en donde el contexto de la llamada puede cambiar Ejecutar COMO PROPIETARIO Las instrucciones se ejecutan como el propietario actual del módulo. Los privilegios de suplantar se requieren del propietario en un tiempo establecido Al cambio de propiedad, el contexto es el nuevo propietario
54
Utilizar Ejecutar como para crear depósitos de permiso
Escenario: El administrador de la base de datos quiere delegar la habilidad para truncar un conjunto de tablas cada noche Problema: Truncar no es un permiso otorgable Lo más cerca de cubrir el permiso es ALTERAR, pero es demasiado alto y proporciona otra capacidad Solución: Ejecutar como al rescate Crear un proceso que trunca la tabla Márquelo para ejecutar como un usuario con permisos de ALTERACIÓN Otorgue permisos de ejecución al usuario objetivo Resultado: ¡Acaba de truncar un permiso otorgable!
55
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
56
Control granular de permisos
Más permisos: en enfoques múltiples Servidor, base de datos, esquema, objeto, principio Principio de los menores privilegios Asignar sólo los permisos requeridos para realizar un acción Los permisos granulares permiten que No se requiera una membresía de rol para realizar acciones Se agreguen muchos de los nuevos verbos de permisos para lograr un control granular Los roles fijos de SQL 2000 todavía cuentan con soporte Vistas de catálogo Permisos de base de datos en vivo en la vista sys.database_permissions Permisos de servidor en vivo en la vista de sys.Server_permissions
57
- + Estados de permisos Tres estados de permiso Otorgar da un derecho
Denegar niega explícitamente un derecho Revocar quita un otorgamiento o negación existente Otorgar - Revocar Revocar [denegar] + DENEGAR Otorgar Negar
58
Ambitos Server scope La asignación de permisos debe hacerse en master
Permisos especificos para cada Asegurable Database Permite asignar permisos a un rol personalizado Permite a los principales ejecutar tareas en la base de datos Los permisos deben asignarse en la base de datos que contiene al Asegurable al que se le aplican los permisos Schema Utilizados para agrupar objetos de BBDD Herencia de permisos
59
Esquema general de permisos
Poseedor del otorgamiento Permisos de nivel de servidor otorgables a inicios de sesión Los permisos otorgables al nivel de base de datos para los usuarios/bases de datos/roles de aplicación/rol Asegurable Entidad que se asegurará Ejemplo: Tablas, ensambles, bases de datos, servidor, etc. Los mismos permisos pueden estar en varios enfoques El CONTROL de ejemplo en el nivel de esquema y el CONTROL en la tabla dentro de un esquema DENEGAR un nivel siempre tiene preferencia
60
Esquema general de permisos
La mayoria de los Asegurables tiene los siguientes permisos CONTROL ALTER Posibilidad de cambiar permisos del Asegurable. Posibilidad de CREATE/DROP/ALTER subentidades P.e.:El permiso ALTER en un schema permite modificar el nombre del schema y modificar tablas vistas, etc dentro del schema ALTER ANY ‘X’ Modificar cualquier objeto de tipo X Example: ALTER ANY ASSEMBLY TAKE OWNERSHIP
61
Gestión de permisos a nivel de servidor
62
Agenda Utilización de Server Management Studio Uso de Computer Manager Utilidad sqlcmd SQL Management Objects (SMO) SQL Profiler DDL Triggers Vistas de Metadatos Seguridad en SQL Server 2008 Gestión de permisos Gestión de Certificados
63
Escenarios Sql service broker Código seguro Datos
64
Soporte de encriptación dentro de DB
Conceptos básicos Integraciones de encriptación y desencriptación para soporte de encriptación ¿Integraciones de encriptación? Encripta cleartext y retorna ciphertext EncryptByKey() EncryptByCert() EncryptByPassphrase() ¿Integraciones de desencriptación? Hace lo contrario Claves y certificados simétricos Utilizados para encriptación/desencriptación Entidades dentro de SQL Server Soporte para la creación y almacenamiento en SQL Claves simétricas y claves privadas siempre almacenadas y encriptadas en SQL Opciones de administración claves: Las aplicaciones/usuarios pueden administrar la clave (responsable de la administración de contraseña) La instancia SQL puede poseer la administración de claves
65
Claves simétricas Entidades dentro de la base de datos
CREAR DDL DE CLAVE SIMÉTRICA Utilizada en las integraciones para encriptación y desencriptación Las claves siempre se almacenan encriptadas o en estado “cerrado” El uso de la clave requiere “abrir” la clave ABRIR LA DDL DE CLAVE Involucra la desencriptación de la clave El conocimiento del mecanismo utilizado para encriptar la clave requerida Una vez “abiertas”, las claves se pueden utilizar hasta que se “cierran” o la sesiones se terminan Todas las claves se encriptan en la memoria Vistas de catálogos Sys.symmetric_keys Sys.Open_keys
66
Certificados Entidades dentro de la base de datos
CREE EL CERTIFICADO DDL Se puede cargar a SQL Server La clave privada es opcional Se requiere si se necesita firmar, desencriptar o autenticar Se puede crear en SQL Server SQL Server genera los certificados Soporte para “colocar” los certificados y claves privadas Las claves privadas siempre se almacenan encriptadas Se requieren para: Agente de servicios: Integridad y confidencialidad de autenticación y mensajes Soporte de encriptación Asegurar la autenticación SQL de manera nativa Firma de módulo
67
Clave maestra de la base de datos
Una clave que es específica para la base de datos Se utiliza para asegurar las claves privadas de certificado dentro de la base de datos Creada explícitamente por el propietario de la base de datos Soporte para regeneración y recuperación ALTERAR LA DLL DE LA CLAVE MAESTRA COLOCAR/CARGAR LA DDL DE LA CLAVE MAESTRA Siempre asegurada utilizando la contraseña del usuario Se almacena en la base de datos Se puede asegurar utilizando la Clave maestra de servicio Se utiliza cuando SQL Server hace la administración de clave No depende de la contraseña del usuario para obtener la clave Se almacena en la tabla sysdatabases
68
Clave maestra de servicio
Clave específica para la instancia Se utiliza para asegurar los datos del sistema Contraseñas de servidor vinculadas Cadenas de conexiones Claves maestras de la base de datos Credenciales de cuenta correlacionadas Se crean bajo la instalación Soporte para regeneración y recuperación ALTERAR LA DDL DE LA CLAVE MAESTRA DEL SERVICIO COLOCAR/CARGAR LA DDL DE LA CLAVE DEL SERVICIO MAESTRO Asegurado utilizando DPAPI Las credenciales de las cuentas del servicio
69
Gestión de certificados
Creación Exportación Borrado
70
Sintaxis CREATE CERTIFICATE
71
Iniciativas de seguridad de SQL Server 2008
Reducción en el área de superficie Más opciones de instalación Superficie de ataque minimizada: Las funciones requieren una configuración explícita Mejoras a la implementación Integración con el marco de trabajo de Windows Update Microsoft Update Criterios comunes La certificación se dirige a EAL4+ alrededor de RTM Herramientas de seguridad Inversiones MBSA continuas Capacidad para conectarse y una integración más cercana con Microsoft Update Enfoque de la documentación Código seguro en todas las muestras Enfoque de mejor práctica y solidificación
72
Motor de base de datos. Seguridad
Encriptación transparente de datos (Transparent Data Encryption, TDE): Permite la encriptación de ficheros de registro y de datos mediante clave de encriptación de datos (Database Encryption Key)
73
Motor de base de datos. Seguridad
Encriptación transparente de datos (Transparent Data Encryption, TDE): Provee del cumplimiento de múltiples leyes, normas y regulaciones Habilita algoritmos de encriptación AES y 3DES para los desarrolladores Encriptación de la base de datos realizada a nivel de página * Se encripta antes de ser escrita en disco y se desencripta antes de ser cargada en memoria * No incrementa el tamaño de la base de datos Los backup de la base de datos también son encriptados por lo que en procesos de restauración es necesario disponer del certificado o clave asimétrica utilizado en proceso de encriptación Los índices de texto completos que existieran antes de la encriptación , no serán encriptados. Se encriptarán los nuevos índices de texto completos
74
Motor de base de datos. Seguridad
Encriptación transparente de datos (Transparent Data Encryption, TDE): Vista para consulta de datos: Sys.Databases : Vista del catálogo para visualización de información de la base de datos Sys.Certificates: Vista del catálogo que muestra los certificados de una base de datos Sys.Dm_database_encrytion_keys: Vista de gestión dinámica que provee información acerca de las claves de encriptación usadas en una base de datos así como el estado de encriptación de una base de datos. Ejemplo: Use AdventureWorks; go /* El valor 3 representa un estado encriptado en los ficheros de datos y el registro de transacciones . */ SELECT * FROM sys.dm_database_encryption_keys WHERE encryption_state = 3;
75
Motor de base de datos. Seguridad
Encriptación transparente de datos (Transparent Data Encryption, TDE):
76
Motor de base de datos. Seguridad
Gestión de claves externas. Módulos de seguridad de hardware (HSM): Gestión de claves extensibles (Extensible Management Key) provee la capacidad de almacenamiento de claves de encriptación en módulos de seguridad de hardware de terceros a través de Microsoft Criptographic API (MSCAPI). Mediante Extensible Management Key se provee la posibilidad de habilitar a vendedores de dispositivos de hardware de seguridad a registrarlos en Microsoft SQL Server 2008 Dicha funcionalidad, sólo estará disponible en Microsoft SQL Server 2008 Enterprise, Developer o Evaluation Edition Extensible Management Key no esta habilitada por defecto. Para activarla:
77
Motor de base de datos. Seguridad
Gestión de claves externas. Módulos de seguridad de hardware (HSM): Para habilitar nuevos proveedores de encriptación a nivel de Microsoft SQL Server se ha creado la instrucción CREATE CRYPTOGRAPHIC PROVIDER: El proveedor tiene que estar previamente instalado en el servidor
78
Boletín quincenal TechNews
79
Contactos Informática 64 http://www.informatica64.com
Profesor
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.