A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Segurança em Banco de Dados 1 Prof: Thiago Moraes Martins Bacharel em Sistemas de Informa ç ão P ó s-Gradua ç ão Software Livre Aplicado P ó s-Gradua ç.

Apresentações semelhantes


Apresentação em tema: "Segurança em Banco de Dados 1 Prof: Thiago Moraes Martins Bacharel em Sistemas de Informa ç ão P ó s-Gradua ç ão Software Livre Aplicado P ó s-Gradua ç."— Transcrição da apresentação:

1 Segurança em Banco de Dados 1 Prof: Thiago Moraes Martins Bacharel em Sistemas de Informa ç ão P ó s-Gradua ç ão Software Livre Aplicado P ó s-Gradua ç ão Analista de Sistemas P ó s-Gradua ç ão Metodologia do Ensino Superior Mestrado Engenharia de Software (Andamento) Certificado ITIL Certificado COBIT Certificado CWSP

2 Segurança em Banco de Dados 2 DBA

3 Segurança em Banco de Dados 3 O Administrador de Banco de Dados (DBA) é o profissional responsável pela instalação, administração e suporte dos SGBDs, sempre assegurando segurança, disponibilidade e eficiência à base de dados. Para que todas essas tarefas sejam corretamente cumpridas, se faz necessário um ótimo conhecimento da arquitetura da base de dados, experiência e uma formação sólida. Conhecendo o papel e tarefas de um DBA

4 Segurança em Banco de Dados 4 O DBA precisa manter um banco de dados corporativo “no ar” por todo o tempo que o sistema necessita, sem erros, com rapidez e confiabilidade. Ele precisa conhecer o banco e suas peculiaridades, pois ele é o responsável pela criação, manutenção e segurança do banco de dados da empresa. Isto inclui instalar o SGBD e o ajuste da infra-estrutura para permitir que as aplicações alcancem as bases de dados. O papel do DBA

5 Segurança em Banco de Dados 5 As tarefas de um administrador de banco de dados variam dependendo do tipo de trabalho, da empresa, das políticas de Tecnologia da Informação (TI) e das características técnicas e potencialidades dos SGBDs que estão sendo administrados. A seguir estão relacionadas algumas tarefas que o DBA deve desempenhar: Tarefas do DBA

6 Segurança em Banco de Dados 6 · Projeto e criação do banco de dados; · Ajuste e monitoramento de desempenho; · Backup e Recuperação; · Segurança do banco de dados; · Integridade de dados; · Suporte · Migração e atualização do SGBD;

7 Segurança em Banco de Dados 7 Mesmo não sendo diretamente um dos deveres do DBA, a infra-estrutura e as modelagens lógica e física do banco de dados, às vezes, acabam fazendo parte do trabalho. Estas funções são tradicionalmente de responsabilidade do administrador de sistema (AS) e administrador de dados (AD) ou projetista (ver Figura 1).

8 Segurança em Banco de Dados 8 Figura 1. Responsabilidades do DBA, AS e AD.

9 Segurança em Banco de Dados 9 Projeto e criação do banco de dados Uma tarefa do DBA é projetar o banco de dados com o intuito de obter o máximo de performance, escalabilidade, flexibilidade e confiabilidade. Na fase inicial do projeto é definida a estrutura do banco de dados, levando em consideração o levantamento de requisitos. O esquema desenvolvido nessa etapa é chamado projeto conceitual e proporciona uma visão detalhada da organização. Na fase de projeto lógico, o esquema conceitual de alto nível é mapeado para o modelo de implementação de dados do SGBD que será usado.

10 Segurança em Banco de Dados 10 No projeto físico é necessário, além das técnicas supracitadas, um conhecimento mais aprofundado sobre o SGBD que será utilizado para criar o banco. O DBA deve estabelecer regras para o ciclo de vida dos dados armazenados, a fim de evitar o crescimento exagerado do banco, que compromete seu desempenho, além de ocupar desnecessariamente espaço em disco.

11 Segurança em Banco de Dados 11 Ajuste e monitoramento de desempenho O DBA deve certificar-se que o banco de dados é rápido e que a performance do servidor não afetará negativamente sua disponibilidade e usabilidade. O ajuste do banco de dados é um trabalho que exige bom senso e experiência. Existem algumas regras gerais, mas muitas são aprendidas com o uso, na base da tentativa e erro. O ajuste de um de banco de dados pode ser dividido em quatro partes (ver Figura 2):

12 Segurança em Banco de Dados 12 Projeto: O projeto lógico de um banco de dados mal elaborado resulta, obviamente, em um projeto físico mal elaborado, o que geralmente degrada o desempenho. Não espere sua aplicação entrar em produção para ajustar o modelo. Nenhum dinheiro gasto com máquinas pode reparar um desempenho ruim causado por um projeto lógico mal elaborado.

13 Segurança em Banco de Dados 13 Sistema Operacional: O sistema operacional deve ser ajustado de acordo com a documentação do fabricante. Para plataformas Windows, os ajustes default são geralmente suficientes. Já plataformas Solaris e Linux necessitam de uma atenção especial.

