SQL Server - Seguridad

download SQL Server - Seguridad

of 84

Transcript of SQL Server - Seguridad

  • 8/9/2019 SQL Server - Seguridad

    1/84

    SQL Server

    Seguridad

  • 8/9/2019 SQL Server - Seguridad

    2/84

    Modo de autentificacin

    el modo de autentificacin es la manera en

    que Sql Server procesa

    no

    mbres de usuario

    contraseas

    Sql nos ofrece dos modos

    Autentificacin de Windows

    Modo mixto

  • 8/9/2019 SQL Server - Seguridad

    3/84

    Modo autentificacin de Windows

    el usuario inicia sesin en el dominio de

    Windows

    obtiene acceso a SQL Server mediante alprotocolo de seguridad Kerberos

  • 8/9/2019 SQL Server - Seguridad

    4/84

    Ventajas Autentificacin Windows

    los usuarios no tienen que recordar varios

    nombres de usuario y contraseas

    permite control ms frreo de la seguridad podemos aplicar las directivas de contraseas de

    Windows

    caducidad

    longitud

    historial

  • 8/9/2019 SQL Server - Seguridad

    5/84

    Inconvenientes Autentificacin

    Windows

    slo las cuentas de Windows pueden abrir una

    conexin de confianza en Sql Server

  • 8/9/2019 SQL Server - Seguridad

    6/84

    Modo mixto

    admite

    Autentificacin Windows

    autentificacin Sql Server

  • 8/9/2019 SQL Server - Seguridad

    7/84

    Cmo actua

    usuario se conecta a la red (Windows u otra)

    usuario abre una conexin que NO es deconfianza con Sql Server

    nombre usuario y contrasea diferente de lasutilizadas para obtener acceso a red

    no confianza

    SQL no encomienda al SO verificar contrasea

    Sql comprueba nombre + contrasea con latabla syslogins

  • 8/9/2019 SQL Server - Seguridad

    8/84

    Ventaja Modo mixto

    cualquier puede acceder a Sql Server

    Mac, Novell

    segunda capa de seguridad entrada en red

    entrada a Sql Server

  • 8/9/2019 SQL Server - Seguridad

    9/84

    Configuracin modo de autentificacin

    se suele configurar en el momento de

    instalacin

    una de las pocas cosas que no se pueden hacer

    con T-Sql

  • 8/9/2019 SQL Server - Seguridad

    10/84

    Pasos cambiar configuracin

    autentificacin

    Management Studio

    Explorador objetos servidor boton derecho

    P

    ro

    piedades pgina Seguridad seleccionas la Autentificacin de servidor

    necesaria

  • 8/9/2019 SQL Server - Seguridad

    11/84

    Inicios de sesin en Sql Server

    un inicio de sesin en SQL Server permite a losusuarios el acceso a Sel Server en general.

    NO a los recursos que Sql contiene

    Bases de Datos

    los miembros de las funciones fijas de servidor

    sysadmin

    securityadmin podemos crear uno de dos tipos de inicios de sesin

    inicin sesin estandar

    inicio sesin Windows

  • 8/9/2019 SQL Server - Seguridad

    12/84

    Inicio de sesin estndar

    solo clientes con cuentas Windows pueden

    establecer conexiones de confianza con Sql

    Server

    clientes NO windows necesitan crear inicio

    sesin estndar

    se pueden crear inicios sesin estandar en modo

    Windows

    pero no se podrn utiizar

    Sql Server utilizar las credenciales de Windows

  • 8/9/2019 SQL Server - Seguridad

    13/84

    Crear inicio sesin estndar

    Management Studio servidor panel

    seguridad inicios de sesin bton derecho

    nuevo inicio de sesin

    Seleccionas Autentificacin Sql Server

    Nombre: estandar1

    Contrasea: clave1 (distinguen mayus y minus)

    BD predeterminada: Tienda

  • 8/9/2019 SQL Server - Seguridad

    14/84

    Pgina Asignacin de usuarios

    activas BD Tienda

    concedemos al usuario acceso a la BD predeterminada

    Aceptar

    tenemos el nuevo inicio de sesin de tipo

    estndar en el Explorador de objetos

  • 8/9/2019 SQL Server - Seguridad

    15/84

    hacemos otro inicio de sesin estandar pero

    Pagina Asignacin de usuarios

    NO activas ninguna BD despues creamos una cuenta de usuario de BD

    te avisa que no tienes acceso a BD predeterminada.

    luego se lo concedemos

  • 8/9/2019 SQL Server - Seguridad

    16/84

    Probar inicios de sesin

    Nueva consulta

    Lista Autentificacin Autentificacin Sql Server

    No

    mbre usuario

    : estandar1 Clave.

    Acepta

    entramos no??

  • 8/9/2019 SQL Server - Seguridad

    17/84

    Inicio de sesin de Windows

    crear inicios de sesin de windows es similar

    los inicios de sesin estandar se aplican a un solo

    usuario

    inicio de sesin de Windows se pueden asignar

    a un solo usuario

    a un grupo de Windows que ha creado un

    administrador

    loms habitual

    un grupo integrado de Windows

    administradorespor ejemplo

  • 8/9/2019 SQL Server - Seguridad

    18/84

    Pasos crear inicios sesin Windows

    primero debes crear cuentas de usuario en el

    SO

    Inicio Programas Herramientas administrativas

    Usuarios y equipos de Active Directory

    Accin Crear nuevo Usuario

    si no tenemos acceso a un dominio

    Administracin equipos en Usuarios locales y grupos

  • 8/9/2019 SQL Server - Seguridad

    19/84

    Nombre:usuario1

    Descripcin: clase

    contrasea:uno cambiar: desactivar

    nunca caduca: activar

  • 8/9/2019 SQL Server - Seguridad

    20/84

    tb creamos un grupo de seguridad de dominio

    local llamado clase

    en Usuarios y equipos de Active Directory

    nuevo grupo

    agregamos el usuario al grupo

    podemos hacer ms grupos y ms usuarios

  • 8/9/2019 SQL Server - Seguridad

    21/84

    Directivas

    Inicio Panel control herramientas

    administrativas

    Directiva de seguridad local

    expandimos y clic en Asignacin de derechos de

    usuario

    doble clic en inicio de sesin local Agregar

    seleccionamos todos en grupos Agregar

  • 8/9/2019 SQL Server - Seguridad

    22/84

    Crear inicio sesion Sql

    Management Studio servidor Seguridad

    inicios de sesin boton dcho nuevo inicio

    de sesion

    Nombre inicio de sesin: Sqldomain\clase

    el nombre del grupo local creado antes

    Sqldomain es el nombre de dominio

    Estamos en autenficacin de windows BD predeterminada

    la que quieras

  • 8/9/2019 SQL Server - Seguridad

    23/84

    pagina Asignacin usuarios

    activamos Asignar junto a la BD elegida

    Acepta

    repetimos para cada grupo local creado

    solo tenemos clase

    repetimos para cada usuario sin grupo

  • 8/9/2019 SQL Server - Seguridad

    24/84

    Probar inicio de sesin Windows

    debemos iniciar sesin como miembro de uno

    de los grupos creados

    cierra windows y conectar como el usuario

    Nueva consulta

    Autentificacin Windows

    puedes hacer la consulta??

  • 8/9/2019 SQL Server - Seguridad

    25/84

    Comn en inicio de sesin

    BD predeterminada

    cuando usuario se conecta a Sql server, se conecta

    a BD predeterminada

    si no se pone ninguna, ser master

  • 8/9/2019 SQL Server - Seguridad

    26/84

    Funciones fijas del servidor

    limitan la cantidad de acceso administrativo

    que tiene un usuario una vez conectado a Sql

    Server

    hay ocho funciones del servidor

  • 8/9/2019 SQL Server - Seguridad

    27/84

    Sysadmin

    sus miembros pueden hacer cualquier tarea

    en Sql Server

    esta funcin es la nica para lo

    sadministradores de BD

    DBA

  • 8/9/2019 SQL Server - Seguridad

    28/84

    Serveradmin

    estos usuarios pueden cambiar opciones de

    configuracin en el servidor

    memoria usada en Sql

    informacin a enviar

    cerrar el servidor

  • 8/9/2019 SQL Server - Seguridad

    29/84

    Setupadmin

    pueden instalar rplicas

    administrar procedimientos almacenados

    extendido

    s realizar acciones no nativas Sql Server

  • 8/9/2019 SQL Server - Seguridad

    30/84

    Securityadmin

    temas de seguridad

    crear y eliminar inicios de sesin

    leer registros auditoria

    conceder permisos para crear BD

  • 8/9/2019 SQL Server - Seguridad

    31/84

    Processadmin

    Sql server es multitarea

    sus miembros pueden terminar un proceso

  • 8/9/2019 SQL Server - Seguridad

    32/84

    DBcreator

    crear y hacer cambios en BD

  • 8/9/2019 SQL Server - Seguridad

    33/84

    Diskadmin

    administrar ficheros en disco

    crear reflejos de BD

    aadir dispositivos de seguridad

  • 8/9/2019 SQL Server - Seguridad

    34/84

    Bulkadmin

    pueden ejecutar BULK INSERT

    permite importar datos a BD de Sql Server a partir

    de ficheros de texto

  • 8/9/2019 SQL Server - Seguridad

    35/84

    Asignar usuarios a funciones fijas del

    servidor

    Management Studio Seguridad y Funciones

    de servidor

    doble clic en funcin Sysadmin

    se abre sus propiedades

    Agregar Examinar

    selecciona usuario

    usuario sin funcin administrativa

    usuario normal

  • 8/9/2019 SQL Server - Seguridad

    36/84

    Ahora vamos a conceder a los usuarios acceso

    a BD que residen en servidor SQl Server

    debemos crear cuentas usuario de BD

  • 8/9/2019 SQL Server - Seguridad

    37/84

    Creacin de cuentas de usuario de BD

    ya tenemos acceso a Sql Server tb acceso administrativo

    ahora acceso a otros recursos

    Management Studio Bases de datos tu base de datos Seguridad Usuarios boton derecho nuevo usuario clic en boton en Nombre inicio de sesin

    son los de inicio de sesin que hemos creado seleccionas uno

    Esquema predeterminado dbo

    Aceptar

  • 8/9/2019 SQL Server - Seguridad

    38/84

    ya existen dos cuentas de usuario en BD

    dbo y guest

    miembros de funcin fija del servidor sysadmin

    se convierten automticamente en usuarios

    propietarios de BD en todas las BD del sistema

    DBO

    as pueden realizar to

    das las funcio

    nes administrativasnecesarias en BD

    aadir usuario

    crear tablas..

  • 8/9/2019 SQL Server - Seguridad

    39/84

    guest

    cuenta usuario de BD general para personas con

    inicio sesin Sql pero NO cuenta usuario BD

    pueden conectarse a servidor

    acceder a cualquier BD en la que NO tenga cuenta

    de ususario

    debemos limitar las funciones de cuenta guest

  • 8/9/2019 SQL Server - Seguridad

    40/84

    podemos crear varios usuarios de BD y probar

    los permisos

  • 8/9/2019 SQL Server - Seguridad

    41/84

    Permisos

    los objetos para los que SQl regula el acceso

    se llaman asegurables

    estos objetos se dividen en tres ambitos

    ambito del servidor

    ambito de BD

    ambito de esquema

    se protegen aplicando permisos

  • 8/9/2019 SQL Server - Seguridad

    42/84

    Ambito de servidor

    Servidor

    inicio de sesion

    sql server inicio sesin de Wdinows

  • 8/9/2019 SQL Server - Seguridad

    43/84

    Ambito de BD

    usuarios de BD

    funciones de BD

    funciones de aplicacin tipos de mensajes

    servicio

    eventos DDL

  • 8/9/2019 SQL Server - Seguridad

    44/84

    ambito de esquema

    Tabla

    Vista

    Funcion

    Procedimiento

    Cola

    Tipo

    Regla

    .

  • 8/9/2019 SQL Server - Seguridad

    45/84

    Permisos de instruccin

    no tienen que ver con los datos concretos

    permiten a los usuarios crear la estructura quecontiene los datos

    Create Database Create Table

    Create View

    Create Procedure

    Create Index

    Create Rule

    Create Default

  • 8/9/2019 SQL Server - Seguridad

    46/84

    cuando se crea una BD

    aade un registro a la tabla del sistema

    sysdatabases

    y se guarda en la bd master

    la instruccin Create Database solo se puede

    conceder para la BD master

  • 8/9/2019 SQL Server - Seguridad

    47/84

    Pasos para permisos de instruccin

    Sql Server tiene permisos asignados desde la

    instalacin

    debemos quitarlo para poder hacer pruebas

    estos permisos estn en la funcin public

  • 8/9/2019 SQL Server - Seguridad

    48/84

    Nueva consulta

    USE

    la base de dato

    s REVOKE ALL from public

    puedes guardar los cambios de esta consulta

    nos puede servir despues.

    ejecuta

  • 8/9/2019 SQL Server - Seguridad

    49/84

    Servidor bases de datos tu base de datos boton derecho Propiedades paginaPermisos

    a un usuario concede permisos de Create table

    tb lo puedes hacer con grupo de usuarios

    tb permisos de Backup DataBase y Backup DataBaseLog

    tb podemos quitar permisos al usuario guest

  • 8/9/2019 SQL Server - Seguridad

    50/84

    para probar hay que cerrar sesin de Windows yconectarnos como el usuario

    prueba a hacer los permisos concedidos

    USE tu base de datos

    CREATE TABLE tabla1

    (

    campo1 varchar (5) not null,

    campo2 varchar (25) not null,

    )

  • 8/9/2019 SQL Server - Seguridad

    51/84

    Permisos de objeto

    Tras tener la estructura que contiene datos

    permisos para trabajar con los datos

    con permisos de objetos se controla quinpuede leer, escribir o manipular cualquier otro

    modo de datos

  • 8/9/2019 SQL Server - Seguridad

    52/84

    Tipos de permiso de objeto

    Control

    permiso que concede capacidades similares a la

    propiedad sobre el objeto

    jerarqua

    si concedes permisoControl a un usuario en un

    BD

    tiene permiso control para todos los objetos de la BD tablas, vistas

  • 8/9/2019 SQL Server - Seguridad

    53/84

    Alter

    permite utilizar CREATE, ALTERo DROP

    tb todos los objetos bajo su jerarqua

  • 8/9/2019 SQL Server - Seguridad

    54/84

    Take Ownership

    permite al usuario tomar propiedad de un objeto

    Impersonate Permite que un inicio de sesin o usuario suplante

    a otro

    Create

    permite crear objetos

  • 8/9/2019 SQL Server - Seguridad

    55/84

    View Definition

    permite a los usuarios ver la sintaxis T-Sql utilizadapara crear el objeto protegido

    Select

    permite leer datos de la tabla o vista

    Insert, update, delete permite insertar, actualizar, eliminar nuevas filas en

    una tabla

  • 8/9/2019 SQL Server - Seguridad

    56/84

    References

    las tablas se pueden vincular por una columna

    comn con una relacin de clave externa

    diseada para proteger los datos en varias tablas

    en estos casos, este permiso permite al usuario

    seleccionar datos de la tabla principal sin tener

    permiso

    Select en la tabla externa

  • 8/9/2019 SQL Server - Seguridad

    57/84

    Execute

    permite a los usuarios ejecutar procedimiento

    almacenado al que se le aplica el permiso

  • 8/9/2019 SQL Server - Seguridad

    58/84

    Aplicar permisos de objeto

    Management Studio Bases de Datos tu base Tablas la tabla que quieras boton derecho Propiedades Pagina permisos agregas el usuario que quieras en Usuarios o

    funciones concedemos permisos Select, insert, lo que quieras al

    usuario que quieras

    recuerda quitar permisos para guest

    Aceptar cerrarManagement Studio y cerrar sesin Windows

    volver a arrancar todo y probar

  • 8/9/2019 SQL Server - Seguridad

    59/84

    podemos pues conceder permisos indivicuales

    pero es ms facil utilizar funciones de BD para

    aplicar permisos en bloque

  • 8/9/2019 SQL Server - Seguridad

    60/84

    Funciones de BD

    cuando varios usuarios necesitan permiso

    para acceder a una BD

    damos permiso como grupo

  • 8/9/2019 SQL Server - Seguridad

    61/84

    Tipos de funciones de BD

    fijas

    personalizadas

    de aplicacin

  • 8/9/2019 SQL Server - Seguridad

    62/84

    Funciones fijas de BD

    tienen permisos ya aplicados

    solo tenemos que agregar usuarios a esas

    funciones

    estos usuarios heredan los permisos asociados

    son diferentes de las funciones personalizadas de

    BD

  • 8/9/2019 SQL Server - Seguridad

    63/84

    db_owner

    sus miembros pueden hacer todo lo que pueden

    hacer los miembros de otras funciones adems de

    algunas funciones administrativas

    db_accessadmin

    tiene autoridad para decir quin tiene a cceso a la

    BD agregandoo quitando usuarios

  • 8/9/2019 SQL Server - Seguridad

    64/84

    db_datareader

    sus miebros pueden ller datos de cualquier tabla

    de BD

    db_darawriter

    pueden aadir, cambiar y eliminar datos de todas

    las tablas de la BD

  • 8/9/2019 SQL Server - Seguridad

    65/84

    db_ddladmin

    los administradores de lenguaje de definicin de

    datos (DDL) pueden emitir todos los comandos

    DDL crear, modficiar, cambiar objetos de la BD sin ver los

    datos que contienen

  • 8/9/2019 SQL Server - Seguridad

    66/84

    db_securityadmin

    pueden agregar y quitar usuarios de las funciones

    de BD

    administrar permisos de instruccin y objeto

  • 8/9/2019 SQL Server - Seguridad

    67/84

    db_bakupoperator

    pueden realizar copias de seguridad de la BD

    db_denydatareader

    no pueden leer datos de la BD pero pueden hacer

    cambios de esquema

    aadir una columna a una tabla

  • 8/9/2019 SQL Server - Seguridad

    68/84

    data_denydatawriter

    no pueden hacer cambios en los datos de BD

    tienen permiso para leer los datos

  • 8/9/2019 SQL Server - Seguridad

    69/84

    Public

    este grupo concede a los usuarios una serie de

    permisos predeterminados en la BD

    todos los usuarios de BD forman parte

    automticamente de este grupo

    no se pueden quitar de l

  • 8/9/2019 SQL Server - Seguridad

    70/84

    Asignar funciones fijas de BD

    Management Studio tu base Seguridad

    funciones Funciones de BD

    boton derecho en la que quieras Propiedades

    Agregar para asignar usuarios a la funcin

    Aceptar

  • 8/9/2019 SQL Server - Seguridad

    71/84

    Abrir nueva consulta

    Autentificacin

    elegir usuario

    l prueba

  • 8/9/2019 SQL Server - Seguridad

    72/84

    las funciones fijas de Bd cubren muchas de las

    situaciones que requieren asignar permisos a

    los usuarios

    no todas

  • 8/9/2019 SQL Server - Seguridad

    73/84

    Funciones personalizadas de BD

    tal vez necesitas unos permisos que no estn

    entre las funciones fijas de BD

    creamos una nueva funcin

    le asignamos permisos

    agregamos usuarios a esa funcin

    lo

    s usuario

    s heredan lo

    s permiso

    s asignado

    s ala funcin

  • 8/9/2019 SQL Server - Seguridad

    74/84

    Crear funciones personalizadas de BD

    Management Studio BD Seguridad y

    Funciones Funciones de BD boton derecho

    Nueva funcin de BD

    nombre : ejemploselect

    Propietario: dbo

    Agregamos los usuarios que quieras

  • 8/9/2019 SQL Server - Seguridad

    75/84

    Pagina Elementos

    Agregar y Objetos especificos

    Tipos de objeto: tablas

    Examinar

    activar casilla para la tabla que quieras

    lista permisos explictios

    seleccio

    narCo

    nceder junto

    a Select Aceptar

    ya se crea la funcin

  • 8/9/2019 SQL Server - Seguridad

    76/84

    cierras todo . tb sesin windows

    volvemos a iniciar Sesin

    Nueva co

    nsulta SELECT * from Customers

    si fallasolo tiene permiso para hacer

    insert..

  • 8/9/2019 SQL Server - Seguridad

    77/84

    Funciones de aplicacin

    indica si los usuarios pueden acceder a los

    datos usando nicamente:

    el inicio de sesin SQl

    la cuenta de BD

    y adems

    deben usar la aplicacin adecuada

  • 8/9/2019 SQL Server - Seguridad

    78/84

    Pasos

    crear una funcin de aplicacin y asignar

    permisos

    los usuarios abren la aplicacin aprobada y se

    conectan a Sql Server

    para habilitar la funcin de aplicacin

    la aplicacin ejecuta el procedimiento

    sp_setapprole

  • 8/9/2019 SQL Server - Seguridad

    79/84

    una vez habilitada la funcin de aplicacin

    Sql Server ve a los usuarios como la aplicacin

    les co

    ncede permiso

    s de funcin de aplicacin

  • 8/9/2019 SQL Server - Seguridad

    80/84

    Crear funcin de aplicacin

    Management Studio BD tu base

    Seguridad funciones Funciones de

    aplicacin boton derecho Nueva funcin

    aplicacin

    Nombre : aplicacin1

    Esquema predeterminado: dbo

    contrasea

  • 8/9/2019 SQL Server - Seguridad

    81/84

    Pagina elemetnos

    Agregar

    Objetos especificos

    Tipos de objeto tabla

    Examinar - la tabla que quieras

    Permisos

    Conceder en select

  • 8/9/2019 SQL Server - Seguridad

    82/84

    Nueva consulta

    nos conectamos con Autentificacin Sql Server

    nombre y clave anteriores

    hacemos un Select

    puede fallar si el usuario no tiene permisos Selct por

    pertenecer a funcion BD db_denydatareader

  • 8/9/2019 SQL Server - Seguridad

    83/84

    Activamos la funcin de aplicacin

    ejecuta la consulta

    sp_setapprole @rolenome=aplicacion1,

    @password=`tu clave`

    ahora intenta ejecutar la consulta select

    Sql considera como funcion1

  • 8/9/2019 SQL Server - Seguridad

    84/84

    Estados de los permisos