Este é um post disponível para assinantes MVPSegurança de dados no SQL Server 2008 - Revista SQL Magazine 96
O artigo descreve conceitos fundamentais sobre o tema segurança de dados. Através de contextualizações e exemplos bem simples, são salientadas melhores práticas com relação às permissões de acesso, roles de servidor e banco de dados e muito mais
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da SQL Magazine 96
A crescente necessidade de informações que as empresas precisam gerenciar para atender demandas operacionais, táticas e estratégicas, tendo em vista a exponencial dependência da utilização de sistemas informatizados para o provimento dos dados, faz com que haja, cada vez mais, restrição e organização no acesso aos bancos de dados da organização.
No SQL Server 2008 existem diversas maneiras de se preservar o acesso aos dados. Desde a utilização de políticas do próprio Windows Server com relação aos usuários com autenticação integrada, sendo estas regidas pelo Active Directory, quanto ao uso de certificados digitais, criados pelo SQL Server.
Neste contexto, neste artigo serão apresentadas algumas boas práticas de segurança no acesso a dados, utilizando permissões de servidor e de banco de dados, e ainda a utilização de criptografia de dados, um excelente recurso para proteger informações sigilosas dentro dos bancos de dados da empresa.
Conceitos iniciais sobre segurança e estrutura de acesso
Para iniciarmos, é indispensável o entendimento sobre o funcionamento dos modos de acesso para conexão ao SQL Server 2008, suas características e particularidades. Os modos de acesso servem para definir de que maneira será realizada a autenticação em um banco de dados.
O SQL Server 2008 trabalha com duas alternativas de conexão, que podemos chamar de modos ou métodos de acesso. Windows Authentication é o modo padrão, podendo ser alterado para Mixed Mode, permitindo assim conexões do tipo SQL Server Authentication. A alteração destes modos pode ser feita durante ou após a instalação do SQL Server.
Selecionando Mixed Mode, automaticamente a conta SA é habilitada para utilização, sendo esta a mais irrestrita das contas no SQL Server, devendo ser manipulada apenas por administradores de banco de dados. Por motivos de segurança, recomenda-se que ela seja desabilitada após a instalação do SQL Server. Ao utilizar esse método de autenticação, acessos com usuários específicos de banco de dados podem ser realizados sem necessitar de uma conta integrada ao Windows.
Outro conceito importante relacionado à segurança de dados se refere à estrutura de acesso ao SQL Server. Essa estrutura é composta por dois elementos: Server Logins, que são usuários criados na instância do servidor; e Database Users, que são usuários criados em uma base de dados, com permissões específicas, baseados em um login de servidor existente. A Figura 1 ilustra os elementos que compõem a estrutura de acesso ao banco de dados SQL Server.
Com relação às permissões de acesso, no caso dos Server Logins, a role public é concedida automaticamente logo na criação de um novo login. Esta ação permite que o usuário consiga apenas conectar na instância do servidor. No caso dos Database Users não é diferente, pois, ao concedermos acesso em um banco de dados específico, a role public também será mapeada de forma automática.
Para que uma permissão de objeto de banco de dados, como no caso de uma tabela ou stored procedure, seja concedida a um usuário, este deve ao menos possuir a role public na base em questão, caso contrário, não será realizada a concessão de acesso.
No próximo tópico, serão apresentados os tipos de autenticação existentes e suas funcionalidades.
Tipos de autenticação
Para realizar uma conexão ao banco de dados, são permitidos dois tipos de autenticação: Windows Authentication e SQL Server Authentication.
O método de autenticação pelo Windows, ou Windows Authentication, é o modo mais confiável do SQL Server. Ele também é chamado de autenticação integrada, por ser vinculado a uma conta local de um computador ou a uma conta de um domínio, usando o Active Directory (AD). Sua composição é baseada em políticas de segurança do sistema operacional Windows, através do protocolo Kerberos. Ademais, é o padrão no SQL Server e sua utilização é recomendada pelas boas práticas de segurança de acesso ao banco de dados.
A criação de um usuário com autenticação pelo Windows pode ser realizada de duas maneiras:
1. Através do modo gráfico da ferramenta SQL Server Management Studio, realizando as seguintes ações:
a) Expandir a pasta Security;
b) Clicar com o botão direito em Logins e selecionar New Login;
c) Manter selecionado o modo Windows Authentication, e no campo Login Name, informar o nome do usuário;
d) Por fim, clicar em Ok.
2. E também por linha de comando, via Transact-SQL, conforme o exemplo a seguir:
USE [master]
GO
CREATE LOGIN [FERNANDO-NOTE\Fernando] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
O outro método de autenticação é o SQL Server Authentication. As contas criadas a partir deste não são baseadas em nenhuma conta do Windows. Os usuários e senhas definidos são salvos no próprio SQL Server. Por isso, toda vez que for realizada uma conexão ao banco de dados, o usuário deverá informar sua senha para validação de acesso.
Ao criar ou alterar uma senha neste modo de autenticação, pode ser usada a política de complexidade de senha. Por padrão, o SQL Server mantém selecionado os três tipos suportados. São eles: inclusão da política de complexidade; alteração da senha no primeiro login e expiração de senha.
A política de complexidade de senha atende aos requisitos da Diretiva de Segurança Local ("
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP
Space do autor


1
0
