Plan para SQL

12
Nota: OBS = observación Nota: OK = razonable Plan para SQL Nota: Considere incluir en la columna comentarios, detalles sobre los elementos de revisión efectuados sobre la BD SQL, sean estos OBS u OK. Nro Verificación Pasos a Seguir Comentarios Forma Manual: Capturar pantallas sobre las siguientes carpetas: Seguir las rutas que se detallan: Usar Windows Explorer, Click derecho en el siguiente directorio --- [Properties]-- >[Security Tab]-->[Advanced]: - \Program Files\Microsoft SQL Server\MSSQL\Binn - \Program Files\Microsoft SQL Server\80\Tools\Binn - \Program Files\Microsoft SQL Server\80\Com - \Program Files\Common Files\Microsoft Shared\Service Manager Verificar quiénes tienen accesos a estas carpetas y analizar razonabilidad según sus cargos. Verifica que sólo personal autorizado tenga accesos a estas carpetas. Capturar evidencias. De acuerdo a ello manifestar el resultado (OBS o OK) Verificar los permisos sobre la carpeta donde está la Base de datos. Se supone que no cualquier usuario debería tener accesos a esos lugares. Forma Manual bajo el enfoque de inspección: Pude establecer reuniones con el Gerente de Sistemas, DBA para indagar. Preguntar ¿quienes hacen uso de los utilitarios orientados a ejecutar sentencias de SQL? Realizar una inspección visual de los utilitarios con las personas que lo usan. Ir al área de desarrollos y verificar si los utilitarios son empleados por el desarrollador, en caso de ser cierto, verificar que estos usos no OK no se observan usuarios comunes con privilegios sobre estas carpetas No se encuentran sevicios externos que se esten utilizando en el server. Verificación de permisos sobre carpetas sensibles que resguardan objetos de SQL 1 2 Verificar si la empresa hace uso de utilitarios tales como : SQL Plus, DFU, SuperZap, Etc

Transcript of Plan para SQL

Nota: OBS = observación

Nota: OK = razonable Plan para SQLNota: Considere incluir en la columna comentarios, detalles sobre los elementos de revisión efectuados sobre la BD SQL, sean estos OBS u OK.

Nro Verificación Pasos a Seguir Comentarios

Forma Manual:

  Capturar pantallas sobre las siguientes carpetas:

Seguir las rutas que se detallan:

Usar Windows Explorer, Click derecho en el siguiente directorio --- [Properties]--

>[Security Tab]-->[Advanced]:

- \Program Files\Microsoft SQL Server\MSSQL\Binn

- \Program Files\Microsoft SQL Server\80\Tools\Binn

- \Program Files\Microsoft SQL Server\80\Com

- \Program Files\Common Files\Microsoft Shared\Service Manager

  Verificar quiénes tienen accesos a estas carpetas y analizar

razonabilidad según sus cargos.  Verifica que sólo personal autorizado tenga accesos a estas

carpetas.

  Capturar evidencias.

  De acuerdo a ello manifestar el resultado (OBS o OK)

Verificar los permisos sobre la carpeta donde está la Base de datos.

Se supone que no cualquier usuario debería tener accesos a esos lugares.

Forma Manual bajo el enfoque de inspección:

  Pude establecer reuniones con el Gerente de Sistemas, DBA para

indagar.  Preguntar ¿quienes hacen uso de los utilitarios orientados a ejecutar

sentencias de SQL?  Realizar una inspección visual de los utilitarios con las personas que

lo usan.   Ir al área de desarrollos y verificar si los utilitarios son empleados

por el desarrollador, en caso de ser cierto, verificar que estos usos no

OK no se observan usuarios comunes con

privilegios sobre estas carpetas

No se encuentran sevicios externos que se esten

utilizando en el server.

Verificación de permisos sobre

carpetas sensibles que

resguardan objetos de SQL

1

2

Verificar si la empresa hace

uso de utilitarios tales como :

SQL Plus, DFU, SuperZap, Etc

  Otra tarea: Generar un listado de los servicios sobre el dominio,

