Professional Documents
Culture Documents
Agenda
Estructura de Seguridad Integracin Windows NT y Windows 2000 Modelo de Seguridad SQL Server 7.0 Implementacin del Modelo de Seguridad
Subsistema de Seguridad
Quin es usted?
Autorizacin
Qu se le permite hacer?
Autentificacin
SQL Server debe verificar su identidad Dos opciones: Windows NT o Autentificacin de SQL Server Windows NT es el mecanismo preferido
Autorizacin
Una vez que sabemos quien es usted, Qu se le permite hacer? Basada en derechos que le son asignados a travs de un administrador de seguridad El sistema es seguro por predeterminacin
Agenda
Estructura de Seguridad Integracin Windows NT and Windows 2000 Modelo de Seguridad SQL Server 7.0 Implementacin del Modelo de Seguridad
Integracin de Windows NT
Soporte total para Windows NT 4.0 y seguridad Windows 2000 Soporte del modelo de permisos Windows NT Ms informacin a lo largo de esta presentacin
La cuenta del usuario est definida en el Active Directory o en la base de datos local SAM
Listas de control de acceso (ACLs) basadas en objetos Los servicios de red utilizan personificacin
Un Modelo de Seguridad
Protocolos de Seguridad Mltiples
Autentificacin Windows NTLM Windows NT 4.0 y Windows 2000 Kerberos V5 para redes Empresariales Solamente Windows 2000 Secure Sockets Layer (SSL) / Transport Layer Security (TLS) Seguridad IP
Agenda
Estructura de Seguridad Integracin Windows NT y Windows 2000 Modelo de Seguridad SQL Server 7.0 Implementacin del Modelo de Seguridad
Verificar permisos para todas las acciones dentro de una base de datos
Verificar permisos para todas las acciones dentro de una base de datos
Si utiliza la Bilblioteca de Red Named Pipes, Windows NT requerir de una conexin a un recurso administrativo IPC$ para conectarse a la computadora La Bilblioteca de Red Multiprotocolo (RPC) tambin autentifica la conexin Si no existe cuenta de Windows NT, el acceso ser negado
Verificar permisos para todas las acciones dentro de una base de datos
Verificar la identidad del usuario y despus el derecho de conexin al SQL Server Esta decisin esta basada en las entradas en el master tabla sysxlogins Existen dos modelos: Modo de autentificacin Windows NT/2000 Acepta slo conexiones verificadas de Windows NT Mixto Autentificacin Windows NT/2000 Autentificacin SQL Server
No es necesario otorgar explictamente el acceso individual de los usuarios Windows NT al SQL Server Los usuarios pueden acceder al SQL Server va una membresa de grupo Windows NT La membresa de grupo Windows NT es reconocida en el tiempo de conexin del SQL Server Utilizada durante la conexin No se actualiza hasta la siguiente conexin al SQL Server Cada cuenta/grupo en Windows NT tiene una entrada de tabla sysxlogins - basada en el SID de la cuenta (Identificador de Seguridad)
La autentificacin Windows NT est disponible en todas la Bilbliotecas de Red SQL Server utiliza la interfaz SSPI para Windows NT
Permite que el SQL Server aproveche las nuevas caractersticas de seguridad de Windows 2000 sin alterar el producto
Cada conexin de SQL Server tiene una entrada en la tabla sysxlogins en el master basada en un SID generado por SQL Server (GUID) No se expiden membresias de grupo Las entradas pueden ser otorgadas o negadas
Brinda derechos a una entrada en todo el sistema No puede removerse o modificarse Divide las capacidades administrativas de SQL Server
No es necesario que sysadmin haga todo el trabajo administrativo! Sysadmin (abarca todos las dems finciones fijas del servidor) Serveradmin Setupadmin Securityadmin Processadmin Dbcreator Diskadmin
Verificar permisos para todas las acciones dentro de una base de datos
Debe existir para tener acceso a la base de datos Puede o no cruzar la informacin directamente a las conexiones SQL Server La informacin puede cruzarse a la conexin SQL Server, a un usuario o a un grupo de Windows NT Todos los derechos de la base de datos son para el usuario, no para la conexin
DBO es el Propietario de la Base de Datos Cruza la informacin a la nica entrada que posee la base de datos Los miembros de la funcin db_owner role son iguales El husped es eso, un husped Una forma predeterminada de acceder a la base de datos No est habilitada por predeterminacin Excepciones : Master, tempdb, msdb, pubs, bases de datos muestra (pubs y northwind) Existir en las bases de datos nuevas, si es agregada a la base de datos modelo La entrada existe pero no est habilitada (hasdbaccess = 0)
Qu son?
Un conjunto de funciones o usuarios SQL Server o Windows NT con los mismos permisos, creado por el usuario Son propiedad SQL Server, y ste las administra Facilitan al administrador del Servidor /BD la configuracin de permisos de grupos y esquemas Un usuario de Windows NT Un grupo de Windows NT Un usuario o funcin de SQL Server
Las funciones son la base de los permisos El uso de los grupos de Windows NT no requiere administracin doble de membresas SQL Server no distingue entre grupos y funciones en el nivel de permisos
No es necesario crear funciones que dupliquen su estructura de grupo de Windows NT Cuando sea posible deber asignar permisos directamente a los usuarios de Windows NT
Asigne permisos utilizando grupos y usuarios de Windows NT Utilice las funciones para unir todo
dom2\joe dom\nancy dom\sue dom\project2 dom\tom dom2\mary Ventas
Project2_ users
Administrador
dom\users
dom\sales
dom\project1
Funciones especficas de base de datos (principalmente para propsitos administrativos) No se pueden remover o modificar Nueve Funciones Fijas de Base de Datos:
db_owner (abarca todas las funciones fijas DB) db_accessadmin db_securityadmin db_ddladmin db_backupoperator db_datareader db_datawriter db_denydatareader db_denydatawriter
La Funcin Pblico
En otras palabras, todos los usuarios estn siempre en pblico, y no se pueden remover Atajo para otorgar permisos a todos Es posible utilizar los permisos pblicos an cuando una funcin de aplicacin est habilitada
Propiedad de Objecto
Propietario predeterminado: Usuario Propietario explcito: Cualquier grupo o funcin a la que est asignado el usuario
La informacin del propietario de un objeto se almacena en Sysobjects No existe entrada para sta funcin en Sysusers Poseer tablas, ndices, vistas, omisiones, disparadores, reglas y procedimientos Otorgar permisos a otros usuarios/grupos/funciones para utilizar objetos de su propiedad Cuenta con un juego completo de permisos del objeto
Alias
Una funcin de SQL Server 4.x/6.x Los Alias slo tienen soporte de versiones anteriores - Sern eliminados en futuras versiones! Los Alias son cubiertos por funciones
Excepcin: Alias de DBO - Ser necesario calificar al propietario del objeto en su creacin cuando utilice la funcin dbowner p. ej., crear tabla dbo.table (c1 int no es nulo)
Funciones de Aplicacin
Qu son? Cmo se utilizan? Su relacin con las funciones MTS/COM+ Escenarios de Uso
Funciones de la Aplicacin
Le permite restringir los permisos y el acceso a los objetos por medio de una aplicacin especfica Una vez habilitado, suspende todos los permisos del usuario mientras dure la conexin Puede ser protegido con un password El proceso de encriptacin esta habilitado para el cliente El perfilador no mostrar el password Se definen solamente al nivel de base de datos No es posible asignar membresas a priori La actividad del usuario es auditada durante su conexin
Funciones de la Aplicacin
Seguridad de la Aplicacin
Ejemplo - aplicacin de nmina Los usuarios de la nmina slo deben actualizar el acceso a la tabla de salarios cuando usen la aplicacin de nmina La aplicacin de nmina validar el usuario,y slo habilitar la funcin PayUser de la aplicacin despus de conectar al usuario a la BD El usuario slo tendr los permisos asociados con PayUser El usuario ser auditado durante su conexin
Funciones de la Aplicacin
Utilizada con MTS/COM+
Las funciones de la aplicacin SQL Server brindan una equivalencia lgica a las funciones MTS
Ventaja:
Crean una Funcin de la Aplicacin a SQL Server para cada funcin MTS Role usada en la aplicacin Agrega ambos tipos de cuentas a nuevas funciones SQL Server: La(s)cuenta(s) dedicada MTS para transacciones discretas La(s)cuenta(s) individuales de usuario/grupo Windows NT conectadas directamente a SQL Server para operaciones ad hoc OTORGA/REVOCA/NIEGA permisos para las Funciones SQL Server de la Aplicacin
Unifica la seguridad de la base de datos para los componentes MTS y operaciones ad hoc El usuario conectado a SQL Server por medio de MTS no ser auditado bajo su propia cuenta Soporte de Delegacin Windows NT 5.0 en COM+ y SQL Server Shiloh
Deventaja:
Solucin:
Funciones de la Aplicacin
Opcin: Trusted MTS/COM+
Aplicacin
MTS Component/Method
sp_SetAppRole Nomina
Conexin SQL Rodrguez/MTS sp_SetAppRole Nmina
SQL Server
Funciones de la Aplicacin
Option: Trusted MTS/COM+
Si confa en sus componentes MTS/COM+, Y son su UNICO mtodo de acceso a la base de datos
Debe restringir el acceso a la base de datos a solo la cuenta de servicio de los componentes MTS/COM+ Conctese a SQL Server utilizando la Seguridad Integrada, y cambie a la base de datos apropiada Habilita la funcin de la aplicacin para los componentes MTS/COM+
Caveat: La auditora se lleva a cabo slo en la cuenta de servicio (Es necesario que usted mismo la desarolle)
Verificar permisos para todas las acciones dentro de una base de datos
Permisos
Instruccin contra Objeto
Los permisos de instruccin le permiten ejecutar una instruccin- i.e., Crear tabla, crear vista view, etc. Los permisos objeto le permiten llevar a cabo una accin sobre un objeto en particular:
Seleccionar, Insertar, Actualizar, Borrar, Ejecutar, Referencias El hecho de que no existan permisos, no significa que puede utilizar un objeto
Permisos
Otorgar/revocar/negar permisos
Otorgar le da un derecho Negar explicitamente niega un derecho Revocar elimina una negacin u orotgamiento un existente Verifique los permisos con la funcin Permisos ()
OTORGAR
REVOCAR[NEGAR]
REVOCAR
NEGAR
+
OTORGAR NEGAR
SysMembers - Membresa de Funcin Sysusers - Cuentas del Usuario Syspermissions - permisos Sysobjects - propietarios de objetos SysColumns - para permisos a nivel Columna
SysUsers
Uid SID Name Status Roles CreateDate UpdateDate AltUID Password Suid GID Environ
SysMembers
MemberUId GroupUId
SysPermissions
Id Grantee Grantor Actadd Actmod Seladd Selmod Updadd Updmod Refadd Refmod
SysObjects
ObjectId OwnerId
ObjectName
SysColumns
ObjectId
Colid ObjectName
Agenda
Estructura de Seguridad Integracin Windows NT y Windows 2000 Modelo de Seguridad SQL Server 7.0 Implementacin del Modelo de Seguridad
is_srvrolemember(funcin, conexin) is_member(funcin) suser_sname(SID) user_name(id) o simplemente usuario Seleccione is_member(sales), suser_sname(), usuario 0 Rodrguez\rwaymi dbo
Ejemplo:
En ambientes sencillos hay poca o nula sobrecarga de administracin Ejemplo de usuario individual
Aceptar por predeterminacin (local admins = Sysadmin) o use SA Otortgar SysAdmin al grupo de desarrolladores de Windows NT Hacer un SysAdmin a DBA Hacer el grupo de desarrolladores de Windows NT DB_Owner
Cuando sea posible, aproveche sus grupos de dominio existentes Asigne membresias de funciones a lo largo de todo el servidor para usuarios administrativos
sp_addsrvrolemember, sp_dropsrvrolemember
Controle los usuarios/grupos de Windows NT que tienen acceso al servidor invocando: sp_grantdbaccess sp_revokedbaccess De nuevo, cuando sea posible, aproveche sus grupos de dominio Asigne membresias de funciones fixeddatabase de acuerdo a su necesidad sp_addrolemember, sp_droprolemember
Cree funciones flexibles de base de datos de acuerdo a su necesidad Asigne usuarios a sus funciones flexibles de base de datos
sp_addrolemember, sp_droprolemember
sp_addapprole
Otorge/Niege permisos a las funciones flexibles y/o de aplicacin Slo otorge/niege permisos directamente a un usuario individual cuando sea nacesario
Hgalo fcilmente
Todos los objetos en una base de datos son propiedad de dbo Asi evita Cadenas de Propiedad Rotas Mejora la seguridad Utilice los procedimientos de Vistas y Almacenados para enmascarar las tablas
La implementacin de of fixed-server roles requiere de una entrada de conexin para cada miembro, explicitamente agregado a una funcin
P.ej., si rodrig\ventas es un inicio de sesin, pero usted ejecuta sp_addsrvrolemember [redmond\joe],dbcreator, se agrega un nuevo inicio de sesin a [redmond\joe] con bandera hasaccess en 0 (visible desde el vista syslogins)
La implementacin de of Sysobjects y Syspermissions requiere un UID para cada regulador de propietario/permiso de objeto en una base de datos Ejemplo en el siguiente slide
Rodrguez \Jos en el grupo Rodrguez\ventas Rodrguez\ventas es un usuario en la base de datos PUBS Jos se conecta a PUBS va una membresa de grupo
Jos crea tabla [Rodrguez \ Jos ].MyTable Se agrega un nuevo usuario [Rodrguez \ Jos ] a la tabla sysusers para rastrear la propiedad Pero la bandera hasdbaccess est en 0 Si revoca la membresa de Jos en el grupo de ventas, ya no tendr acceso a la base de datos o acceso a su tabla, (aunque la tabla todava exista) Ntese que se puede reasignar el propietario de un objeto
Intentos de conexin, conexiones y desconexiones TSQL seleccin, inserte, y actualice, borrar Ejecucin de procedimientos almacenados RPC/TSQL batch completes Objeto: creacin/borrado, abierto/cerrado
Ideal para el usauario individual de esrcitorio o bases de datos multi-usuarios ligeras (5 o menos) Administracin Simple
Crear un (os) usuario(s) SQL Server Crear fiunciones apropiadas y asigne permisos Otorge funciones a los usuarios SQL Server
La autentificacin SQL Server es la nica opcin en Windows 95/Windows 98 Utilice una Estacin de Trabajo Windows NT si se requiere de seguridad
Agenda
Estructura de Seguridad Integracin Windows NT y Windows 2000 Modelo de Seguridad SQL Server 7.0 Implementacin del Modelo de Seguridad
Resumen
Integracin total con Windows NT/2000 Security Completo soporte de usuarios, grupos, y funciones Funciones de aplicacin para arquitecturas de tercer nivel Granulidad flexible de permisos y funciones de sistemas Administracin simple y slida
Informacin Relacionada
Documentos estratgicos e informacin general SQL Server Prxima disponibilidad de documentos estratgicos de seguridad
elementos/actualizaciones de seguridad general
http://www.microsoft.com/security
http://support.microsoft.com/ support/sql
Preguntas y Respuestas
Ayuda a los profesionales de la TI a obtener experiencia con los productos de Microsoft Disponible en ms de 1,900 Centros Certificados de Educacin Tcnica de Microsoft en todo el mundo
Disponible en TechEd Pabelln de Productos de Tech Ed : CD MOC Sampler Gratis Curriculum que aplica para esta sesin : 832b