ric; mso-pagination: none">
Clique aqui para ler todos os artigos desta edição
Segurança no SQL Server 2005
Conheça as novidades
Carlos Eduardo Selonke de Souza
Integridade e segurança são duas dentre as muitas razões para o armazenamento de informações em um banco de dados. Entende-se por integridade não somente a garantia de que um dado está fisicamente armazenado no banco de dados, mas de que o dado foi inserido, alterado, apagado ou acessado somente por aqueles que possuem permissões adequadas. Entende-se por segurança o controle de usuários, objetos e os relacionamentos de permissões existentes entre eles. É função de um sistema gerenciador de banco de dados fornecer um modelo de segurança capaz de garantir a integridade lógica e segurança dos dados armazenados. É de responsabilidade do administrador de banco de dados conhecer este modelo e suas formas de implementação.
Neste artigo o leitor será apresentado a algumas das novidades
no modelo de segurança do SQL Server 2005. O SQL Server 2005 é aderente ao conceito de “trustworth computing” da Microsoft que segue as seguintes linhas de pensamento:
• Seguro na arquitetura: a Microsoft esforçou-se para diminuir a área de ataque do SQL Server 2005 através da análise dos vetores de ataques mais comuns;
• Seguro por padrão: uma instalação padrão do SQL Server 2005 não implementa todas as funcionalidades e alguns serviços não são instalados. Alguns exemplos são: a stored procedure XP_CMDSHELL que vem desabilitada por padrão
e, a base de teste AdventureWorks (que substitui as bases Pubs e Northwind) que também não é instalada por padrão.
• Seguro na instalação: o SQL Server 2005 agregou ferramentas para a configuração de segurança, monitoramento e auditoria do banco. Dentre as novas ferramentas estão o Surface Area Configuration - que permite configurar funcionalidades e serviços ativos no SQL Server 2005 – triggers de auditoria e políticas de senha para usuários SQL.
Este artigo explora algumas das novas funcionalidades de segurança do SQL Server 2005 com relação à Surface Area
Configuration, triggers de auditoria, políticas de senha para os usuários SQL, controle de permissões granulares, separação entre usuários e schema e contexto de execução. O foco será dado no banco de dados relacional SQL Server 2005, pois os serviços Analysis Services, Integration Services, Reporting Services e Replication Services merecem um artigo a parte.
Conceitos de segurança
O SQL Server 2005 implementa um novo modelo de segurança baseado na hierarquia de objetos e fundamentado em três conceitos:
• Principals: é qualquer entidade autenticada que pode possuir permissões para acessar um objeto no sistema de banco de dados. Principals podem existir em três níveis: Windows, SQL Server e banco de dados. A Tabela 1 apresenta os principals do SQL Server 2005.
Tabela 1. Principals
• Securables: objetos que recebem permissões são chamados de Securables. Securables são organizados de forma hierárquica em grupos (Scopes). Os três escopos dos objetos securables são: Server, database e schema (ver Tabela 2).
Tabela 2. Securables e escopos
• Permissions: permissões são as regras que controlam o nível de acesso que os principals possuem nos securables
Permissões podem ser dadas, revogadas ou proibidas. O SQL Server 2005 mantém os comandos GRANT, REVOKE e DENY para o controle de permissões dos principals nos securables. Alem destes comandos, outros novos comandos