sistemas de informação redes de computadores análise e desenvolvimento de sistemas

36

Upload: madeson-scott

Post on 04-Jan-2016

21 views

Category:

Documents


1 download

DESCRIPTION

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: [email protected] Fone: 9531-7555 [email protected] Versão 1.11.02 – Fev/2011. SEGURANÇA NO - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas
Page 2: Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas

Sistemas de InformaçãoSistemas de InformaçãoRedes de ComputadoresRedes de Computadores

Análise e Desenvolvimento de SistemasAnálise e Desenvolvimento de Sistemas

Administração de Banco de DadosAdministração de Banco de Dados1º Semestre – 20111º Semestre – 2011

Pedro Antonio Galvão JuniorPedro Antonio Galvão JuniorE-mail: [email protected] Fone: 9531-7555E-mail: [email protected] Fone: 9531-7555

[email protected]@aes.edu.br

Versão 1.11.02 – Fev/2011.Versão 1.11.02 – Fev/2011.

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

SEGURANÇA NO SEGURANÇA NO MICROSOFT SQL SERVER 2008MICROSOFT SQL SERVER 2008

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

OFERECENDO SEGURANÇAOFERECENDO 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

Page 5: Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas
Page 6: Sistemas de Informação Redes de Computadores Análise e Desenvolvimento de Sistemas

SEGURO POR DEFAULTSEGURO POR DEFAULT

• 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 Windows Server 2003

SQL Server 2005SQL Server 2005

Windows Server 2003 Windows Server 2003

SQL Server 2000SQL Server 2000

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

MODELOS DE SEGURANÇA NOMODELOS DE SEGURANÇA NOMICROSOFT SQL SERVER 2008MICROSOFT SQL SERVER 2008

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

MECANISMOS DE SEGURANÇAMECANISMOS DE SEGURANÇA

• Autenticação

– Usuário e senha

– Certificados

• Autorização

– Permissões

• Criptografia

– Chaves Simétricas

– Chaves Assimétricas

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

COMPONENTES DE SEGURANÇACOMPONENTES DE SEGURANÇA

Principals• Windows

– Groups– Domain account– Local account

• SQL Server– SQL account– Server role

• Database– User– Database role– Application role– Group

SecurablesSecurables

Server ScopeServer Scope– LoginsLogins– EndpointsEndpoints– DatabasesDatabases

Database ScopeDatabase Scope– UsersUsers– AssembliesAssemblies– SchemasSchemas

Schema ScopeSchema Scope– TablesTables– ProceduresProcedures– ViewsViews

PermissionsPermissions

Grant/Revoke/DenyGrant/Revoke/Deny– Create– Alter– Drop– Control– Connect– Select– Execute– Update– Delete– Insert

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

Processo de Acesso SeguroProcesso de Acesso Seguro

Estabelecer loginEstabelecer login

Conexão ao servidor SQL ServerConexão ao servidor SQL Server

Verificar as permissões para todas as açõesVerificar as permissões para todas as ações

Pedido de conexão pela rede / pre-login handshakePedido de conexão pela rede / pre-login handshake

Autenticação do Login no SQL ServerAutenticação do Login no SQL Server

Acesso ao databaseAcesso ao database

Tentar realizar alguma açãoTentar realizar alguma ação

Estabelecer acesso ao database Estabelecer acesso ao database

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

POLÍTICA DE SENHASPOLÍ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

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

CRIANDO LOGINSCRIANDO LOGINS

Configuração Configuração da Politica de da Politica de

SenhasSenhas

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

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 Configuração da Politica de da Politica de

SenhasSenhas

CRIANDO LOGINSCRIANDO LOGINS

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

OPÇÕES DE LOGINOPÇÕES DE LOGIN

Opção Descrição

HASHED Especifica que a senha já está criptografada

MUST_CHANGE

Avisa o usuário que precisa mudar a senha. Precisa

de CHECK_EXPIRATION e CHECK_POLICY habilitado

CHECK_EXPIRATIONExpiração de senhas. Se estiver ON, as políticas são

Aplicadas e requer que CHECK_POLICY esteja ON

CHECK_POLICY Faz a checagem das políticas de senha

Usa a API NetValidatePasswordPolicy() do Windows Server 2003

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

GERENCIANDO LOGINSGERENCIANDO LOGINS

Removendo um Login

DROP LOGIN <Login_name>

Alterando um Login

ALTER LOGIN <login_name> WITH

PASSWORD = '3948wJ698FFF7'

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

CREDENCIAISCREDENCIAIS

• Alternativa aos logins.

• Permitem conexão a recursos fora do SQL Server.

CREATE CREDENCIAL <nome> WITH IDENTITY = ‘identity name’, SECRET = ‘secret’

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

