You are on page 1of 21

AA11 Evidencia 3

Carlos Antonio Espinosa Orozco


CC 77.033.890
Auditora y seguridad de bases de datos

IREO ofrece varias soluciones de auditoria y controlo de acceso en sistemas de bases de dados
corporativas. Estas soluciones permiten controlar y presentar detallados informes de acceso a datos en
sistemas crticos, respondiendo a una exigencia comn para definir o controlar el acceso y la auditoria de
los administradores de bases de dados.
PowerBroker Databases
PowerBroker Databases securiza, gestiona y audita eficazmente las bases de
datos en entornos heterogneos. Monitoriza y controla la actividad de los administradores y usuarios
privilegiados, y permite delegar permisos muy especficos en el acceso a los datos. Sus herramientas de
auditora, trazabilidad, control de permisos,y reporting facilitan enormemente el cumplimiento de las
polticas de seguridad.
Trustwave AppDetectivePRO
T
rustwave AppDectectivePRO es una herramienta de anlisis de bases de datos
que detecta y muestra cualquier error en su configuracin, problemas de identificacin y control de
accesos, actualizaciones pendientes o cualquier combinacin peligrosa de configuraciones que pudiera
provocar ataques de elevacin de privilegios del usuario, de fugas de informacin, de denegacin de
servicios (DoS) o modificaciones no autorizadas de los datos.
Trustwave DbProtect
T
rustwave DbProtect es una plataforma de seguridad de datos que muestra
errores de configuracin de bases de datos, problemas de control de identificacin y accesos,
actualizaciones que faltan o cualquier combinacin peligrosa de ajustes que pudiera provocar una
escalada de ataques de privilegios, fugas de datos, denegacin de servicios (DoS) o modificaciones no
autorizada de los datos dentro de los almacenes de datos (bases de datos relacionales y Big Data).
Introduccin a la auditora de bases de datos SQL
Por Jeff Gollnick ltima actualizacin: 12/11/2015
La auditora de Base de datos SQL de Azure realiza un seguimiento de los eventos de base de datos y
escribe eventos auditados en un registro de auditora en la cuenta de Almacenamiento de Azure. La
auditora est generalmente disponible para los niveles de servicio Bsico, Estndar y Premium.
La auditora puede ayudarle a mantener el cumplimiento de normativas, comprender la actividad de las
bases de datos y conocer las discrepancias y anomalas que pueden indicar problemas en el negocio o
infracciones de seguridad sospechosas.

Las herramientas de auditora posibilitan y facilitan la observancia de estndares reguladores, pero no


garantizan el cumplimiento. Para obtener ms informacin acerca de los programas de Azure compatibles
con la observancia de estndares, consulte el Centro de confianza de Azure.

Conceptos bsicos de la auditora de Base de datos SQL de Azure

Configuracin de la auditora para su base de datos

Anlisis de registros e informes de auditora


Conceptos bsicos de la auditora de Base de datos SQL de Azure
Las secciones siguientes describen la configuracin de auditora mediante el Portal de Azure. Tambin
puede configurar la auditora para su base de datos con el Portal de Azure clsico.
La auditora de Base de datos SQL le permite:

Conservar una traza de auditora de eventos seleccionados. Puede definir categoras de acciones de base
de datos para auditar.

Informar sobre la actividad de la base de datos. Puede usar informes preconfigurados y un panel para
empezar rpidamente con el informe de actividades y eventos.

Analizar informes. Puede buscar eventos sospechosos, actividades inusuales y tendencias.


NOTA:
Ahora puede recibir alertas proactivas en actividades anmalas de la base de datos que pueden indicar
posibles amenazas de seguridad con la nueva caracterstica de deteccin de amenazas, ahora en vista
previa. La deteccin de amenazas puede activarse y configurarse en la hoja de configuracin de auditora.
Vea Introduccin a la deteccin de amenazas para obtener ms detalles.
Puede configurar la auditora para las categoras de eventos siguientes:
SQL sin formato y SQL parametrizado para los que los registros de auditora recopilados se clasifican
como

Acceso a datos

Cambios de esquema (DDL)

Cambios de datos (DML)

Cuentas, roles y permisos (DCL)

Procedimiento almacenado, Inicio de sesin y Administracin de transacciones.


