Atenção: esse artigo tem um vídeo complementar. Clique e assista!

Do que se trata o artigo:

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, bem como criptografia para a proteção de dados sigilosos dentro da organização.

Em que situação o tema útil:

A aplicação de conceitos de segurança é recomendada para empresas de todos os segmentos, mas, em especial, instituições financeiras. Da mesma forma, em situações em que é necessário proteger os dados de usuários não autorizados ou mal intencionados, é importante a adoção de uma estratégica de segurança.

Resumo DevMan:

Neste artigo são explorados conceitos sobre tipos de autenticação existentes no SQL Server, e detalhados itens fundamentais para a organização de permissões dentro de um servidor de banco de dados, tais como roles de servidor e de banco de dados.

Após definições sobre os métodos de concessão e revogação de privilégios em objetos, utilizando GRANT e REVOKE, são detalhados conceitos sobre criptografia de dados, através de exemplos práticos bem estruturados.

Por fim, uma conclusão descrevendo a importância da adoção de uma estratégia de segurança de dados é apresentada.

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.

Figura 1. Visão geral da estrutura de acesso ao 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:

...
Quer ler esse conteúdo completo? Tenha acesso completo