14 Segurança em Banco de Dados 14 Banco de Dados: O ajuste do banco de dados abrange a memória alocada, o uso do disco, CPU, E/S e os processos do banco de dados. Envolve também a gerência e a manipulação da estrutura, tal como o design e o layout das tabelas e dos índices. Além disso, tuning de banco de dados envolve quase sempre a modificação da arquitetura a fim de otimizar o uso dos recursos de hardware disponíveis.

15 Segurança em Banco de Dados 15 Aplicação: O ajuste da aplicação está diretamente relacionado aos códigos SQL armazenados nos sistemas. O objetivo desses ajustes é fazer com que os comandos SQLs acessem de maneira eficiente o banco de dados.

16 Segurança em Banco de Dados 16 Figura 2. Gráfico de Impacto que cada área resulta na performance do banco de dados.

17 Segurança em Banco de Dados 17 Backup e recuperação Para muitos profissionais de TI, a tarefa mais importante do DBA é manter a disponibilidade do banco: Do que adianta ter uma base de dados grande e funcional se a metade do tempo ela estiver inacessível? Uma boa arquitetura de backup e recuperação deve incluir um plano de prevenção de desastres, procedimentos e ferramentas que auxiliem na recuperação, além de procedimentos e padrões para realizá-la.

18 Segurança em Banco de Dados 18 Há dois tipos de backup: Os backups físicos e os backups lógicos. Backup físico é a operação em que os arquivos físicos do banco de dados são copiados para uma mídia qualquer, geralmente nas chamadas fitas de backup que possuam uma grande capacidade de armazenamento e que “fisicamente” poderão ser repostos a qualquer tempo. Já o backup Lógico é feito através de um utilitário do próprio banco de dados, responsável por ler as tabelas/tablespaces indicadas e gravá-las em outro lugar.

19 Segurança em Banco de Dados 19 É importante notar que o backup deve estar armazenado distante dos servidores para não ser atingido em caso de uma calamidade (incêndio, desabamento, entre outras). O recovery deve estar acessível e próximo de onde desejamos efetuá-lo. Armazenamento de dados Muitas formas de maximizar a segurança foram criadas com base em novas tecnologias, hardwares e métodos de apoio aos processos de backup e recuperação, tais como:

20 Segurança em Banco de Dados 20 Clustering: Também conhecido como Cluster, pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento pesado, como visto na Figura 3. Os computadores dividem as tarefas de processamento e trabalham como se fossem um único computador. Ele é desenhado de tal forma que uma falha em um dos componentes seja transparente aos usuários.

21 Segurança em Banco de Dados 21 Figura 3. Armazenamento de Dados utilizando a técnica de Cluster

22 Segurança em Banco de Dados 22 Mirrored (espelhamento): Os discos são espelhados, ou seja, é feita uma cópia exata de cada um em servidores diferentes. Em caso de falhas ou perda de um disco, o outro assume inteiramente o papel até a substituição do disco com problemas. Tem como vantagem não gastar tempo para a cópia, pois ocorre em tempo real, mas necessita de backup em caso de falha nos dados do servidor principal. É necessário pelo menos dois servidores, como mostra a Figura 4.

23 Segurança em Banco de Dados 23 Figura 4. Armazenamento de Dados utilizando a técnica de Espelhamento onde temos uma cópia exata dos discos em Servidores diferentes.

24 Segurança em Banco de Dados 24 Device Parity Protection: A proteção de paridade tem a tecnologia similar ao do RAID-5 (redundant array of independent disks). Ela permite a manutenção concorrente quando houver falha em um dos discos, pois divide toda a informação que chega e distribuí de um modo idêntico para todos os discos, como pode ser visto na Figura 5. Vale a pena lembrar que essa tecnologia não substitui a estratégia de backup e recovery.

25 Segurança em Banco de Dados 25 A proteção de paridade pode impedir que seu sistema pare quando determinados tipos de falhas ocorrem. Pode diminuir o tempo de recuperação para determinados tipos de falhas, porém não protege de muitos tipos, tais como um desastre local ou um erro do operador ou do programador.

26 Segurança em Banco de Dados 26 Figura 5. Técnica Device Parity Protection, permite manutenção concorrente em caso de falha.

27 Segurança em Banco de Dados 27 Dual System: Dois sistemas, onde um deles (primário) atualiza constantemente o outro (secundário), permitindo assim a existência de uma base de dados duplicada e atualizada. Quando o sistema primário falha, o sistema secundário assume o seu papel. Técnica semelhante ao espelhamento;

28 Segurança em Banco de Dados 28 Contingência: Modelo de processos que visa implementar medidas para garantir a disponibilidade dos principais serviços e a continuidade dos negócios vitais da companhia em situações de desastre ou contingência. Em caso de necessidade, todo o sistema pode ser transferido para uma instalação contratada junto a um provedor de serviços de contingência (data center). Essa mudança envolve o chaveamento dos links de comunicação entre o site de contingência e todas as filiais do cliente (ver Figura 6);