Para cada categora de eventos, las operaciones de aciertos y errores se configuran por separado.
Para obtener ms detalles acerca de las actividades y eventos auditados, consulte Referencia de formato
del registro de auditora (descarga de archivo .doc).
Los registros de auditora se almacenan en su cuenta de almacenamiento de Azure. Puede definir un
perodo de conservacin para el registro de auditora, despus del cual se eliminarn los registros
antiguos.
Puede definirse una directiva de auditora para una base de datos especfica o como directiva de servidor
predeterminada. La directiva de auditora de servidor predeterminada se aplicar a todas las bases de
datos de un servidor que no tengan una directiva de auditora de base de datos de reemplazo especfica
definida.

Antes de configurar la auditora, compruebe si usa un Cliente de nivel inferior.


Configuracin de la auditora para su base de datos
1. Inicie el Portal de Azure en https://portal.azure.com. Tambin puede iniciar el Portal de Azure clsico en
https://manage.windowsazure.com/. Consulte los detalles que aparecen a continuacin.
2. Vaya a la hoja de configuracin de la base de datos SQL o el servidor SQL Server que desea auditar. En la
hoja Configuracin, seleccione Auditora y deteccin de amenazas.

3. En la hoja de configuracin de auditora, active la auditora.


4. Seleccione Detalles de almacenamiento para abrir la hoja de almacenamiento de registros de auditora.
Seleccione la cuenta de almacenamiento de Azure donde se guardarn los registros y el perodo de
conservacin. Sugerencia: use la misma cuenta de almacenamiento para todas las bases de datos
auditadas con el fin de obtener el mximo rendimiento de las plantillas de informes de auditoras.

5. Haga clic en Eventos auditados para personalizar los eventos que se van a auditar. En la hoja Registro
por evento haga clic en Acierto y Error para registrar todos los eventos, o elija categoras individuales de
eventos.
6. Puede activar la casilla Heredar la configuracin de auditora del servidor para indicar que esta base
de datos se auditar segn la configuracin de su servidor. Una vez que active esta opcin, ver un vnculo
que permite ver o modificar la configuracin de la auditora de servidor de este contexto.

7. Una vez haya establecido la configuracin de la auditora, puede activar la deteccin de amenazas y
configurar los mensajes de correo electrnico para recibir alertas de seguridad. Consulte la
pgina Introduccin a la deteccin de amenazas para obtener ms detalles.
8. Haga clic en Guardar.
Anlisis de registros e informes de auditora
Los registros de auditora se agregan en una recopilacin de tablas de Almacenamiento con el
prefijo SQLDBAuditLogs en la cuenta de almacenamiento de Azure que eligi durante la configuracin.
Puede ver archivos de registro usando una herramienta como el Explorador de almacenamiento de Azure.
Hay una plantilla de informe preconfigurada disponible como hoja de clculo de Excel descargable para
ayudarle a analizar datos de registro rpidamente. Para utilizar la plantilla en los registros de auditora,
necesita Excel 2013 o posterior y Power Query, que puede descargaraqu.
Puede importar los registros de auditora en la plantilla de Excel directamente desde su cuenta de
almacenamiento de Azure con Power Query. A continuacin, puede explorar los registros de auditora y
crear paneles e informes sobre los datos del registro.

Configuracin de la auditora para su base de datos con el Portal de Azure clsico


1. Inicie el Portal de Azure clsico en https://manage.windowsazure.com/.
2. Haga clic en la base de datos o el servidor de SQL Server que desea auditar y, a continuacin, haga clic en
la pestaa Auditora y seguridad.
3. Establezca Auditora en HABILITADO.

4. Editar la REGISTRO POR EVENTO segn sea necesario, para personalizar los eventos que se auditarn.

5. Seleccione una CUENTA DE ALMACENAMIENTO y configure la RETENCIN.

6. Haga clic en GUARDAR.


Prcticas para el uso en produccin
La descripcin de esta seccin se refiere a las capturas de pantalla anteriores. Se puede usar tanto
el Portal de Azure como el Portal de Azure clsico.
Regeneracin de clave de almacenamiento
En el entorno de produccin, es probable que actualice peridicamente las claves de almacenamiento. Al
actualizar las claves se debe volver a guardar la directiva de auditora. El proceso es el siguiente:
1. Vuelva a la hoja de configuracin de auditora, cambie la Clave de acceso de
almacenamiento de Principal a Secundaria y haga clic en GUARDAR.

