Formação de DBAs SQL Server 2008 Parte 3: Gerenciamento de Segurança



Documentos relacionados
Conceitos. Considerações Gerais. Autorização. Autorização no SQL Server. Autorização 16/06/2009

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

--========================================== MIRROR COM CERTIFICADO ===============================================

--Depois que o backup for concluído, restaurá-lo no servidor Mirror usando a opção WITH NORECOVERY.

BD II (SI 587) Segurança em Banco de Dados. Josenildo Silva.

NORMA TÉCNICA E PROCEDIMENTOS PARA REALIZAR ALTERAÇÕES NO BANCO DE DADOS CORPORATIVO

BANCO DE DADOS WEB AULA 7. criação de tabelas. professor Luciano Roberto Rocha.

Uniao Educacional e Tecnologica Impacta- Uni Impacta

Parte 1 -Active Directory Criação de seu primeiro domínio Windows 2003

Controlando o acesso 15.1 O QUE É UMA PERMISSÃO? Capítulo 15


GBC043 Sistemas de Banco de Dados

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

PROVA DE NOÇÕES DE INFORMÁTICA

MANUAL DO SISTEMA TRT-5 PRESTADOR MÉDICO

Gerenciamento de dispositivos móveis

Segurança - HTTP. Carlos Gustavo A. da Rocha. Segurança de Redes carlos.rocha@ifrn.edu.br

Sistema Operacional Unidade 9 Manipulação de Usuários e Grupos

SQL Structured Query Language. SQL Structured Query Language. SQL Structured Query Language. Composição do SQL. Composição do SQL.

Manual Banco de dados SQL Server

TUTORIAL PESQUISA DE POLÍTICA DE REMOÇÃO

IMPLEMENTAÇÃO DE BANCO DE DADOS

Utilizar série 8 sempre que for gerar dados para o Converge.NET.

DESVENDADO O TCP/IP. Prof. Me. Hélio Esperidião

Banco de Dados II. Transações (Oracle) Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

TUTORIAL DE ATUALIZAÇÃO PARA

MANUAL DO SISTEMA DE BIBLIOTECA

Manual Escrituração Fiscal Digital

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Autenticação Arbitrada Newman-Stubblebine. Autenticação Arbitrada. Autenticação Arbitrada Woo-Lam. Autenticação Arbitrada Needham-Schroeder

RioCard Saúde Presente

RESPOSTAS AOS QUESTIONAMENTOS ESCLARECIMENTOS EMPRESA B

Como Atualizar o SolidWorks Enterprise PDM. Atualização do Servidor

Cartilha de Acesso Rápido

MANUAL DO SISTEMA. Versão 6.05

Informativo de Versão 19.10

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

O que é Microsoft Excel? Microsoft Excel. Inicialização do Excel. Ambiente de trabalho

VPN do TCE para WINDOWS 1. Instalação. 3. Na janela Choose Setup Type, clique no botão VPN Only e então clique em Next.

Automatizando o mapeamento de unidade da parte DESKTOP_CFG no Cisco Agent Desktop para o IPCC expresso

BANCO DE DADOS: SQL. Edson Anibal de Macedo Reis Batista. 27 de janeiro de 2010

TOTVS Microsiga Protheus Gestor de Configuração

APÊNDICE A. Este documento tem como finalidade especificar os limites e as funcionalidades de BJIn OLAP Tool. Diagrama de Casos de Uso

Presidência da República Casa Civil da Presidência da República. PARTE II-1 DECLARAÇÃO DE REGRAS OPERACIONAIS DA AC-Raiz INTEGRANTE DA ICP-Brasil

TUTORIAL DO SISTEMA CE MERCANTE

BANCO DE DADOS FACSUL 2017 TECNOLOGIA DE REDE DE COMPUTADORES

MANUAL SERVIÇOS E AGENDAMENTO

Banco de Dados II. Administração do SGBD Oracle. Tablespaces, usuários, privilégios, papéis e perfis. Gustavo Dibbern Piva

Administração de Usuários e Privilégios no Banco de Dados

Linux : Administração de Usuários e Grupos