server de aplicación y base datos ver elementos de SQL corriendo, con

  Considerar que si hay uso de utilitarios, no sean en ambiente real,

existen riesgos. Verificar el usuario si es privilegiado, y de quién se

trata, o verificar si existen controles en dicha cuenta. En función a

todos los análisis emitir un OK u OBS.

  Ejecutar el script SQL

  Verificar los resultados del procedimiento almacenado

“sp_helprolemember”

  Colocar en una hoja Excel para mejor entendimiento

  Verificar el campo” MemberName” y “DbRole” .

  Verificar quiénes tienen el rol “db_owner” para ello filtrar por el

campo “DbRole”  Preguntar quienes manejan el rol “db_owner” ¿Es el DBA? , quién?

De acuerdo a ello manifestar el resultado (OBS o OK)Nota: Los miembros de la función fija de base de datos db_owner

pueden realizar todas las actividades de configuración y mantenimiento

de la base de datos.

  Verificar: sp_helpsrvrolemember quienes tiene roles privilegiados

sobre el servidor, no deberían tener personas inapropiadas.

Nota: complementar con sp_helpuser

4 Objetos  Ejecutar sp_tables , devuelve todos las tablas del entorno actual.

Verificar razonabilidad de las tablas expuestas.OK, no se observan inconsistencias

  Ejecutar el script SQL

  Obtener los resultados de ejecutar la tabla “sp_helprotect”

  Colocar los resultados en una hoja Excel para mejor entendimiento

  Verificar la columna “Action” y filtrar de acuerdo a valores “Delete”,

“Insert” , “Update”  Luego de filtrar , verificar sobre la columna “Owner”, indagar

quiénes hacen uso de esas cuentas propietarias.  Determinar la razonabilidad de acuerdo a funciones y cargos. De

acuerdo a ello manifestar el resultado (OBS o OK)

No se encuentran sevicios externos que se esten

utilizando en el server.

Se tienen tres usuarios privilegiados:

Administrador equipo Local, Administrador

dominio, sa y dba

OK, no se observan inconsistencias

2

Verificar si la empresa hace

uso de utilitarios tales como :

SQL Plus, DFU, SuperZap, Etc

3 Verificar Roles

5

Análisis de las acciones:

“Delete”, “Insert” , “Update” y

“Select”

  Seguir los siguientes pasos, de forma manual / ejecutando

comandos.

Forma Manual:

Paso 1: Click on [START] -- [PROGRAMS] -- [MICROSOFT SQL SERVER], click on

[SQL SERVER MANAGEMENT STUDIO] donde se inicia la herramienta SQL Server Paso 2: En el panel de la izquierda, expander “server group”, click –derecho en el

server y seleccionar Properties.Paso 3: En el Tab Security , debajo de Authentication, la opción ‘Windows

Authentication Mode’ or ‘SQL Server and Windows Authentication Mode’.

Paso 4: Capturar Pantalla.

  Luego de capturar pantallas verificar el modo de autenticación.

  Si el modo de autenticación es MIXTO (Windows y SQL), entonces

analizar las cuentas que pertenecen a los grupos “Administrators”,   Verificar razonabilidad de acuerdo a funciones y cargo de quienes

tienen cuentas privilegiadas. De acuerdo a ello manifestar el resultado

Forma Ejecutando:

También puede ejecutar el siguiente comando para desestimar el paso manual:

xp_loginconfig 'login mode'Mayor detalle puede ver ejecutando solo xp_loginconfig

Verificar políticas de

contraseñas activas.  Ejecutar el Script SQL

  Obtener los resultados de la ejecución de select * from

sys.sql_logins , colocar los resultados en hoja Excel para mejor Todas las cuentas tienen habilitado las

politicas de contraseñas  Verificar que el campo “is_policy_checked” tenga valor 1, lo cual

significa que las políticas de contraseña están activas.

  En caso de no tener valor igual a 1 , es una OBS.