SCHEMAS DE SEGURANÇASCHEMAS DE SEGURANÇA

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

DEFAULT SCHEMADEFAULT SCHEMA

CREATE USER user_name[ FOR {LOGIN login_name

| CERTIFICATE cert_name| ASYMMETRIC KEY asym_key_name}

][ WITH DEFAULT_SCHEMA = schema_name ]

• Um schema default pode ser atribuido quando o usuário do banco de dados é

criado.

Especifica o schema Especifica o schema defaultdefault

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

GERENCIANDO SCHEMASGERENCIANDO 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

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

OBJECT NAMESPACEOBJECT NAMESPACE

Sales

CustomerAdventureWorksLON-SQL-01

Servidor.BancoDados.Schema.ObjetoServidor.BancoDados.Schema.Objeto

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

ATRIBUINDO DATABASE OBJECTSATRIBUINDO DATABASE OBJECTSSales

Customer

dbo

JobCandidate

[ WITH DEFAULT_SCHEMA = Sales ]

SELECT * FROM dbo.JobCandidate

SELECT * FROM JobCandidate

SELECT * FROM Customer

• sys.database_principals catalog view

• sys.schemas catalog view

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

APPLICATION COMPATIBILITYAPPLICATION COMPATIBILITYPropriedade de Celia

Customer

AppApp

Alterando o proprietário para Katia

SELECT CustomerID FROM Sales.Customer

AppAppSELECT CustomerID FROM Sales.Customer

Sales

Customer

Sales

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

USUÁRIOSUSUÁRIOS

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

USUÁRIOSUSUÁ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 ]

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

GERENCIANDO USUÁRIOSGERENCIANDO 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>

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

Componentes de Segurança Componentes de Segurança e Permissõese Permissões

Permissão Descrição

CONTROLAtribui permissões de proprietário e garante todas as

permissões ao principal no objeto

ALTER

Atribui permissões de alterar, criar ou excluir a qualquer

securable, menos trocar o proprietário

ALTER ANYAtribui permissão de alteração de qualquer securable

do tipo especificado.

IMPERSONATEPermissão de trocar o contexto de execução para o

contexto de execução de outro usuário

TAKE OWNERSHIPAtribui permissão ao usuário para assumir a

propriedade do securable

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

MÓDULOS DE EXECUÇÃO MÓDULOS DE EXECUÇÃO PELO CONTEXTOPELO CONTEXTO

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

INTRODUÇÃOINTRODUÇÃ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

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

GRANT SELECT ON sales.customer TO Jane

GRANT SELECT ON sales.customer TO Jane

PROCESSO DE EXECUÇÃO PELO PROCESSO DE EXECUÇÃO PELO CONTEXTOCONTEXTO

Stored Procedure(Owner: Jane)

Stored Procedure(Owner: Jane)

BillBillsales.customer(Owner:John)

sales.customer(Owner:John)

CREATE PROCEDURE GetCustsWITH EXECUTE AS OWNERASSELECT *FROM sales.customer

CREATE PROCEDURE GetCustsWITH EXECUTE AS OWNERASSELECT *FROM sales.customer

• sys.sql_modules catalog view

JaneJane

DENY SELECT ON sales.customer TO Bill

DENY SELECT ON sales.customer TO Bill

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

PERMISSÃO GRANULAR 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.

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

ESCOPOS DE PERMISSÕESESCOPOS 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.

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

ESCOPOESCOPO SERVERSERVER

GRANT CONTROL ON LOGIN::Tom TO Fred

GRANT CONTROL ON LOGIN::Tom TO Fred

• 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

Control permission on individual login

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

Accounts

HR

SalesESCOPO BANCO DE DADOSESCOPO BANCO DE DADOS

GRANT EXECUTE TO Jim

GRANT EXECUTE TO Jim

Accounts.AddAcct Accounts.AddAcct

HR.ViewEmpsHR.ViewEmps

Sales.AddOrderSales.AddOrder

• sys.database_permissions catalog view

Permissões herdadas no banco de dados

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

ESCOPO SCHEMAESCOPO SCHEMA

GRANT SELECT ON SCHEMA::Sales TO Mary

GRANT SELECT ON SCHEMA::Sales TO Mary

Sales

Permissões herdadas no schema

sales.accountssales.accounts

sales.figuressales.figures

sales.customerssales.customers

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

OBJETOS INDIVIDUAISOBJETOS INDIVIDUAIS

GRANT SELECT ON sales.accounts TO JoeGRANT SELECT ON

sales.accounts TO Joe

sales.accountssales.accounts

sales.figuressales.figures

sales.customerssales.customers

Permissões somente para objetos específicos

Sales.accounts

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