Oracle Database 11g: Workshop de Administração II Release 2

PREGÃO ELETRÔNICO AA 15/2016 DILIGÊNCIA DOCUMENTAÇÃO DE PROPOSTA LOGIKS CONSULTORIA E SERVICOS EM TECNOLOGIA DA INFORMACAO LTDA.

Segurança de Acesso a Banco de Dados no MS SQL Server

Administração de Banco de Dados

Aplicativo da Cultura

Exercícios de Revisão Redes de Computadores Edgard Jamhour. SSL, VPN PPTP e IPsec

Licenciatura em Informática

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

MANUAL DE INSTALAÇÃO SUPERVISOR WEB

1. Importações Cordilheira

Backup e Recuperação Guia do Usuário

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

MASTERSAF REDF SP CONFIGURAÇÃO E CRIPTOGRAFIA

CONFIGURAÇÃO PARA ACESSO AOS S EM DISPOSITIVOS MÓVEIS

Treinamento Completo!

País(es) : Brasil Banco(s) de Dados : Progress/Oracle

Gerenciamento de impressão. Guia do usuário

1. Definir penalidade a ser aplicada por arquivo indevido em pasta corporativa.

Administração de Redes. Permissões gnu/linux

No contexto informático. Requisitos

SQL Structured Query Language. SQL Linguagem de Definição de Dados. SQL Structured Query Language. SQL Structured Query Language

Credenciamento. e manual de instalação Magento. Credenciamento. Configurações

INE 5323 Banco de Dados I

MANUAL PARA EMISSÃO DA AUTORIZAÇÃO DE TRANSPORTE SEM OBJETIVO COMERCIAL TSOC EVENTUAL

Arquitetura de Banco de Dados

MySQL: Controle de Acesso

Backup. O que é um backup?

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

MANUAL DE TREINAMENTO DO AUTOSYSTEM INSTALAÇÃO, CONFIGURAÇÃO, OPERAÇÕES E USO DA NFE

Manual de Procedimentos de Acesso VPN Versão 3.2

Banco de Dados SQL injection

Serviço de Edição e Informação Técnico-Científica/abril 2012 SISTEMA DE INFORMAÇÃO DO CÂNCER (SISCAN)

1 Acesso ao Módulo de Agendamento do Portal de Serviços do Inmetro nos Estados

Procedimento Operacional Padrão nº 07 Consulta Processual de 2º Grau no Portal e-saj

Seja bem vindo ao manual de configuração da VPN Eletrobras Distribuição Alagoas para o Cliente Palo Alto Global Protect (v2.0).

ROTEIRO DE EMISSÃO DE CERTIFICADO DIGITAL A3

SEGURANÇA E ADMINISTRAÇÃO DE BANCOS DE DADOS

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

INSTALAÇÃO DO LOGIX COM BANCO SQL SERVER

MANUAL PARA EMISSÃO DA AUTORIZAÇÃO DE TRANSPORTE SEM OBJETIVO COMERCIAL TSOC CONTINUO

aumento de custos de armazenamento e acesso performance baixa incoerência de informações nas alterações de dados

Passo a Passo para utilização do Sistema de Registro Integrado REGIN Entidade Municipal

BANCO DE DADOS WEB AULA 9. concessão e revogação de privilégios. professor Luciano Roberto Rocha.

MANUAL DE EMISSÃO DO CERTIFICADO TIPO A3 ENVIADO POR ENVIADO POR VERSÃO 10. Atualizado em 30/12/2015 Página 1 de 19

Orientação a Objetos

Transcrição:

Formação de DBAs SQL Server 2008 Parte 3: Gerenciamento de Segurança Material Cedido pelo Professor Leandro Coelho Correia

Arquitetura de Segurança do SQL Server 2008 execute shutdown PRINCIPALS Entidades que solicitam acesso a recursos do SQL Server 2008. connect PERMISSIONS Controles de segurança entre principals e securables. SECURABLES Objetos que podem ser gerenciados (criados, alterados, excluídos, configurados, etc).

