Vous êtes sur la page 1sur 26

Seguridades en SQL

Server 2008

Introduccin
La seguridad en la gestin de bases de datos, es un tema muy amplio e
interesante, ya que se trata de la forma de establecer y normalizar
procedimientos para resguardar de buena manera la informacin de
toda organizacin que use un servidor SQL, para tener almacenados
sus datos.
Cabe indicar que para esta exposicin se cuenta con un servidor basado
en SQL Server 2008, instalado en Windows 8 de 64 bits, 500 GB de
disco duro, 4 GB de RAM.

Aspectos bsicos de seguridad


Autentificacin: Debemos identificar la identidad del usuario.
Esto quiere decir que tiene que ste tiene que haber sido creado
en el servidor basado en SQL Server 2008.
Autorizacin: Permitir o no, acceder a un recurso o realizar una
determinada accin en funcin de la identidad del usuario.
Integridad: Asegurar que la informacin no ha sido modificada
mediante su uso, a menos que le hayan sido dados los permisos
correspondientes a un usuario en particular. Por ejemplo: Firma
Digital.
Privacidad: Asegurar que la informacin pueda ser visualizada
por el usuario destinatario. Por ejemplo: Cifrados.

Niveles de seguridad en SQL Server 2008


Los niveles de seguridad existentes en SQL Server 2008
son:
Seguridad a travs de Windows: con usuarios locales
de un equipo, usuarios de grupos y usuarios del
dominio.
Seguridad a travs de SQL Server. Existen en este caso
usuarios a nivel del motor SQL Server, as como Roles.
Seguridad a nivel de BD. Cada base de datos podr
especificar sus propios usuarios, roles de BD y de
aplicaciones que accedan a ella, as como grupos
aunque ste ltimo tipo se mantiene slo por tener
compatibilidad con versiones anteriores.

Podemos observar que existen dos carpetas de


seguridad: Una a nivel de servidor y otra a nivel de la
base de datos.
Cada base tiene una carpeta propia de seguridad donde
crean los usuarios que van a manipularla, establece los
permisos a cada usuario de la misma, los esquemas, etc.
Cada instancia (Se pueden instalar varias), posee esta
carpeta, que tiene como funcin controlar la
administracin del servidor como tal, estableciendo
permisos para el o los administradores que puedan estar
a cargo de dicho servidor.
INSTANCIA: Una instancia de Motor de base de datos es una copia del ejecutable de sqlservr.exe que se
ejecuta como un servicio de sistema operativo. Cada instancia administra varias bases de datos del sistema y
una o varias bases de datos de usuario. Cada equipo puede ejecutar varias instancias de Motor de base de
datos. Las aplicaciones se conectan a la instancia para realizar el trabajo en una base de datos administrada
por la instancia. El nombre de la instancia predeterminada se lo proporciona por lo general, cuando se est
instalando por primera vez el SQL Server 2008 en un equipo adecuado que va a funcionar como nuestro
servidor.

Seguridad a nivel de Servidor


A nivel de la carpeta de Seguridad del servidor,
nos encontramos con varias carpetas anidadas,
que representan la manera de gestionar las
seguridades para nuestro servidor.

Inicios de Sesin
Los usuarios que se crean o pertenecen a los grupos de
sta carpeta, por lo general, son los usuarios
administradores de los servidores donde se encuentran
alojados las bases de datos de una organizacin,
establecindose los permisos y privilegios para cada
usuario de este tipo.

Funciones o Roles de Servidor


Los roles de servidor son
utilizados
para
otorgar
privilegios de seguridad en todo
el servidor a un inicio de sesin.
Tienen asociados permisos que
sirven para realizar tareas, como
la
creacin,
modificacin,
borrado de una base de datos, o
la administracin de inicios de
sesin de inicios de otros
usuarios y la modificacin de sus
contraseas.

Cada inicio de sesin de SQL Server pertenece al