2. Vaya a la hoja de configuracin de almacenamiento y regenere la Clave de acceso primaria.


3. Vuelva a la hoja de configuracin de auditora, cambie la Clave de acceso de
almacenamiento de Secundaria a Principal y haga clic en GUARDAR.
4. Vuelva a la interfaz de usuario de almacenamiento y vuelva a generar la Clave de acceso
secundaria (como preparacin para el siguiente ciclo de actualizacin de las claves).
Automatizacin
Existen varios cmdlets de PowerShell que puede usar para configurar la auditora en la base de datos de
SQL de Azure.

Get-AzureRMSqlDatabaseAuditingPolicy

Get-AzureRMSqlServerAuditingPolicy

Remove-AzureRMSqlDatabaseAuditing

Remove-AzureRMSqlServerAuditing

Set-AzureRMSqlDatabaseAuditingPolicy

Set-AzureRMSqlServerAuditingPolicy

Use-AzureRMSqlServerAuditingPolicy

Tcnicas de auditora de bases de datos SQL Server


La auditora de bases de datos SQL Server no es usada solamente para cumplir con requerimientos de
conformidad. Se ha vuelto necesaria para el anlisis de acciones de bases de datos, soluciones de
problemas y la investigacin de actividades sospechosas y maliciosas. La auditora tambin puede ayudar
a evitar acciones inapropiadas de parte de los usuarios como si tuviera un sistema CCTV en sus bases de
datos.
Hay muchas tcnicas de auditora de SQL Server:

Auditora manual puede ser creada para cumplir con sus requerimientos especficos, pero consume
tiempo y es proclive a errores
Utilizar SQL Server Extended Events fcil de configurar, un amplio rango de acciones puede ser
auditadas, pero no ofrece informacin acerca de qu se elimin/insert ni tampoco valores antiguos y
nuevos para actualizaciones; una auditora detallada puede causar problemas de desempeo
Usar desencadenadores de SQL Server fcil de configurar, pero puede causar problemas de desempeo
en bases de datos de altas transacciones
Leer los registros de transacciones no hay captura de datos adicional, ya que SQL Server ya sigue estos
cambios. Ms espacio de almacenamiento es necesario, algunas de las acciones (como EXECUTEs) no son
auditadas
Usar SQL Server Profiler y traces de SQL Server flexible y complejo. Es difcil leer y filtrar los registros
Cul es el correcto para usted depende de su ambiente, lo que necesita auditar, dnde quiere almacenar
las acciones capturadas y la forma que quiere que tengan los reportes.
Auditora manual
Las bases de datos SQL Server pueden ser auditadas usando procedimientos almacenados especialmente
desarrollados y funciones para rastrear cambios en los datos y los objetos. Provee una solucin flexible
que requiere una gran cantidad de cdigo y desarrollo, lo cual incrementa el costo y el tiempo de
implementacin.
Usar SQL Server Extended Events
SQL Server Audit es una caracterstica de SQL Server, introducida primero en la versin 2008 que usa SQL
Server Extended Events para auditar acciones de SQL Server. Permite auditar diferentes acciones,
proveyendo mucha granularidad en el proceso de configuracin y cubriendo un amplio rango de la
actividad de SQL Server.
Para crear un nuevo objeto de SQL Server Audit:

1. En SQL Server Management Studio, expanda Security y haga clic derecho en Audits
2. Seleccione New Audit

3. Especifique un nombre para la auditora, establezca si desea almacenar los datos de auditora en un
registro de eventos de la aplicacin, un registro de eventos de seguridad o un archivo, y una localizacin
para el archivo de auditora

4. Haga clic en OK y su auditora aparecer en el nodo Audits en el Object Explorer de SQL Server
Management Studio
5. Por defecto, est deshabilitada y por tanto mostrada con una flecha roja. Para habilitarla, haga clic derecho
y selecciones Enable Audit

