Melhorando a vulnerabilidade do seu ambiente

Recentemente estive envolvido em um projeto da equipe de segurança para melhorar a vulnerabilidade do ambiente SQL Server e a questão de segurança vai muito além de permissões de acesso a instancia e ao banco de dados.

Vou listar algumas dicas que podem melhorar a vulnerabilidade de seu ambiente.

  • Instalar o ultimo Service Pack e Hotfixes disponível: Verificar se o SQL Server possui as últimas atualizações de segurança e caso não possua, providencie a atualização. Alguns sites indicam qual a versão mais nova do SQL Server ( http://www.sqlteam.com/article/sql-server-versions e http://www.sqlsecurity.com/faqs-1/sql-server-versions)
  • Restringir o acesso aos arquivos do SQL Server: restringir o acesso às pastas do SQL Server que contém datafiles e arquivos de sistema. Nestas pastas deverão conter permissão apenas o grupo de DBAs, o grupo de administradores do sistema operacional, o usuário que inicializa os serviços do SQL e o usuário SYSTEM.
  • Restringir o acesso as chaves de registros do SQL Server: restringir o acesso ao registro do SQL Server. Nas chaves que fazem referência ao SQL Server deverá conter permissão apenas o grupo de DBAs, o grupo de administradores do sistema operacional, o usuário que inicializa os serviços do SQL e o usuário SYSTEM.
  • Habilitar a Auditoria de Login: habilitar a auditoria de sucesso e falha de conexões.
  • Aumentar a quantidade de ErrorLogs: aumentar a quantidade de ErrorLogs do SQL Server para um numero considerável para seu ambiente e facilitará uma análise de troubleshooting. Uma quantidade que tenho utilizado é de 30 arquivos.
  • Configurar um senha forte para conta SA: Criar uma senha forte para o usuário SA. Um bom exemplo é criar uma senha com mais de 14 caracteres alfa numéricos e caracteres especiais.
  • Usar um nome diferente para conta ‘sa’: alterar o nome do usuário “sa” para outro nome. O usuário “sa” é conhecido mundialmente é um dos primeiros pontos de ataque na sua instancia.
  • Criar um grupo administrador para o SQL Server: criar um grupo de usuários para ter acesso de administrador no SQL Server. Este grupo deve estar obrigatoriamente criado no AD e com os DBAs associados a ele.
  • Usar uma porta TCP diferente para o SQL Server: Mudar a porta padrão (1433) do SQL Server.
  • Desabilitar xp_cmdshell Extended Stored Procedure: Desabilitar a Store Procedure “xp_cmdshell”. Por padrão já vem desabilitada nas novas versões do SQL Server, mas é sempre bom validar essa opção.
  •  Habilitar a opção ‘Enforce password policy’: Habilitar a opção “Enforce password policy” faz com que SQL Server possa usar o mecanismo de senha do Windows.
  • Habilitar a opção ‘Enforce password expiration’: Habilitar a opção “Enforce password expiration” faz com que o SQL Server gerencie o tempo de vida de uma senha.
  • Habilitar criptografia de rede com SSL: Alterar a opção “ForceEncryption” para “Yes” irá criptografar os dados que são transmitidos através de uma rede entre uma instância do SQL Server e um aplicativo cliente.
  • Remover usuários desnecessários da role ‘System Administrator’ role: Deve-se verificar se os usuários realmente necessitam deste acesso. Em caso de algum usuário não necessitar do privilégio, deverá ser removido o privilégio. Lembre-se de conceder os privilégios necessários para que o usuário consiga trabalhar normalmente.
  • Remover o grupo BUILT-IN/Administrators: Excluir o login BUILT-IN/Administrators do SQL Server. É muito importante que ao remover este item, seja incluído um novo grupo de DBAs no SQL Server. Dessa maneira administradores do sistema operacional não terão privilégios no SQL Server.
  • Remover ‘Server Permissions’ dos usuários desnecessários: Remover privilégios de servidor de usuários que não necessitam dos mesmos. Por algum motivo os usuários podem ter permissões elevadas e é uma boa hora para efetuar uma limpeza.  
  • Remover usuários desnecessários do grupo MSSQLServer: Remover usuários que não deveriam estar neste grupo.
  • Remover usuários desnecessários do grupo SQLAgent: Remover usuários que não deveriam estar neste grupo.

Se tem você tem mais alguma dica de segurança, por favor compartilhe!!

Maníaco, entusiasta, fascinado, fanático por SQL Server e nas horas vagas um DBA que adora o que faz! Também possui certificações como: MCT, MCSE - Data Management and Analystics, MCSA - SQL Server 2014/2012

Responda