1 / 36

Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas

Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas. Administração de Banco de Dados 1º Semestre – 2011 Pedro Antonio Galvão Junior E-mail: pedrogalvaojunior@gmail.com Fone: 9531-7555 pedro.galvao@aes.edu.br Versão 1.11.02 – Fev/2011. SEGURANÇA NO

Download Presentation

Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas Administração de Banco de Dados 1º Semestre – 2011 Pedro Antonio Galvão Junior E-mail: pedrogalvaojunior@gmail.com Fone: 9531-7555 pedro.galvao@aes.edu.br Versão 1.11.02 – Fev/2011.

  2. SEGURANÇA NO MICROSOFT SQL SERVER 2008

  3. Oferecendo Segurança • Políticas de senhas no login de SQL Server • Hierarquia dos escopos • Separação de usuários do schema • Limite de visualização dos metadados • Execução pelo contexto

  4. Seguro por default Windows Server 2003 SQL Server 2005 • Serviços e features desligadas por padrão • Permite somente conexão local • Usa o SAC para habilitar/desabilitar as features • Upgrade preserva as configurações • Serviços e Features novas desabilitadas • Usa o SAC para habilitar/desabilitar as features Windows Server 2003 SQL Server 2000

  5. MODELOS DE SEGURANÇA NO MICROSOFT SQL SERVER 2008

  6. Mecanismos de Segurança • Autenticação • Usuário e senha • Certificados • Autorização • Permissões • Criptografia • Chaves Simétricas • Chaves Assimétricas

  7. ComponentesdESegurança Principals • Windows • Groups • Domain account • Local account • SQL Server • SQL account • Server role • Database • User • Database role • Application role • Group • Securables • Server Scope • Logins • Endpoints • Databases • Database Scope • Users • Assemblies • Schemas • Schema Scope • Tables • Procedures • Views • Permissions • Grant/Revoke/Deny • Create • Alter • Drop • Control • Connect • Select • Execute • Update • Delete • Insert QUEM PODE ACESSAR O QUE

  8. Conexão ao servidor SQL Server Estabelecer login Estabelecer acesso ao database Verificar as permissões para todas as ações Processo de AcessoSeguro Pedido de conexão pela rede / pre-login handshake Autenticação do Login no SQL Server Acesso ao database Tentar realizar alguma ação

  9. Política de Senhas • Requer Windows Server 2003. • Autenticação Windows: • Login de usuários Windows • Respeita a política de senhas do Windows • Autenticação SQL Server: • Logins SQL Server • Respeita a política de senhas da máquina local. • Política de Domínio se estiver em um ambiente de Domínio • sys.sql_logins catalog view

  10. Criando Logins Configuração da Politica de Senhas

  11. Criando Logins CREATE LOGIN login_name { WITH < option_list1 > | FROM < sources > } < sources >::= WINDOWS [ WITH windows_options [,...] ] | CERTIFICATE certname | ASYMMETRIC KEY asym_key_name < option_list1 >::= PASSWORD = ' password ' [ HASHED ] [ MUST_CHANGE ] [ , option_list2 [ ,... ] ] < option_list2 >::= SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} | CHECK_POLICY = { ON | OFF} [ CREDENTIAL = credential_name ] < windows_options >::= DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language Configuração da Politica de Senhas

  12. OPÇÕES DE LOGIN Usa a API NetValidatePasswordPolicy() do Windows Server 2003

  13. Gerenciando Logins Removendo um Login DROP LOGIN <Login_name> Alterando um Login ALTER LOGIN <login_name> WITH PASSWORD = '3948wJ698FFF7'

  14. Credenciais • Alternativa aos logins. • Permitem conexão a recursos fora do SQL Server. CREATE CREDENCIAL <nome> WITH IDENTITY = ‘identity name’, SECRET = ‘secret’

  15. SCHEMAS DE SEGURANÇA

  16. Default Schema • Um schema default pode ser atribuido quando o usuário do banco de dados é criado. CREATE USER user_name [ FOR {LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name } ] [ WITH DEFAULT_SCHEMA = schema_name ] Especifica o schema default

  17. Gerenciando Schemas • CREATE SCHEMA • Cria um schema • Atribui um ownership para o schema • Cria objetos de database como membros do schema • ALTER SCHEMA • Altera o ownership do schema • Move objetos de database entre schemas • DROP SCHEMA • Remove um schema

  18. Servidor.BancoDados.Schema.Objeto Object Namespace Sales Customer AdventureWorks LON-SQL-01

  19. Sales Customer Atribuindo Database Objects • sys.database_principals catalog view • sys.schemas catalog view SELECT * FROM Customer SELECT * FROM JobCandidate dbo SELECT * FROM dbo.JobCandidate [ WITH DEFAULT_SCHEMA = Sales ] JobCandidate

  20. Application Compatibility Propriedade de Celia Sales SELECT CustomerID FROM Sales.Customer App Customer Alterando o proprietário para Katia Sales SELECT CustomerID FROM Sales.Customer App Customer

  21. USUÁRIOS

  22. Usuários • Acesso ao Banco de dados; • Pode ser mapeado para um login individual ou para um grupo Windows; e • Pode ser criado pelo SSMS ou por T-SQL. CREATE USER user_name [{{ FOR | FROM } { LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name } | WITHOUT LOGIN ]     [ WITH DEFAULT_SCHEMA =schema_name ]

  23. Gerenciando Usuários Apagando um usuário: DROP USER <user_name> Alternado configurações de um usuário: ALTER USER <user_name> WITH DEFAULT_SCHEMA = <nome_schema>

  24. Componentes de Segurançae Permissões

  25. Módulos de ExecuçãopeloContexto

  26. Introdução • Configura a execução pelo contexto de módulos; • Caller não requer permissões: • Effective with broken ownership chain • EXECUTE AS: • Caller (Default) • Username (requer permissão Impersonate) • Self • Owner

  27. Processo de ExecuçãopeloContexto • sys.sql_modules catalog view DENY SELECT ON sales.customer TO Bill GRANT SELECT ON sales.customer TO Jane CREATE PROCEDURE GetCusts WITH EXECUTE AS OWNER AS SELECT * FROM sales.customer Bill Jane sales.customer (Owner:John) Stored Procedure (Owner: Jane)

  28. Permissão Granular • Securables organizados em uma hierarquia: • Herança de permissões. • Todos os objetos tem permissões associadas. • Principal de menor previlégio.

  29. Escopos de Permissões • Servidor: • O banco de dados Master deverá ter permissões Grant; e • Permissões específias para cada securable. • Database: • Pode atribuir permissões específicas para roles customizadas; • Permitir principals de executar tarefas no banco; e • Permissões Grant deverão ser atribuidas ao banco que contém o securable que quer aplicar a permissão. • Schema: • Usado para agrupar objetos de database; e • Atribuir permissões para o schema afeta os membros do Schema.

  30. EscopoServer • Permissão GRANT em securables individuais quando as permissões da server role default são inapropriadas. • sys.server_permissions catalog view. Control permission on individual login GRANT CONTROL ON LOGIN::Tom TO Fred

  31. Accounts HR Sales EscopoBanco de dados Sales.AddOrder • sys.database_permissions catalog view Accounts.AddAcct GRANT EXECUTE TO Jim Permissões herdadas no banco de dados HR.ViewEmps

  32. Sales Escopo Schema sales.customers sales.accounts GRANT SELECT ON SCHEMA::Sales TO Mary sales.figures Permissões herdadas no schema

  33. ObjetosIndividuais sales.customers sales.accounts GRANT SELECT ON sales.accounts TO Joe Sales.accounts sales.figures Permissões somente para objetos específicos

More Related