¡Hola, chicos!
Esta es una publicación especial para mí, porque es mi primera publicación en inglés aquí en mi blog. El objetivo principal de esta publicación es compartir y mostrar cómo utilizar el procedimiento almacenado stpSecurity_Checklist para realizar una lista de verificación de seguridad completa en sus instancias de SQL Server.

Después de un gran cambio en mi SP original (SQL Server – Lista de verificación de seguridad – Un SP con más de 70 elementos de seguridad para validar su base de datos) para permitir el uso en varios idiomas y pasé muchas horas traduciendo cada cadena al inglés, finalmente puedo compartir con ustedes esta versión de la lista de verificación de seguridad.

Comencé este proyecto en noviembre de 2018 y ahora con más de 6.000 líneas de código, este Security Checklist (probablemente, el más completo que encontrarás en Internet), con más de 70 elementos de seguridad para verificar tu base de datos, pasando por la parte de configuraciones y parámetros, permisos, objetos de programación y más!

Después de ver que muchas empresas, desarrolladores (y a veces los propios DBA) pasan por alto la seguridad de sus instancias de SQL Server, donde vemos entornos en los que la aplicación utiliza el usuario “sa”, por ejemplo, o encontramos miles de intentos de conectarse con contraseña incorrecta y nadie hace nada, instancias sin una rutina de respaldo bien definida, hemos decidido crear una manera muy práctica y fácil de tener rápidamente una visión general de la seguridad de SQL Server, en un formato amigable con información técnica al mismo tiempo, permitiéndole exportar fácilmente a un Excel y demostrarle al cliente los múltiples problemas. planteado, el impacto que esto puede causar en la instancia y cómo solucionarlo.

La salida del procedimiento almacenado se organiza de la siguiente manera:

  • Código: Un número único para identificar fácilmente el elemento de validación
  • Categoría: Una forma de agrupar los controles según una categoría lógica que imaginé para estas validaciones.
  • Título: Título de verificación, que es un resumen de lo que este elemento está validando en la base de datos.
  • Resultado: Es el resultado de la validación. Informa si el ítem pasó la validación (OK), si es solo un ítem informativo o si se ha identificado un POSIBLE problema
  • Cómo esto puede ser un problema: Una breve explicación de por qué se está escaneando este elemento y qué riesgo de seguridad nos puede traer
  • Explicación técnica: Detalles más técnicos y específicos de lo que se está verificando en la instancia.
  • Cómo solucionarlo: Algunas pautas sobre cómo corregir o evitar el posible problema identificado por el Procedimiento Almacenado
  • Detalles del resultado: XML que devuelve los registros que causaron el error de validación y los artefactos identificados (algunos elementos están limitados a registros TOP (N) porque pueden tener muchos registros devueltos en XML)
  • Referencia externa: Enlace a un artículo o documentación que pueda ayudar a comprender este elemento de verificación.

Si tu excusa para no tratar los problemas de seguridad en tu empresa era no tener una manera práctica y fácil de identificar los problemas, no sabía cómo solucionarlos o no sabía cuáles eran los problemas de seguridad, ¡tus excusas se acabaron! Esto ya no debería ser un problema para ti.

Este es un proyecto que ejecuté en varios clientes aquí en Fabricio Lima – BD Solutions , una de las mejores consultoras de BI y SQL Server de Brasil, y este es el resultado de muchos estudios, pruebas y discusiones técnicas con varios grandes profesionales del área de plataformas de datos y después de hablar con Fabrício, decidimos lanzarlo en un Autopista para toda la comunidad técnica.

Después de usar sp_Blitz de Brent Ozar, que creo que es increíble, práctico y sencillo, encontramos muchos elementos para comprobar el rendimiento, el mantenimiento, la auditoría y algunas características de seguridad. Pensando en algo tan práctico como esto, esta idea me inspiró para desarrollar stpSecurity_Checklist, tratando de ofrecerle algo tan práctico como un "F5".

Este no es un proyecto de Dirceu o Fabricio, sino tuyo. Por esta razón, estoy publicando el código de este procedimiento almacenado en Github, para que todos puedan descargarlo, usarlo en sus entornos y ayudar a mejorarlo a través de confirmaciones y solicitudes de extracción para traer nuevas funciones y correcciones:
https://github.com/dirceuresende/checklist_seguranca (descárgalo AQUÍ)

Espero que te guste este Procedimiento, un fuerte abrazo para ti y ¡hasta la próxima!