Plan para SQL
-
Upload
khangminh22 -
Category
Documents
-
view
1 -
download
0
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