Forma Manual:

  Ir a : Start SQL Server Management Studio.

  Expandir los repositories

  Ir a la carpeta “Security”

  Ir a la carpeta “Logins”

Modo de Autenthicacion mixta

OBS, se encuentran 2 cuentas de sesion

habiliadas (Resaltados)

7

8

Verificar que

BUILTIN\Administrators login

haya sido renombrado o

removido

6Verificar el modo de

autenticación de SQL

  Verificar si se encuentra el BUILTIN\Administrators

  Capturar pantalla.

  OBS. Si se encuentra.

Nota: Todos los miembros del grupo BUILTIN \ Administradores de

Windows (el grupo del administrador local) son miembros del rol

sysadmin de forma predeterminada.

  Ejecutar el script SQL

  Obtener los resultados de la ejecución de select * from

sys.sql_logins, colocar los resultados en hoja Excel para mejor

entendimiento.

  Verificar quiénes usan cada uno de los usuarios, para ello reunirse

con el DBA y determinar la razonabilidad del uso de las cuentas. De

acuerdo a ello manifestar el resultado (OBS o OK)

10Prueba sobre cuentasque

posee contraseña vacía

- Usar la cuenta “sa” e intentar ingresar con contraseña vacía.

- Ejecutar: select name from sys.sql_logins where password_hash is

null and name='sa'.

- Si la consulta devuelve una fila, significa que la cuenta sa tiene una

contraseña en blanco.

OK, no se observan inconsistencias

11 Idle Session Time Up

  Verificar el Idle Session Time Up del Sistema Operativo de la base de

datos. En función a la razonabilidad (OBS o OK).

Nota: esto se hace desde el SO donde está la BD.

Forma Manual:

  Paso 1: <Right-click>-- appropriate server instance.

  Paso 2: Click [Properties].

  Paso 3: Click [Security] tab.

  Paso 4: Under [Login auditing], verifique que este como [Both failed

and successful logins] is checked.

  Obtenga evidencia, y en función al resultado (OBS o OK).

Forma Manual:

  Verificar: carpeta de seguridad y expandir

OBS, se encuentran 2 cuentas de sesion

habiliadas (Resaltados)

13

Verificar que se realicen

auditorías de SQL

específicamente (de Servidor y

de Base de Datos)

OBS, se encuentras usuarios que no

corresponden.

OK, definido correctamente

OBS no se tienen creadas especificaciones de

auditoria

9Verificación de usuarios de

base de datos

12 Verificar el Login auditing

8

Verificar que

BUILTIN\Administrators login

haya sido renombrado o

removido

  Ver carpeta auditoría

  Ver carpeta especificaciones de auditoria

  Corroborar que existan auditorías creadas y especificaciones.

  Obtenga evidencia, y en función al resultado (OBS o OK).

  Ejecutar: select * from sys.sql_logins where type = 'S' and

is_policy_checked <> '1'

  Si esto devuelve filas, corresponde a cuentas que no se le ha

aplicado ninguna complejidad de contraseña (OBS caso contrario OK)

  Ejecutar: select name from sys.sql_logins where type = 'S' and

is_expiration_checked = 0  Si esto devuelve filas, corresponde a cuentas que no caducan (OBS

caso contrario OK)

  Ejecutar: exec sp_helpdb

  Comprobar si existen base de datos justificadas y si sus dueños

corresponden a instancias autorizadas para serlo. En función de ello

(OBS o OK)

Nota: puede incluir mayores detalles a este plan de trabajo.

13

Verificar que se realicen

auditorías de SQL

específicamente (de Servidor y

de Base de Datos)

OBS no se tienen creadas especificaciones de

auditoria

OBS, no se tienen definido la complejidad en

las contraseñas

OBS, solo 2 cuentas tienen habilitado

expiracion de Password

OBS. En la bd adventureWorks e tiene como

dueño al usuario Saturno/Administrador

14Verificar complejidad de la

contraseña

15Verificar Cuentas que no

caducan

16Verificar razonabilidad de BD

creadas

Capturas