29 Segurança em Banco de Dados 29 Figura 6. Técnica de Contingência.

30 Segurança em Banco de Dados 30 Tipos de Backups Cópia simples: o backup é chamado de simples quando não envolve compressão de dados; Normal: consiste em armazenar tudo que foi solicitado, podendo ainda ser feita a compressão dos dados ou não. Este método também é chamado de backup completo quando são gravadas todas as informações existentes no banco. A desvantagem desse método é que se gasta muito tempo e espaço em mídia;

31 Segurança em Banco de Dados 31 Diário: a cópia é feita checando-se a data. Armazenam-se todos os arquivos que foram criados ou alterados na mesma data em que se faz o backup. Gasta-se menos tempo e espaço em mídia, mas são armazenados apenas os arquivos criados ou alterados no dia; Diferencial: só é realizado após um backup normal. Gravam-se as diferenças entre os dados gravados no último backup normal e a data de gravação do backup diferencial. Apresenta como vantagem menos tempo e espaço em mídia, mas necessita do backup normal inicial;

32 Segurança em Banco de Dados 32 Incremental: necessita do backup normal, e visa o incremento da informação após a criação do backup normal. Ao contrário do diferencial, se for feito um backup incremental após outro incremental, o segundo backup não irá conter os dados do primeiro.

33 Segurança em Banco de Dados 33 Caso seja preciso restaurar o backup, será necessário restaurar o backup normal e todos os incrementais na ordem em que foram gravados, isto é, uma vez feito o backup normal, o incremental só irá gravar os dados alterados ou criados após o backup anterior, seja ele normal ou incremental. Tem-se como vantagem menor gasto de tempo e espaço em mídia, mas necessita do backup normal inicial e de todos os backups incrementais feitos após o normal.

34 Segurança em Banco de Dados 34 Segurança do banco de dados Neste item, o trabalho do DBA deve ser aterrado nos fundamentos da segurança de TI. A segurança deve ser projetada no banco de dados e nas aplicações. Isto envolve criar usuários no banco e determinar o nível apropriado de segurança para cada um. Integridade de dados Para assegurar a integridade dos dados, o DBA executa regras de integridade usando características do SGBD. Há três tipos principais de integridade: física, semântica e interna.

35 Segurança em Banco de Dados 35 Integridade Física A integridade física pode ser assegurada usando características do SGBD, como, domínios e tipos de dados. O DBA pode também utilizar constraints para delimitar o tipo de dado que pode ser armazenado em determinadas colunas.

36 Segurança em Banco de Dados 36 Integridade Semântica Um exemplo de integridade semântica é a qualidade dos dados na base de dados. O resultado desse armazenamento incorreto é o dado armazenado de forma incoerente e redundante. As procedures ajudam a manter a integridade dos dados.

37 Segurança em Banco de Dados 37 Integridade Interna Neste caso, o SGBD utiliza-se de estruturas e código internos para manter os links, ponteiros e identificadores. Na maioria dos casos, o SGBD manterá estas estruturas sem precisar do auxílio do DBA, porém este necessita estar ciente de sua existência e como lidar quando o SGBD falha. A integridade interna do SGBD é essencial nas seguintes áreas:

38 Segurança em Banco de Dados 38 Consistência do índice. Um índice não passa de uma lista ordenada com ponteiros direcionados aos dados das tabelas no banco de dados. Se por alguma razão o índice perder o sincronismo com os dados, o acesso indexado pode não retornar os dados apropriados. O DBA possui ferramentas para verificar e remediar estes tipos de erros.

39 Segurança em Banco de Dados 39 Consistência do ponteiro. Às vezes, objetos grandes de multimídia não são armazenados nos mesmos arquivos físicos que outros dados. Conseqüentemente, o SGBD requer estruturas de ponteiro que mantenham o sincronismo desses dados. Consistência do backup. Alguns produtos do SGBD ocasionalmente fazem backup errado ou inapropriado. É essencial identificar estes cenários e tomar ações corretivas.

40 Segurança em Banco de Dados 40 Suporte Os DBAs precisam trabalhar próximo aos membros da equipe técnica para assegurar um alto desempenho de todo o banco de dados. Além disso, em conjunto com as tarefas de Administração de Sistema Operacional, o DBA dará suporte e resolverá problemas associados com o SGBD, como alocação de recurso e o número de instâncias que serão criadas.

41 Segurança em Banco de Dados 41 Migração e atualização do SGBD O DBA também é responsável por controlar a migração das releases do SGBD. Após compreender as características oferecidas e a estabilidade da release, deve-ser decidir o melhor momento para a instalação.

42 Segurança em Banco de Dados 42 FIM


Carregar ppt "Segurança em Banco de Dados 1 Prof: Thiago Moraes Martins Bacharel em Sistemas de Informa ç ão P ó s-Gradua ç ão Software Livre Aplicado P ó s-Gradua ç."

Apresentações semelhantes


Anúncios Google