SQL Server – Checklist de Segurança – Uma SP com mais de 70 itens de segurança para validar seu banco de dados

Visualizações: 3.928
Esse post é a parte 15 de 15 da série Segurança e Auditoria
Tempo de Leitura: 3 minutos

Fala pessoal!
Nesse artigo eu gostaria de compartilhar com vocês um projeto que venho desenvolvendo desde novembro de 2018 e hoje conta com mais de 4.500 linhas de código, que é um Checklist de Segurança bem completo (provavelmente, o mais completo e abrangente que você encontrará na Internet), contando com mais de 70 itens de Segurança para validar seu banco de dados, passando pela parte de configurações e parâmetros, permissões, objetos de programação e muito mais!

Depois de tanto ver as empresas, desenvolvedores (e às vezes, os próprios DBA’s) negligenciarem a parte de segurança, onde vemos ambientes em que a aplicação utiliza o usuário “sa”, encontramos milhares de tentativas de conexão com senha incorreta e ninguém faz nada, ambientes SEM BACKUP e tantos outros absurdos, resolvemos criar uma forma muito prática e fácil de rapidamente ter uma visão geral de como está a segurança da instância, num formato amigável e com informações técnicas ao mesmo tempo, e que permita facilmente exportar para um Excel e demonstrar para o cliente os vários problemas encontrados, o impacto que issso pode causar no ambiente e como resolver.

Conheçam nesse artigo, a solução definitiva para a grande maioria dos problemas de segurança do seu SQL Server.

Os resultados das verificações estão organizados da seguinte forma:

  • Código: Apenas um número único para facilitar a identificação do item de verificação, inclusive quando eu liberar a versão em inglês (spoiler!!)
  • Categoria: Uma forma de agrupar as verificações de acordo com uma categoria lógica que imaginei para essas validações
  • O que é verificado: Título da verificação, que é um resumo do que esse item está validando no banco de dados
  • Avaliação: É o resultado da validação. Ela informa se o item passou na validação (OK), se é apenas um item informativo ou se identificou um POSSÍVEL problema
  • Descrição do Problema: Uma breve explicação sobre o motivo desse item estar sendo verificado e qual o risco de segurança que ele pode nos trazer
  • Detalhamento da Verificação: Detalhes mais técnicos e específicos do que está sendo verificado na instância
  • Sugestão de Correção: Algumas orientações de como corrigir ou contornar o possível problema identificado pela Stored Procedure
  • Resultados da Validação: XML que retorna os registros que causaram a falha da validação e os artefatos identificados (alguns itens são limitados a TOP(N) registros, pois podem tem muitos registros retornados no XML)
  • URL de Referência: Link de algum artigo ou documentação que possa agregar ou ajudar no entendimento desse item de verificação

Se a desculpa para não tratar a parte de segurança na sua empresa era não ter uma forma prática e fácil de identificar as brechas, não sabia como resolver ou não sabia quais eram os problemas de segurança, suas desculpas acabaram HOJE! Nunca mais isso será um dificuldade para você.

Esse é um projeto que utilizo em vários clientes aqui na Fabrício Lima – Soluções em BD, um das melhores consultorias de banco de dados e BI do Brasil, e é o resultado de bastante estudo, testes e discussões técnicas com vários grandes profissionais da área de dados e depois de conversar com o Fabrício, resolvemos liberar isso de forma GRATUITA para toda a comunidade técnica.

Depois de tanto utilizar a sp_Blitz, do mito Brent Ozar, sempre achei incrível o quanto ela era prática e simples para identificar vários ítens de performance, manutenção, auditoria e alguns ítens de segurança. Pensando em algo tão prático quanto, me inspirei nessa ideia para desenvolver a stpChecklist_Seguranca, tentando entregar para vocês algo bem “versão F5”.

Esse não é um projeto do Dirceu ou do Fabrício, e sim de vocês. Por este motivo, estou liberando o código dessa Stored Procedure no Github, para que todos vocês possam baixar, utilizar em seus ambientes e ajudar a deixá-la cada vez melhor através de commit’s e pull requests para trazer novos recursos e correções:
https://github.com/dirceuresende/checklist_seguranca (código-fonte)

Não deixem de acompanhar os meus artigos de segurança! Esse é um tema cada vez em alta no Brasil, especialmente depois da LGPD (Lei Geral de Proteção de Dados), e por este motivo, lancei o curso Segurança no SQL Server – Módulo 1, onde vou passar por cada um desse itens de segurança e explicar nos mínimos detalhes, com exemplos exclusivos e demonstrar como eles podem prejudicar a instância e como podemos tratá-los.

Chega de ficar pesquisando em vários sites e dezenas de artigos e manuais de boas práticas em que as pessoas te falam que “você deve desativar isso”, mas sem explicar o por quê de forma convincente e sem argumentos técnicos de como isso pode prejudicar seu ambiente.

Espero que vocês gostem dessa Procedure, um grande abraço pra vocês e até a próxima!