Segunda-feira, 08 de outubro de 2001 às 01h59

Segurança no SQL Server

Faltam -1 dias! Inscreva-se agora! O maior encontro de profissionais web da américa latina.
Pessoal, esta semana eu vou falar um pouco sobre o aspecto mais administrativo do SQL Server: Segurança!

Sim, este é um assunto de desperta muito interesse para a comunidade da informática pois determinadas informações são extremamente valiosas e devem ser protegidas a todo custo.

No SQL Server, como eu qualquer outro banco de dados Cliente/Servidor, existem diversas maneira de se tratar sobre segurança e vou comentar com vocês, nesta semana, sobre alguns itens importantes.

Quando um hacker invade um servidor, ele sempre vai procurar um lado mais fraco e este lado pode ser o banco de dados...

1. Senha do sa (system administrator)

Após uma instalação bem sucedida do SQL Server (desde a versão 6.5) a senha do sa (system administrator, ou seja, o usuário mais poderoso do banco) é perguntada. Pode-se colocar uma senha ou deixá-la em branco. Aqui temos um ponto muito importante: JAMAIS deixe a senha do sa em branco, principalmente se for em um servidor de produção. Nove entre dez instalações do SQL Server que eu encontro tem a senha do sa em branco. Além disso, tenham muito cuidado para quem vocês passam a senha do sa.

Quando possível, não coloque a senha do sa ‘engessada’ em sua aplicação. Já encontrei situações onde o DBA (Database Administrator) não podia mudar a senha do sa (que estava em branco) porque diversas aplicações continham em seu código fonte o login do sa ‘chumbado’ proibindo a mudança da senha, pois estas aplicações não mas iriam funcionar.

2. Modo de autenticação

Ainda na instalação do SQL Server, pode-se escolher dois modos de autenticação, que é a maneira de um usuário se logar no banco de dados:

* Windows Authentication Mode: O usuário só pode se conectar através de um login/senha já previamente cadastrado no Windows NT/2000. Geralmente esta é a senha que o usuário utiliza no login da sua máquina em um PDC (Primary Domain Controler) da rede.

* Mixed Mode: O usuário pode se conectar no banco através de um login/senha já previamente cadastrado no Windows NT/2000 ou de um login/senha fornecido no momento da conexão com o banco (SQL Server Authentication).

A Microsoft recomenda fortemente a utilização do Windows Authentication Mode pois é o próprio sistema operacional que fez todas as verificações de login, tornando o acesso um pouco mais seguro.

3. Login/Senha/Permissão

Uma vez conectado ao banco, é recomendado que este usuário possua somente o acesso a informação pertinente a função que ele vai executar. Por isso, crie logins/senhas para cada usuário ou grupo de usuários (chamados de roles) e atribua as permissões corretas. Isto é tão importante que se um usuário possuir uma permissão errada, pode deste ‘bisbilhotar’ informações restritas a ele até destruir completamente o servidor em que o SQL Server está instalado.

Procure também planejar o acesso aos objetos do banco de dados de modo que haja um certo nível de encapsulamento dos objetos base. Uma maneira de fazer isto é através de views.

4. Service Packs/Fixes

Sempre procure ficar atualizado quanto aos releases que a Microsoft lança sobre o SQL Server, sejam eles hot fixes ou service pack. A propósito pessoal, o service pack 2 do SQL Server 2000 já está para ser lançado. Junto com estes releases, a Microsoft sempre lança documentação e instruções para atualização que devem ser lidas com atenção.

5. Infraestrutura

Neste caso devemos tomar cuidado com o acesso físico e remoto ao servidor de banco de dados. Cuidados como não deixar o servidor logado, liberação do uso de CDROM/drive de disquete, acesso limitado à rede do servidor, evitar de utilizar o mesmo servidor de banco de dados para servidor de logon ou servidor de impressão ou servidor de arquivos.

Neste aspecto é importante frisarmos a política de segurança da empresa, que deve contar com: mudança de senhas periódicas, backup permanente, procedimentos de tolerância, planos de contigência, não só para o servidor de Banco de Dados mas para todas as estações que possuirem acesso ao servidor.

No servidor de banco de dados, evite acesso a qualquer meio externo, incluido aí internet, intranet e extranet. Verifique quais serviços estão rodando no servidor pois podem existir alguns serviços que não são necessários para um servidor dedicado de banco de dados, criando mais uma ‘porta’ para hackers.

Um abraço para todos e até a semana que vem.

2 comentários

 Lawrence Carvalho
02/12/2004 11h00

Como eu gostaria que alguns desenvolvedores lessem este artigo!

Realmente esse artigo diz muita coisa importante sobre o SQL Server, no entanto uma crítica ao SQL Server e a Microsoft é o fato deles indicarem a segurança do Windows como padrão. Eles fazem isso, pois a questão de logins do SQL Server (7 e 2k) não é desenvolvida descentemente e recomendam a do windows. Isso é legal, mas 10 entre 10 desenvolvedores que eu conheço trabalham com o modo misto (isso por que não existe o modo somente SQL Server que tinha no 6.5), então não adianta ficar recomendando o modo windows. Espero que a MS desenvolva um esquema de segurança (no que tange a logins) no SQL Server 2005.

 robsongn
27/12/2005 15h07

Ajuda ao SQL SERVER 2000

Como faço para logar após instalar o SQL SERVER 2000 em minha máquina

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Mauro Pichiliani é mestre em computação, possui as certificações MCP, MCDBA, MCT e MCTS e atua como consultor de banco de dados com enfoque na área de tunning.

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.