Principals O SQL Server 2008 reconhece as seguintes entidades como principals: Login Controla o acesso a uma instância do SQL Server 2008; Utilizado para realizar a autenticação de uma entidade (pessoa, grupo de pessoas, empresa, etc) frente ao SQL Server 2008; Podem ser usadas as credenciais de um usuário do sistema operacional ou do SQL Server a depender do modo de autenticação configurado. User Controla o acesso aos bancos de dados de uma instância; Para obter acesso aos objetos de um banco de dados o usuário deve possuir um login válido na instância desejada e um user no banco de dados em questão. Role: Agrupamento de logins, users ou roles; Usada para facilitar a administração de segurança.

Criando Logins Criação de logins para autenticação via SQL Server 2008: CREATE LOGIN login_name WITH PASSWORD = password [HASHED] [MUSTCHANGE] HASHED: Indica que a senha informada já está criptografada; MUST_CHANGE: Força o usuário a trocar a senha no próximo logon. As opções CHECK_EXPIRATION e CHECK_POLICY precisam estar habilitadas. Criação de logins para autenticação via Windows: CREATE LOGIN [domain\login_name] FROM WINDOWS

Criando Logins Opções de criação dos logins (cláusula WITH): SID = sid Especifica com qual ID o login será criado. Caso esse parâmetro seja omitido, o SQL Server 2008 atribue um ID automaticamente. DEFAULT_DATABASE = database_name Determina o banco de dados padrão ao efetuar logon. DEFAULT_LANGUAGE = language Especifica a linguagem padrão para o login criado. CHECK_EXPIRATION = { ON OFF} Ativa ou desativa a política de expiração de senha para o login criado. CHECK_POLICY = { ON OFF} Ativa ou desativa a política de senha d Windows para o login criado.

Criando Logins Exemplos de criação de logins: CREATE LOGIN leandro WITH PASSWORD = abcxyz30 MUST_CHANGE, CHECK_EXPIRATION = ON, CHECK_POLICY = ON; CREATE LOGIN [LAB\leandro] FROM WINDOWS WITH DEFAULT_DATABASE = bd_treinamento ; Obs.: Logins podem ser alterados através do comando ALTER LOGIN e excluídos através do comando DROP LOGIN.

Criando Users Criação de user para um login existente: CREATE USER user_name { FOR FROM } LOGIN login_name; Criação de user sem login associado: CREATE USER user_name WITHOUT LOGIN;

Criando Users Exemplos: CREATE USER lcorreia FOR LOGIN leandro; CREATE USER lcorreia WITHOUT LOGIN; Obs.: Users podem ser alterados através do comando ALTER USER e excluídos através do comando DROP USER.

Roles No SQL Server 2008, existem permissões associadas aos logins que permitem a realização de operações no escopo de uma instância e permissões associadas aos users que permitem a realização de operações no escopo de um banco de dados; Para associar um conjunto de permissões de uma instância a um conjunto de logins, são utilizadas fixed server roles; Para associar um conjunto de permissões de um banco de dados a um conjunto de users, são utilizadas database roles.

Roles Fixed Server Roles Controlam permissões sobre operações que interferem no funcionamento de uma instância do SGBD (create database, shutdown, control server, etc); Podem ser associadas a logins; Novas server roles não podem ser criadas e as pré-definidas não podem ser alteradas. Database Roles Controlam permissões sobre operações que manipulam objetos de um banco de dados (insert, update, delete, select, connect, control, etc); Podem ser associadas a users; Em cada banco de dados, existe um conjunto pré-definido de roles chamadas fixed database roles que facilitam o gerenciamento de permissões. Fixed database roles não podem ser alteradas; É possível criar novas database roles.

Fixed Server Roles Dbcreator Roles Bulkadmin Diskadmin Processadmin Securityadmin Permite a execução de operações de importação de dados (bulk insert). Permite a criação de novos bancos de dados. Permite o gerenciamento de arquivos dos bancos de dados. Permite o encerramento de processos (kill) que estejam executando no escopo do SGBD. Permite criar e configurar logins. Permissões Associadas

Fixed Server Roles Setupadmin Sysadmin Roles Serveradmin Permissões Associadas Permite modificar configurações da instância e realizar shutdown. Permite a criação e exclusão de linked servers. Permite a execução de qualquer operação.