6. Elija si necesita Server Audit Specification o Database Audit Specification, dependiendo si usted quiere
auditar la actividad al nivel de una instancia SQL Server o una base de datos
7. Para crear una Database Audit Specification, expanda el nodo de la base de datos que desea auditar, vaya a
Security, haga clic derecho en Database Audit Specifications y seleccione New Database Audit

8. En el dilogo Create Database Audit Specification, especifique un nombre de especificacin, asocie la


especificacin con el objeto de auditora creado en el paso #1, especifique la actividad que ser auditada
en Audit Action Type. Para la auditora de bases de datos, especifique una base de datos, objeto, o
esquema como Object Class, el nombre del objeto auditado, y el login auditado

Usted puede ver todas las acciones que pueden ser auditadas usando SQL Server Auditing en la lista
desplegable para Audit Action Type

Los Principales que usted debe seleccionar en este dilogo son realmente cuentas de usuario que sern
monitoreadas.

Al igual que las auditoras, las especificaciones de auditora de bases de datos estn deshabilitadas por
defecto. Para habilitarlas, seleccione esta opcin en su men contextual

Ahora, todas las sentencias DELETE ejecutadas contra Person.BusinessEntityAddress sern auditadas e
insertadas en archivos con nombres que empiezan con Audit-, como Audit-AW2012Test_9D93CA4A8B90-40B8-8B0B-FCBDA77B431D_0_130161593310500000.sqlaudit, y almacenadas en E:\
Dado que puede haber muchas acciones capturadas en una base de datos activa, es recomendado grabar la
informacin de auditora en un archivo. El archivo sqlaudit no puede ser abierto en un editor de texto o
hex. Use Reporting Services o la funcin T-SQL fn_get_audit_file para analizar los datos.
Por ejemplo:
SELECT event_time,action_id,statement,database_name,server_principal_name
FROM fn_get_audit_file( 'E:\Test\Audit-*.sqlaudit' , DEFAULT , DEFAULT);
lo anterior muestra los siguientes resultados:

Incluso cuando usted selecciona todas las columnas, usted no ver qu fue eliminado realmente, slo
cundo y quin realiz la eliminacin, lo cual es una de las desventajas de este mtodo.
Otros inconvenientes son:

Como SQL Server Audit usa recursos de SQL Server para una auditora detallada, esto puede afectar el
rendimiento general de SQL Server
Administrar SQL Server Audit en instancias SQL Server mltiples no puede ser centralizado por defecto
Analizar y archivar los datos de auditora (en un archivo, o en registros) involucra importacin, reportes y
archivado manuales
Est disponible slo en versiones de SQL Server 2008 y posteriores
La auditora a nivel de base de datos est disponible slo en las ediciones Enterprise, Developer y
Evaluation
Usar desencadenadores de SQL Server
Los desencadenadores de SQL Server son automticamente activados cuando un cierto evento sucede. Los
desencadenadores son realmente procedimientos almacenados ejecutados automticamente cuando una
condicin se cumple. Los desencadenadores de Data Manipulation Language (DML) por tanto pueden ser
usados para rastrear las sentencias INSERT, UPDATE y DELETE. Usted puede crear estos
desencadenadores uno por uno para cada tabla y cada sentencia que desea auditar. Usted tambin
necesita crear un espacio de almacenamiento para la informacin auditada por ejemplo, una tabla SQL
donde sern insertados el tiempo de la transaccin, el nombre de usuario, el tipo de transaccin, etc. Para
rastrear UPDATEs, es muy til almacenar los valores antiguos y nuevos.
Por ejemplo, un desencadenador que es activado despus de que un registro fuera insertado en la tabla
Person.Person inserta un nombre de tabla, un tiempo y fecha cuando el registro fue insertado y el nombre
de usuario usado para insertar el registro a la tabla dbo.Repository. Debera verse as:
CREATE TRIGGER PersonPerson_I
ON Person.Person
AFTER INSERT
AS
INSERT INTO dbo.repository (
TABLE_NAME,
TABLE_SCHEMA,
AUDIT_ACTION_ID,
MODIFIED_BY,
MODIFIED_DATE,
[DATABASE]
)
values(
'Person',
'Person',

'Insert',
SUSER_SNAME(),
GETDATE(),
'AdventureWorks2012'
) GO
Antes de que tales desencadenadores sean creados, usted debera disear y crear la(s) tabla(s) donde el
DML ser almacenado.
Este mtodo es proclive a errores, ya que hay mucho trabajo manual involucrado.
ApexSQL Trigger es una herramienta de auditora de bases de dato que captura cambios en los datos que
han ocurrido en una base de datos, incluyendo la informacin acerca de quin hizo el cambio, qu objetos
fueron afectado por l, cundo fue hecho as como la informacin del login de SQL, la aplicacin y el
anfitrin usados para hacer el cambio. Almacena toda la informacin capturada en el repositorio central y
la exporta en formatos amigables para imprimir. Para crear desencadenadores, simplemente seleccione
las tablas y los tipos de operacin que desea auditar.
1. Inicie ApexSQL Trigger
2. Conctese a la base de datos que desea auditar

