Esta lista de verificação ajuda você a analisar a forma como limita o acesso a dados em sua organização. Use-a para auditar periodicamente como os usuários acessam informações armazenadas no Mecanismo de banco de dados do SQL Server.
Acesso à instância do SQL Server
Estes itens estão relacionados à instância inteira do Mecanismo de Banco de Dados.
|
- Você concedeu acesso por meio de grupos do Windows para a maioria dos logons?
Dica Configurar o acesso ao Mecanismo de Banco de Dados usando grupos do Windows facilita o acesso para administração e manutenção. Para obter mais informações sobre logons, consulte Entidades (Mecanismo de Banco de Dados)
|
|
- Você removeu logons desnecessários ou obsoletos do Mecanismo de Banco de Dados?
Dica Isso pode exigir revisão manual periódica. Habilitar o acesso principalmente por meio de grupos do Windows pode facilitar essa tarefa.
|
|
- Você implementou o princípio de privilégios mínimos?
Dica As entidades de segurança (logons, usuários e funções) devem receber permissões apenas para os objetos de banco de dados que precisam acessar para realizar seu trabalho. Não permita que usuários rotineiros se conectem usando uma conta de administrador, como sa. Não permita que sua página da Web, aplicativo personalizado ou pacote SSIS se conecte com uma conta de administrador.
|
|
- Para exibir metadados do sistema sem conferir permissões adicionais, você concedeu a permissão VIEW DEFINITION seletivamente no nível de objeto, esquema, banco de dados ou servidor?
Dica Para obter mais informações, consulte GRANT (Transact-SQL).
|
|
- Você substituiu servidores remotos por servidores vinculados?
Dica Para obter mais informações, consulte Configurando servidores remotos e Vinculando servidores.
|
|
- Se a autenticação de passagem para um servidor vinculado é necessária, você restringiu a delegação?
Dica Para obter mais informações, consulte sp_addlinkedsrvlogin (Transact-SQL).
|
|
- Você desabilitou as consultas ad hoc por meio de servidores (a menos que seja necessário)?
Dica Para obter mais informações, consulte Opção ad hoc distributed queries.
|
Gerenciamento da identidade do usuário
Estes itens estão relacionados às configurações em cada banco de dados.
|
- A conta de usuário convidado está desabilitada em cada banco de dados, a menos que seja necessária para usuários anônimos?
Dica Desabilite contas usando o SQL Server Management Studio ou Transact-SQL.
|
|
- Os usuários têm acesso somente aos bancos de dados necessários?
Dica Isso pode exigir revisão manual periódica. Habilitar o acesso principalmente por meio de funções do SQL Server pode facilitar essa tarefa. Para obter mais informações, consulte Funções de nível de servidor.
|
|
- A maioria dos usuários teve o acesso concedido por meio de funções do SQL Server?
Dica Configurar o acesso usando funções de servidor e de banco de dados torna mais fácil manter o acesso. Para obter mais informações sobre funções, consulte Funções de nível de banco de dados.
|
|
- O SQL Server Agent usa credenciais para executar etapas de trabalho que requerem privilégios específicos em vez de ajustar os privilégios da conta de serviço do SQL Server Agent?
Dica Para obter mais informações, consulte Credenciais (Mecanismo de Banco de Dados).
|
|
- Quando um usuário do SQL Server Agent precisa executar um trabalho que requeira credenciais do Windows diferentes, você atribui a ele uma conta proxy com permissões suficientes apenas para realizar a tarefa?
Dica Para obter mais informações, consulte Como criar um proxy (SQL Server Management Studio).
|
|
- Você encapsula o acesso a objetos de banco de dados em módulos, como procedimentos armazenados, funções, gatilhos ou assemblies?
Dica: limitar o acesso a módulos predefinidos torna mais difícil para um usuário mal-intencionado executar código arbitrário. Para obter mais informações, consulte Compreendendo os procedimentos armazenados.
|
|
- Em módulos, você definiu explicitamente um contexto de execução em vez de usar o contexto padrão?
Dica Para obter mais informações, consulte Usando EXECUTE AS em módulos.
|
|
- Os módulos são assinados para inibir falsificações?
Dica Para obter mais informações, consulte Assinatura de módulo (Mecanismo de Banco de Dados).
|
|
- Você usa USER WITHOUT LOGIN em vez de funções de aplicativo?
Dica Para obter mais informações, consulte SQL Server 2005 Security Best Practices - Operational and Administrative Tasks (em inglês).
|
|
- Você usa EXECUTE AS em vez de SETUSER?
Dica Para obter mais informações, consulte EXECUTE AS versus SETUSER.
|
|
- Você substituiu funções de aplicativo por EXECUTE AS?
Dica Use EXECUTE AS … WITH NO REVERT quando possível. Use a opção EXECUTE AS … WITH COOKIE ao aninhar alterações de identidade. Para obter mais informações, consulte EXECUTE AS (Transact-SQL).
|
Acesso a objetos
Estes itens estão relacionados ao acesso a objetos de banco de dados.
|
- As funções de servidor e banco de dados públicas têm poucas (se houver) permissões concedidas?
Dica Todos os logons e usuários são membros das funções públicas e não podem ser removidos. Essas funções devem ter permissões muito limitadas.
|
|
- Os objetos de banco de dados semelhantes estão agrupados no mesmo esquema?
Dica Crie esquemas com base em requisitos comerciais. Use esses esquemas personalizados em vez do esquema dbo. Para obter mais informações, consulte Esquemas (Mecanismo de Banco de Dados).
|
|
- Você gerencia segurança de objetos de banco de dados definindo a propriedade e permissões no nível de esquema?
Dica Para obter mais informações, consulte Permissões de esquema GRANT (Transact-SQL).
|
|
- Você tem proprietários distintos para esquemas em vez de todos os esquemas pertencerem ao dbo?
Dica Quando todos os esquemas têm o mesmo proprietário, o encadeamento de propriedades pode ignorar verificações de permissão necessárias. Para obter mais informações, consulte Cadeias de propriedade.
|
|
- Você usa a autenticação de código procedural quando são necessários privilégios adicionais para o procedimento?
Dica Para obter mais informações, consulte Assinatura de módulo (Mecanismo de Banco de Dados).
|
|
- A opção do banco de dados TRUSTWORTHY está definida como OFF?
Dica Quando a opção estiver definida como ON, os módulos de banco de dados (como funções definidas pelo usuário ou procedimentos armazenados) que usam um contexto de representação poderão acessar recursos fora do banco de dados. Use a instrução ALTER DATABASE para alterar a configuração TRUSTWORTHY. Para obter mais informações, consulte Propriedade de banco de dados TRUSTWORTHY.
|
|
- Os módulos executam etapas para prevenir a Injeção de SQL?
Dica: para obter mais informações, consulte Injeção SQL.
|
|
- Se o acesso ad hoc ao banco de dados for permitido (em vez de encapsular o acesso em módulos), os aplicativos tomam medidas para impedir a Injeção de SQL?
Dica Para obter mais informações, consulte os links a seguir.
|
Consulte também
Conceitos
Outros recursos