Fixed Database Roles Roles db_accessadmin Permissões Associadas Permite a criação e exclusão de users e schemas. db_backupoperator backupoperator db_datareader datareader db_datawriter datawriter db_ddladmin ddladmin Permite a execução de backups os banco de dados. Permite consultar (SELECT) todas as tabelas e visões de um banco de dados. Permite alterar (DELETE, UPDATE, INSERT) todas as tabelas e visões de um banco de dados. Permite a execução de comandos DDL no banco de dados.

Fixed Database Roles db_owner Roles db_denydatareader denydatareader db_denydatawriter denydatawriter db_securityadmin Permissões Associadas Bloqueia consultas (SELECT) em todas as tabelas e visões de um banco de dados. Bloqueia alterações (DELETE, UPDATE, INSERT) em todas as tabelas e visões de um banco de dados. Permite a execução de qualquer comando de manutenção e configuração no banco de dados. Permite gerenciar permissões e participação de users em roles.

Criando Database Roles Sintaxe: CREATE ROLE role_name [AUTHORIZATION owner_name] Exemplo: CREATE ROLE alunos_treinamento_sql; Obs.: Roles podem ser alteradas através do comando ALTER ROLE e excluídas através do comando DROP ROLE.

Manutenção de Usuários em Roles Adicionando usuários a uma role: Database Role: sp_addrolemember database_role_name, user_name Server Role: sp_addsrvrolemember login, server_role_name Removendo usuários de uma role: Database Role: sp_droprolemember database_role_name, user_name Server Role: sp_dropsrvrolemember login, server_role_name

Application Roles Permitem que aplicações acessem o banco de dados sem a necessidade criação de users; Garante o acesso das aplicações ao banco de dados evitando o acesso direto dos usuários.

Criando Application Roles Sintaxe: CREATE APPLICATION ROLE application_role_name WITH PASSWORD = 'password' [, DEFAULT_SCHEMA = schema_name ] Exemplo: CREATE APPLICATION ROLE excel_frequencia_treinamento WITH PASSWORD = abcxyz' Obs.: Application Roles podem ser alteradas através do comando ALTER APPLICATION ROLE e excluídas através do comando DROP APPLICATION ROLE.

Securables Securables são objetos que têm seu acesso controlado pelo SQL Server 2008; Estão divididos em 3 categorias: Server securables: endpoints, logins, databases; Database securables: users, roles, application roles, assemblies, message types, schemas, etc; Schema securables: types, XML schema collections, object.

Securables Schemas Coleções de objetos que formam um único espaço de nomes (namespace); No SQL Server 2000 os conceitos de schema e user eram acoplados, o que dificultava a manutenção de users; No SQL Server 2008, os conceitos de schema e user são desassociados. Isso permite que roles sejam proprietárias de schemas, simplificando a manutenção de users.

Criando Schemas Sintaxe: CREATE SCHEMA schema_name [AUTHORIZATION owner_name]; Exemplo: CREATE SCHEMA fabricasw; Obs.: Schemas podem ser alterados através do comando ALTER SCHEMA e excluídos através do comando DROP SCHEMA.

Permissions Controlam o acesso aos objetos do banco de dados e determinam que usuários podem executar determinadas operações; Estabelecem as relações entre principals e securables; Estão classificadas em duas categorias: Server permissions: Controlam o acesso dos DBAs a tarefas administrativas; São estabelecidas através de fixed server roles ou através de comandos DCL. Database permissions: Controlam o acesso a objetos e a execução de comandos em um banco de dados; Podem ser estabelecidas através de database roles ou diretamente através de comandos DCL (Database Control Language).

Concedendo Permissões Sintaxe: GRANT ALL permission [,...n ] ON securable TO principal [,...n ] [ WITH GRANT OPTION ] Exemplos: GRANT ALL ON Employee TO Joe, Mary WITH GRANT OPTION; GRANT INSERT, DELETE ON Employee TO Paul; GRANT CREATE PROCEDURE, CREATE VIEW TO Mike; GRANT SHUTDOWN TO Jack;