3. En la cuadrcula principal, seleccione la tabla que desea auditar

4. En el panel Fields, seleccione las columnas a auditar

5. Seleccione las transacciones a auditar INSERT, DELETE, UPDATE


6. Repita los pasos del 3 al 5 para todas las tablas que desea auditar
7. En el men, haga clic en Create triggers
8. El script que genera los desencadenadores especificados es mostrado en el dilogo Script. Verifquelo y
presione F5 para ejecutarlo

Una vez que los desencadenadores son creados, sern ejecutados por cada INSERT, DELETE y UPDATE
ejecutados contra la tabla y los detalles de la operacin son almacenados en las tablas AUDIT_LOG_DATA y
AUDIT_LOG_TRANSACTIONS.

Usted puede verlos fcilmente usando los reportes incorporados de ApexSQL Trigger, o creando
consultas SQL propias.

Mientras que los desencadenadores proporcionan una auditora granular y un almacenamiento fcil de
acceder, su principal desventaja es que los que son activados en una base de datos atareada pueden causar
gastos extras.
Leer los registros de transacciones
Como cada cambio de esquema y datos en una base de datos SQL Server es aadido a un registro de
transacciones en lnea como una entrada de registro, leer estas entradas puede ser usado como una
tcnica de auditora. Abrir un archivo de registro de transacciones en lnea de bases de datos, un registro
de transacciones suelto o copias de seguridad de registros de transacciones y leerlos no tan fcil. Una de
las opciones es usar funciones no documentadas como fn_dblog, fn_dump_dblog, y DBCC PAGE.
Aparte de la complejidad y los problemas con la reconstruccin de UPDATE/BLOB, su mayor desventaja
es que muestran valores hex que usted tiene que descifrar.
Para leer registros de transacciones, use un lector de registros de SQL Server como ApexSQL Log. Esta
herramienta audita, revierte o rehace cambios de datos y objetos que han afectado una base de datos,
incluyendo aquellos que han ocurrido antes de la instalacin de ApexSQL Log. Tambin captura
informacin acerca del usuario, la aplicacin y el anfitrin usados para hacer cada cambio.

1. Inicie ApexSQL Log


2. Conctese a la base de datos que desea auditar

3. En el paso Select SQL logs to analyze, aada las copias de seguridad de registros de transacciones y los
registros de transacciones sueltos que quiere leer. Note que ellos deben formar una cadena completa para
proveer una auditora exitosa

4. Use las opciones de Filter setup para reducir el conjunto de resultados usando el tiempo el tipo de
operacin, el nombre de la tabla, el usuario y otras opciones de filtrado

5. Haga clic en Open


6. Los resultados son mostrados en la cuadrcula principal y usted puede crear fcilmente scripts para
deshacer y rehacer, o exportarlos a archivos CSV, HTML, XML o archivos SQL y grabarlos en el disco duro

Las ventajas de este mtodo son que no hay desencadenadores y tampoco procesos adicionales para
capturar la informacin de auditora que puede afectar el desempeo de SQL Server. El historial de
transacciones puede ser obtenido para el periodo antes de que la herramienta fuera instalada, a diferencia
de los desencadenadores y Extended Events.
Las desventajas son:

Ms espacio es requerido para suficientes fuentes de datos, ya que una base de datos tiene que estar en un
modelo de recuperacin completo, y una cadena completa de registros de transacciones debe existir
No todas las acciones que un usuario quiera auditar son almacenadas en un registro de transacciones. Por
ejemplo, las sentencias SELECT ejecutadas y las consultas no son almacenadas ah
Usar SQL Server Profiler y traces de SQL Server