rol de servidor public. Cuando a una entidad de
seguridad de servidor no se le han concedido ni
denegado permisos especficos para un objeto
protegible, el usuario hereda los permisos
concedidos al rol public para ese objeto. Solo
asigne permisos pblicos en cualquier objeto
cuando desee que el objeto est disponible para
todos los usuarios. No puede cambiar la
pertenencia en public.

Credenciales
Una credencial es un registro que
contiene la informacin de autenticacin
(credenciales) necesaria para conectarse
a un recurso situado fuera de SQL
Server. Esta informacin es utiliza-da
internamente por SQL Server. La mayora
de las credenciales incluyen un nombre
de usuario y una contrasea de
Windows.
Las credenciales del sistema se crean de
forma automtica y se asocian a
extremos especficos. Los nombres de
las credenciales del sistema comienzan
por dos signos de nmero (##).

La informacin almacenada en una


credencial permite al usuario que se haya
conectado a SQL Server 2005 mediante
autenticacin de SQL Server obtener acceso
a recursos situados fuera de la instancia de
servidor. Cuando el recurso externo es
Windows, el usuario se autentica como el
usuario de Windows especificado en la
credencial. Se puede asignar una nica
credencial a varios inicios de sesin de SQL
Server. Sin embargo, un inicio de sesin de
SQL Server slo se puede asignar a una
credencial.

Proveedores de Servicios Criptogrficos


Los proveedores de servicios criptogrficos
o de cifrado (CSP) se encargan de
administrar las claves de cifrado y de
utilizarlas para diversas operaciones
criptogrficas.
Ejemplos:
Los Certificados SSL, que son pequeos
archivos
de
datos
que
vinculan
digitalmente una clave de encriptacin con
los datos de una empresa.

Auditoras
Auditora de una instancia de SQL Server o una base de datos de SQL Server implica
el seguimiento y registro de eventos que ocurren en el sistema. Basndose en la
informacin acumulada que sera capaz de rastrear los cambios en la base de
datos, el acceso a la base de datos, etc. Una auditora es la combinacin de varios
elementos en un solo paquete para un grupo especfico de acciones de servidor o
base de datos de acciones. Los componentes de SQL Server Audit se combinan para
producir una salida que se llama una auditora, as como una definicin de informe
junto con los grficos y elementos de datos produce un informe. Auditora de SQL
Server utiliza extendido eventos para ayudar a crear una auditora.
El objeto de SQL Server Audit recoge una sola instancia de servidor o base de datos
de las acciones a escala y los grupos de acciones para el seguimiento. La auditora
es a nivel de la instancia de SQL Server. Usted puede tener mltiples auditoras por
cada instancia de SQL Server. Cuando se define una auditora, se especifica la
ubicacin de la salida de los resultados. Este es el destino de auditora. La auditora
se crea en un estado de movilidad reducida, y no de forma automtica todas las
acciones de auditora. Despus de la auditora est habilitada, el destino de la
auditora recibe los datos de la auditora.

Auditorias

La auditora de una
instancia de Motor
de base de datos
de SQL Server o de
una
base
de
datos
individual
implica
el
seguimiento
y
registro de los
eventos que se
producen
en
Motor de base de
datos.

La auditora de SQL Server permite crear


auditoras de servidor, que pueden contener
especificaciones de auditora de servidor
para los eventos de servidor, y
especificaciones de auditora de base de
datos para los eventos de base de datos. Los
eventos auditados se pueden escribir en los
registros de eventos o en los archivos de
auditora.

Especificaciones de auditora de servidor

Es posible tener varias auditoras por


cada instancia de SQL Server. El
objeto Especificacin de auditora de
servidor pertenece a una auditora.
Puede crear una especificacin de
auditora de servidor por cada auditora,
ya que ambos se crean en el mbito de
la instancia de SQL Server.

Especificaciones de auditora de servidor


El objeto de auditora de servidor Especificacin pertenece a una auditora.
Puede crear una especificacin de auditora de servidor por la auditora, ya
que ambos se crean en el alcance de la instancia de SQL Server. La
especificacin de auditora de servidor recoge servidor de muchos grupos de
accin a nivel nacional planteadas por el extendido Eventos caracterstica.
Usted puede incluir a los grupos de accin de auditora en una especificacin
de auditora de servidor. Los grupos de accin de auditora son grupos
predefinidos de acciones, que son los eventos atmicos expuestos por el
motor de base de datos. Estas acciones son enviados a la auditora, que
registra en el objetivo.
Servidor de auditora de los grupos de nivel de accin se describe en el tema
de SQL Server Grupos de auditora de acciones y acciones.

Seguridad a nivel de Bases de Datos

Como se muestra en la figura, por cada


base de
datos creada en nuestro
servidor, existir una carpeta de
seguridad respectivamente.

La carpeta Seguridad es similar a la


carpeta Seguridad del Servidor, sin
embargo, el nivel de seguridad est
enfocado a dar los permisos de manera
equilibrada a cada usuario que por
medio de una aplicacin necesitare
insertar, modificar o eliminar datos de
dicha base.

Usuarios
Logins y Users
Para conectarse al SQL Server, se necesita un Login (usuario a nivel del servidor).
A nivel de la base de datos, el usuario se identifica como un User que est relacionado generalmente
al Login (que es a nivel del servidor), y los privilegios al User existen solamente en el mbito de la
base de datos (adems a los privilegios al Login).
Para otorgar derechos generales puede asistirse con listas de Server Roles (roles a nivel del servidor) o
Database Roles (roles a nivel de la base de datos especfica), cada cual con privilegios especficos a un
rol especfico; y cada usuario asociado con uno de estos Roles obtiene los privilegios asociados con l.
Adems, el administrador puede otorgar derechos specificos, y crear otros Database Roles (no se
puede crear Server Roles).
Los privilegios a nivel del servidor incluyen la capacidad de crear bases de datos, utilizar las tareas
(Jobs), crear respaldos de bases de datos y restaurarlos, modificar las definiciones del servidor, etc.
Los privilegios a nivel de la base de datos posibilitan extraer y actualizar datos, crear objetos como
procedimientos y tablas, utilizar dichos objetos, etc. Como regla general se puede otorgar derechos
(Grant), revocar privilegios existentes (Revoke), y denegar privilegios an no existen (Deny).

Usuarios
Los usuarios dbo, guest, INFORMATION_SCHEMA
y sys, son creados en el momento de la instalacin
del SQL.

dbo es una cuenta de usuario muy particular ya


que no puede ser utilizada para establecer
conexiones a la base de datos pero cuenta con
privilegios especiales. La cuenta dbo es especial
tambin porque es el dueo de la base de datos.
Adems, gracias a que eres dbo, tienes todos los
permisos para hacer cualquier cosa en la base de
datos y hasta puedes tambin puedes asignarlos a
otras cuentas de usuario.

Funciones o Roles de Bases de Datos


Son fijos:
No pueden modificarse sus permisos. Excepto el de Public.
No pueden eliminarse.
No pueden aadirse nuevos roles predefinidos.
Los siguientes:
db_owner: realizan cualquier operacin en la base de datos
db_backupoperator: realiza copias de seguridad
db_datareader: lee de cualquier tabla
db_datawriter: escribe en cualquier tabla
db_denydatawriter: no puede escribir en ninguna tabla
db_denydatareader: no puede leer de ninguna tabla
db_ddladmin: crea y modifica objetos en la base de datos
db_accessadmin: gestiona usuarios en la base de datos
db_securityadmin: gestiona los permisos

Para administrar con facilidad los permisos en las bases de datos, SQL Server
proporciona varios roles, que son las entidades de seguridad que agrupan a
otras entidades de seguridad. Son como los grupos del sistema operativo
Microsoft Windows. Los roles de nivel de base de datos se aplican a toda la
base de datos en lo que respecta a su mbito de permisos.
Existen dos tipos de roles de nivel de base de datos en SQL Server: los roles
fijos de base de datos, que estn predefinidos en la base de datos, y los roles
flexibles de base de datos, que pueden crearse.
Los roles fijos de base de datos se definen en el nivel de base de datos y
existen en cada una de ellas. Los miembros de los roles de base de
datos db_owner y db_securityadmin pueden administrar la pertenencia a
roles fijos de base de datos. Sin embargo, solo los miembros del rol de base de
datos db_owner pueden agregar miembros al rol fijo de base de
datos db_owner. Tambin hay algunos roles fijos de base de datos con fines
especiales en la base de datos msdb.
Puede agregar cualquier cuenta de la base de datos y otros roles de SQL
Server a los roles de nivel de base de datos. Cada miembro de un rol fijo de
base de datos puede agregar otros inicios de sesin a ese mismo rol.

Esquemas
Un esquema es un contenedor que contiene tablas, vistas,
procedimientos, etc. Se encuentra dentro de una base de
datos, que a su vez est dentro de un servidor. Estas
entidades se acomodan como cajas anidadas. El servidor
es la caja ms externa y el esquema la ms interna.
Contiene toda la estructura de la base de datos.
Los esquemas sirven sobretodo para organizar los objetos,
y tambin la seguridad de la base de datos, especialmente
cuando se tiene varios usuarios. Si un usuario posee un
esquema, tiene por defecto permisos sobre los objetos de
ese esquema que no tendrn otros usuarios, a menos que
se les hayan concedido expresamente.

Claves Simtricas y Asimtricas


SQL Server usa claves de cifrado para proteger los datos, las
credenciales y la informacin de conexin que se almacena en
una base de datos servidor. SQL Server tiene dos tipos de
claves: simtricas y asimtricas. Las claves simtricas utilizan la
misma contrasea para cifrar y descifrar los datos. Las claves
asimtricas utilizan una contrasea para cifrar los datos
(denominada clave pblica) y otra para descifrar los datos
(denominada clave privada).

Claves simtricas
Una clave simtrica es una clave que se utiliza para el
cifrado y el descifrado. El cifrado y el descifrado con una
clave simtrica son ms rpidos y adecuados para usarlos
de forma rutinaria con datos confidenciales de una base
de datos.

Claves asimtricas
Una clave asimtrica se compone de una clave privada y su
correspondiente clave pblica. Cada clave puede descifrar los
datos que cifra la otra. El cifrado y descifrado asimtricos
consumen una cantidad de recursos relativamente elevada, pero
proporcionan un nivel de seguridad superior al del cifrado
simtrico. Una clave asimtrica se puede utilizar para cifrar una
clave simtrica para almacenar en una base de datos.

Certificados
Un certificado es un objeto de seguridad firmado
digitalmente que contiene una clave pblica (y
opcionalmente una privada) para SQL Server. Pueden
utilizarse certificados generados externamente o
generados por SQL Server.

Especificacin de auditora de BD
El objeto de auditora de base de datos
especificacin tambin pertenece a una
Auditora de SQL Server. Puede crear una
especificacin de auditora de base de datos
por base de datos de SQL Server para la
auditora. La especificacin de auditora de
base de datos de base de datos recoge las
acciones de auditora de alto nivel planteada
por el extendido Eventos caracterstica. Puede
agregar cualquiera de los grupos de auditora
de la accin o los eventos de auditora a una
especificacin de auditora de base de datos.
Los sucesos de auditora son las acciones
atmicas que pueden ser auditados por el
motor de SQL Server. Los grupos de accin de
auditora son grupos predefinidos de acciones.
Ambos se encuentran en el alcance de la base
de datos de SQL Server. Estas acciones son
enviados a la auditora, que registra en el
objetivo. Base de datos de auditora de los
grupos de nivel de accin y las acciones de
auditora se describe en el tema de SQL Server
Grupos de auditora de acciones y acciones.

Vous aimerez peut-être aussi