Buscar

Mecanismos_de_Segurança_v3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Mecanismos de Segurança em Banco de Dados
Prof. Bruno Matheus
Objetivos
Introdução
Controle de acesso
Segurança de BD e o DBA (database administrator)
Usuários de Banco de Dados
Introdução
A segurança de dados está relacionada com a integridade dos dados. Porém, são dois conceitos bem diferentes.
Segurança significa proteger os dados contra usuários não autorizados.
Integridade significa proteger os dados contra usuários autorizados (!!).
De fato, existem algumas semelhanças, em ambos casos, o sistema precisa estar ciente de certas restrições que os usuários não devem violar.
Introdução
Nos dois casos:
as restrições devem ser especificadas, de modo declarativo, em uma linguagem adequada, e devem ser registradas no dicionário de dados ou catálogo do sistema.
o sistema deve monitorar as operações dos usuários para assegurar que as restrições em questão serão impostas.
Introdução
Existem vários tipos de ameaças ao banco de dados, tais como:
Perda de integridade
Integridade do BD exigência de que os dados sejam protegidos contra a modificação imprópria.
Havendo perda de integridade dos dados: o uso prolongado do sistema pode resultar em imprecisão, fraude ou em decisões equivocadas.
Perda de disponibilidade
A disponibilidade de BD refere-se a tornar os objetos disponíveis para um usuário humano ou para um programa que tenham direito legítimo a eles.
Introdução
Existem vários tipos de ameaças ao banco de dados, tais como:
Perda de confidencialidade
A confidencialidade de BD refere-se à proteção dos dados contra a divulgação não autorizada.
A divulgação não autorizada pode resultar em: perda da confiança, constrangimentos, ação legal contra a organização ou até a colocação em risco da segurança nacional.
Como proteger o BD contra estes tipos de ameaças?
Controle de acesso
Em um SGBD multiusuário, devem existir técnicas que habilitam certos usuários a acessar partes selecionadas de um BD sem obter acesso ao restante do banco.
Controle de consistência
Criar restrições de integridade , como, chave primária, chave estrangeira, check, unique, default, etc
Outros
Controle de fluxo: previne que os dados fluam de tal forma que cheguem a usuários não autorizados.
Criptografia: utilizada para proteger dados confidenciais que estão transmitidos por meio de alguma rede de comunicação. Os dados são codificados utilizando algum algoritmo de codificação.
Trilhas de auditoria: é um arquivo ou banco de dados especial em que o sistema automaticamente acompanha todas as operações realizadas por usuários sobre os dados normais. Em alguns sistemas, a trilha de auditoria pode estar fisicamente integrada aos arquivos log.
Segurança em SQL
A segurança em SQL é baseada nos seguintes conceitos:
Logins / User Accounts (contas de usuário)
Schemas
Roles (Papéis)
Permissions (Permissões)
Segurança em SQL
Permissões para Acessar os Objetos do Banco de Dados
Você precisa ter permissão de acesso a(os) Banco(s) de Dados e, além do mais, você precisa ter permissão de acesso aos objetos do Banco de Dados.
O usuário precisa passar por dois níveis de segurança:
Permissão para fazer a conexão com o SGBD\INSTÂNCIA.
Permissão para acessar um ou mais objetos do Bancos de Dados.
Usuário de banco de dados
O usuário de BD pode ser criado usando o comando:
CREATE USER <usuário> 
	[WITH PASSWORD = '<senha>’]
Para remover um usuário de BD:
 DROP USER <usuario>
Usuário de banco de dados
Sintaxe para mudar o password de um usuário:
ALTER USER <usuario> WITH PASSWORD = ‘<senha>’
Exemplos:
ALTER USER Andre WITH PASSWORD = ‘123456’
ALTER USER bandre WITH PASSWORD = ‘RA123’
Segurança em SQL
Schema
 Um schema é um conjunto de objetos, sendo que todos os objetos pertencentes a um schema têm como dono o mesmo principal.
 Um schema funciona como uma pasta de tabelas
No SQL Server todos os objetos de um Banco de Dados têm como dono um schema.
Servidor.Banco_de_Dados.Schema.Objeto
Exemplo:
Cunha.Vendas.Dados.Cliente
Segurança no SQL Server
Resumindo:
Um schema é um container para objetos.
Todo objeto pertence a um schema.
Todos os objetos de um schema têm o mesmo dono, que é o dono do schema.
As permissões podem ser atribuídas para o schema e também para os objetos dentro do schema.
Controle de acessos
Duas abordagens: controle discriminatório e controle obrigatório (ou mandatário).
Controle de acesso discriminatório
São utilizados para conceder direitos de acesso (privilégios) a usuários específicos sobre objetos específicos.
Determinado usuário terá em geral privilégios diferentes sobre objetos diferentes.
Controle de acessos
Controle de acesso obrigatório ou mandatário
São utilizados para impor a segurança em vários níveis por meio da classificação dos dados e dos usuários em vários níveis de segurança.
Os usuários de um determinado nível de classificação podem acessar apenas os dados permitidos para esse nível. 
	Exemplo: segurança baseada em papéis (grupos, roles).
Grupos de Usuários
Os grupos de servidor são uma forma lógica de agrupar usuários para o gerenciamento de privilégios. 
Os privilégios podem ser concedidos ou revogados para um grupos de servidor como um todo.
Sintaxe para criar um grupo :
CREATE ROLE <nome-grupo>;
Grupos de Usuário
Sintaxe para adicionar ou remover LOGINs de um grupo:
ALTER ROLE <nome-grupo> ADD MEMBER <nome-usuário>,......;
ALTER ROLE <nome-grupo> DROP MEMBER <nome-usuário>,....;
Sintaxe para remover um grupo:
DROP ROLE <nome-grupo>;
			OBS: esta sentença remove somente os grupos, e não os 		 usuários membros desse grupo.
Privilégios
O proprietário ou dono de um objeto é aquele que executou o comando de criação do mesmo. 
Existem vários privilégios que o dono do objeto pode conceder a outros usuários, tais como: 
SELECT, INSERT, UPDATE, DELETE, REFERENCES, CREATE, etc. 
 OBS: para ver uma lista completa dos privilégios possíveis consulte o manual do SQL Server, disponível na unidade web.
Privilégios
Os privilégios aplicados a um determinado tipo de objeto variam de acordo com o tipo de objeto (tabela, constraint, etc.)
Para conceder privilégios é utilizado o comando GRANT e para revogar privilégios o comando REVOKE.
Sintaxe para conceder um privilégio a um usuário:
 GRANT <privilégio> ON <objeto> TO <usuário> ;
Exemplo:
GRANT UPDATE ON Cliente TO Aluno1;
Privilégios
Sintaxe para conceder um privilégio a um grupo:
 GRANT <privilégio> ON <objeto> TO ROLE <grupo>; 
Sintaxe para conceder um privilégio a um usuário:
 GRANT <privilégio> ON <objeto> TO <usuário> <WITH GRANT OPTION>; 
	OBS: “with grant option” permite o privilégio de conceder privilégios sobre este objeto a outros usuários
Exemplo: 
 GRANT SELECT ON Cliente TO ROLE Marketing;
Privilégios
O nome especial de usuário “PUBLIC” é utilizado para conceder privilégios para todos os usuários do sistema.
A palavra reservada “ALL” é usada no nome do privilégio (<privilégio>) para conceder todos os tipos de privilégios relevantes para o tipo do objeto em questão.
GRANT ALL TO PUBLIC;
O direito de remover um objeto ou alterar a sua definição não pode ser concedido a outro usuário: é inerente ao dono do objeto e não pode ser concedido ou revogado.
Privilégio
Sintaxe para revogar um privilégio a um usuário:
 REVOKE <privilégio> ON <objeto> FROM <usuário>; 
Sintaxe para revogar um privilégio a um grupo:
 REVOKE <privilégio> ON <objeto> FROM ROLE <grupo>; 
Exemplos: 
 REVOKE UPDATE ON Cliente FROM ALUNO1;
	REVOKE SELECT ON Cliente FROM ROLE Marketing;
	REVOKE ALL PRIVILEGES ON Cliente FROM ALUNO1;
	REVOKE ALL ON Cliente FROM PUBLIC; 
	 revoga todos os privilégios sobre a tabela Cliente de todos os usuários
Segurança do banco de dados e DBA
O DBA possui uma conta de DBA no SGBD, às vezes chamada de conta do sistema ou superusuário, que habilita capacidades que não estão disponíveis para as contas de usuários comuns de BD.Os comandos de privilégio do DBA incluem comandos para conceder e revogar privilégios para contas individuais de usuários ou grupos de usuários.
Dúvidas?
Exercícios
menti.com

Continue navegando