Usar SQl Server Profiler y traces de SQl Server para auditar es una solucin muy compleja con mucho
trabajo manual, y por lo tanto proclive a errores.
ApexSQL Audit es una herramienta de auditora construida sobre traces de SQL Server, lo que provee
informacin de quin vio qu, una auditora con tolerancia a fallos, reporte centralizado, una GUI
amigable para el usuario para configurar la auditora en ms de 230 operaciones, y un repositorio
centralizado para almacenar registros de auditora y configuraciones. La herramienta configura los traces
de acuerdo a la configuracin que un usuario ha especificado, o usa su configuracin por defecto que
cubre las solicitudes ms comunes de auditora.
1. Inicie ApexSQL Audit
2. Haga clic en el botn Add server para seleccionar un servidor para la auditora

3. Haga clic en el botn Add database para seleccionar una base de datos para la auditora, y seleccione el
servidor o base de datos que desea auditar

Otra opcin es usar el tipo de filtro Avanzado:

Ahora, cuando sea que cualquier operacin que usted seleccion es realizada en el SQL Server auditado,
un registro ser guardado en la base de datos del repositorio central ApexSQLCrd.
Para ver los registros de auditora, usted puede un reporte local integrado, o usar la funcionalidad de
reportes web.

Las ventajas de ApexSQL Audit son la fcil configuracin de auditora, un rango amplio de tipos de
operaciones auditadas, el repositorio central, los reportes web, de tal modo que incluso usuarios remotos
puedan acceder fcilmente a todos los registros de auditora, y la administracin fcil y centralizada.
Tcnica

Ventajas

Desventajas

Escritura de cdigo
Auditora manual

Flexibilidad

Desarrollo
Costo
Larga implementacin

Flexibilidad

Auditora de SQL
Server

Un gran nmero de
tipos de acciones
auditadas

No registros eliminados, insertados o actualizados

Fcil de configurar

No est disponible en todas las versiones y ediciones de SQL Server

Puede afectar al desempeo general

No hay costo adicional

Fcil de configurar
Usar
desencadenadores
de SQL Server

Puede rastrear una


transaccin especfica
para slo tablas
especficas

Es proclive a errores cuando los desencadenadores y el repositorio so


manualmente

Puede causar un costo extra en una base de datos de transacciones alt

Almacenamiento
flexible

No hay capturas de
datos adicional

Leer registros de
transacciones

Los cabios DML y DDL


pueden ser auditados
Puede mostrar
registros que fueron
afectados

Ms espacio de almacenamiento necesitado


Difcil sin un lector de registros

No todas las acciones son auditadas (seguridad, consultas, ejecuciones


etc.)

No hay costo adicional

Usar SQL Server


Profiler y traces de
SQL Server

Flexible
Ya disponible en SQL
Server

Complejo y proclive a errores cuando se usa manualmente

Como se present anteriormente, hay muchas tcnicas de auditora SQL Server que utilizan diferentes
caractersticas de SQL Server. Desde cdigo manualmente escrito y por tanto proclive a errores, hasta un
GUI amigable para el usuario. Algunas de ellas pueden causar un costo extra y problemas de Desempeo
en SQL Server, mientras que otras no tiene casi ningn efecto. Determine qu tipo de operaciones necesita

auditar y selecciones una herramienta de auditora ApexSQL para configurar la auditora y crear reportes
en slo algunos clics del ratn.
Author: Milena Petrovic
Traductor: Daniel Calbimonte

0 0
Related Posts:
1.
2.
3.
4.
5.

Auditora a desencadenadores en bases de datos SQL Server


Cmo recuperar datos de SQL Server de operaciones UPDATE y DELETE accidentales
Cumplimiento de la HIPAA para Administradores de Bases de Datos SQL Server
Seguridad y cumplimiento de normas para bases de datos SQL Server
Recupere una base de datos SQL Server usando una copia de seguridad antigua y el archivo actual del
registro de transacciones
- See more at: http://solutioncenter.apexsql.com/es/tecnicas-de-auditoria-de-bases-de-datos-sqlserver/#sthash.PKiYirPb.dpuf

You might also like