Negando Permissões Sintaxe: DENY ALL permission [,...n ] ON securable TO principal [,...n ] [ CASCADE ] Exemplos: DENY SELECT ON Employee TO Mary CASCADE; DENY ALL ON Employee TO Paul; DENY CREATE VIEW TO Mike; DENY SHUTDOWN TO Joe;

Removendo Permissões Sintaxe: REVOKE GRANT OPTION FOR principal REVOKE ALL permission [,...n ] ON securable TO FROM principal [,...n ] [ CASCADE ] Exemplos: REVOKE GRANT OPTION FROM Mary; REVOKE ALL ON Employee FROM Joe CASCADE; REVOKE CREATE PROCEDURE FROM Mike; REVOKE SHUTDOWN FROM Jack;

Composição de Permissões O GRANT é propagado de escopo maior para o menor. Isso significa que se um user pertence a uma role e esta role possui uma determinada permissão, o user herda essa permissão; O DENY prevalece em quaquer escopo. Isso significa que se um user possuir um DENY para uma determinada permissão, mesmo que ele pertença a uma role que possui GRANT para a mesma permissão, o DENY prevalece; O REVOKE é utilizado para remoção de GRANT ou DENY.

Composição de Permissões Permissão da Role grant select em uma tabela nenhuma nenhuma Permissão do Usuário nenhuma grant select em uma tabela nenhuma Situação do Usuário Com permissão de leitura na tabela. Com permissão de leitura na tabela. Sem permissão de leitura na tabela. deny select em uma tabela nenhuma Sem permissão de leitura na tabela. nenhuma deny select em uma tabela Sem permissão de leitura na tabela. grant select em uma tabela deny select em uma tabela deny select em uma tabela grant select em uma tabela Sem permissão de leitura na tabela. Sem permissão de leitura na tabela.

Criptografia no SQL Server 2008 Arquitetura de Criptografia do SQL Server 2008 Fonte: Microsoft SQL Server 2008 Books Online

Criptografia no SQL Server 2008 Service Master Key: Criada automaticamente pelo SQL Server 2008 quando a primeira solicitação de criptografia é gerada; Derivada das credenciais da conta que executa o serviço do SQL Server 2008 e cifrada usando a DPAPI (Windows Data Protection API); Para restaurar um backup de um banco de dados cifrado é necessário conhecer a service master key da instância onde o backup foi realizado.

Criptografia no SQL Server 2008 Database Master Key: Utilizada para cifrar chaves assimétricas e certificados no banco de dados onde foi criada; Cada banco de dados que utiliza criptografia precisa ter uma database master key criada; A database master key é criada manualmente através do comando abaixo: CREATE MASTER KEY ENCRYPTION BY PASSWORD = abcxyz

Criptografia no SQL Server 2008 Symmetric Keys (Chaves Simétricas): Utilizam a mesma chave para cifrar e decifrar os dados; Implementam um mecanismo de criptografia com menor custo de processamento, mas não é tão eficaz quanto as chaves assimétricas e os certificados.

Criptografia no SQL Server 2008 Asymmetric Keys (Chaves Assimétricas): Utilizam um modelo de chave pública e privada; Os dados podem ser criptografados com a chave privada e todo mundo que possuir a chave pública poderá decriptografar a informação. (autenticidade do emissor); Os dados podem ser criptografados com a chave pública e somente aquele que possuir a chave privada poderá decriptografar a informação(sigilo da informação). Implementam um mecanismo de criptografia eficiente, mas com alto custo de processamento; Podem ser usadas para cifrar dados ou chaves simétricas.

Criptografia no SQL Server 2008 Certificates (Certificados): Documento digital assinado com a chave pública de uma entidade (pessoa, empresa, etc); Emitido por uma autoridade certificadora que garante a autenticidade da entidade que possui o certificado; O SQL Server 2008 reconhece certificados no padrão X.509 e permite a criação de certificados próprios ou a importação de certificados previamente criados.

Formação de DBAs SQL Server 2008 Parte 3: Gerenciamento de Segurança Xpert / Publica Material Cedido pelo Professor Leandro Coelho Correia V1.0