® InfoJur.ccj.ufsc.br

1. Segurança de Dados - Visão Geral
Fábio Queda Bueno da Silva

Segurança de computadores tem com objetivo maior a proteção de seus computadores e tudo a eles associado: prédio , impressoras, cabeamento, discos e tapes. De forma geral, há três aspectos distintos da segurança de computadores: sigilo - mais conhecido como confidencialidade, exatidão - ou integridade e disponibilidade. Em alguns sistemas ou ambientes, um destes aspectos de segurança pode ser mais importante que outros. De acordo com uma avaliação de qual ou quais tipos de segurança a organização requer, o administrador deverá definir as técnicas de segurança e os produtos necessários para alcançar estes requisitos.

O primeiro aspecto sugere um sistema de controle de acesso ao sistema, visando impedir a entrada de indivíduos não autorizados. Os aspectos de exatidão e disponibilidade estão mais fortemente ligados à segurança de informações quanto a desastres, falhas ou mesmo descuido. Uma boa política para lidar com tais problemas, garantindo recuperação dos dados perdidos é o backup.

O presente artigo procura fazer uma breve investigação da política de backup, incluindo uma análise dos pontos de vulnerabilidade e das ameaças mais comuns nos sistemas. Segue-se um estudo das técnicas, requisitos e ferramentas de sistemas de backup e recuperação, finalizando com uma visão da ferramenta Amanda.

1.1. Ameaças

Para uma boa avaliação dos requisitos do sistema é interessante pensar sobre as possíveis ameaças á segurança do sistema. Elas podem ser divididas em três categorias:

Como uma das formas de ameaça ora intencional ora por ignorância (pela de software não licenciado) temos os vírus. A palavra vírus é um anacronismo para descrever de forma geral, ataques a sistema “via software”. Na realidade, existem várias formas de ataque. 1.2. Vulnerabilidades

Todo sistema é vulnerável a ataques e todos os administradores deveriam estar cientes e alertas para isto. Vejamos os principais pontos de vulnerabilidade:


2. Backup - Definições e estratégias

Segundo Harrison et. Al., backup é definido como a habilidade de copiar a imagem completa de um arquivo, diretório de arquivos ou meio de armazenamento completo para um meio ou localização alternativos que podem ser diferentes ou não da original. As atividades de backup e recuperação estão fortemente ligadas e serão tratadas separadamente neste trabalho.

2.1. Requisitos Básicos

Os sistemas de backup devem possuir alguns requisitos básicos para caracterizarem-se bons sistemas. Veremos agora alguns destes requisitos mais detalhadamente:

2.2. Planejamento

O desenvolvimento de uma boa estratégia de backup é uma atividade contínua. Desde que o sistema sofre mudanças que podem ser frequentes ou não, a estratégia de backup terá que se amoldar à nova realidade do sistema. Um bom planejamento inclui considerações sobre a possibilidade de um desastre e considerações sobre acontecimentos corriqueiros no dia-a-dia do sistema. Estas considerações precisam ser pensadas em separado para depois serem levadas em conta em conjunto.

Backups podem ser vistos como seguros. A diferença é que backup é feito não só pensando em riscos que espera-se que não venham a ocorrer, como desastres, mas também pensando em problemas do dia-a-dia que possivelmente aconteçam freqüentemente. Esta última observação é um diferencial importante e que deve ser bem frisado.

O administrador que planeja sua estratégia de backup deve pesar o tempo dispendido para fazer backup com relação ao tempo gasto para ou com o decréscimo de produtividade. Neste contexto, há algumas questões que devem ser respondidas:

Algumas questões mais relacionadas com a recuperação: É importante considerar quais partes do sistema de arquivos são mais usadas e precisam mais urgentemente de backup. Por outro lado, há partes, como /tmp, que, embora raras, não precisam de backup.

Considerar essas questões levarão à definição da estratégia mais adequada de backup.

2.3. Estratégias de Backup

Há dois esquemas básicos de backup: total e incremental. O esquema total é simples: todos os arquivos deverão ser copiados. Este esquema tem inconvenientes: ele consome muito tempo e dificulta a recuperação. Seu uso não é recomendado quando poucos arquivos são alterados ou criados. Entretanto, o backup total é uma excelente arma quando os arquivos mudam muito e têm importância vital para seus usuários, considerando que o impacto no consumo de tempo valha a pena. Apesar do custo, o backup total deve ser feito sempre que for se fazer mudanças na estrutura do sistema como mudança de kernel, instalação de nova versão do sistema operacional, etc.

Backup incremental copia os arquivos modificados desde alguns backups anteriores. Esta é uma saída viável quando backup total tem um custo elevado e a taxa de modificações nos arquivos é baixa.

A estratégia de backup pode incluir ambos os esquemas, utilizando o conceito de nível de backup. Um conceito interessante de ser implementado, caso o sistema não o suporte. Desta forma, a cada backup é associado um nível que indica que deverá fazer uma cópia de todos os arquivos alterados desde o último backup de um nível abaixo. O backup total tem nível 0.

Frisch propõe duas estratégias usando níveis: a primeira é realizar um backup total no inicio a semana e realizar Backups de nível 1 a cada dia. Esta estratégia requer apenas dois conjuntos de discos (fitas ou outro tipo de dispositivos), mas se os arquivos modificam muito, os conjuntos de discos de Backups diários e semanais precisarão ter o mesmo tamanho.

A estratégia alternativa proposta para sistemas muito ativos é executar um backup total mensalmente, um backup de nível 1 semanalmente e um backup de nível 2 diariamente. Neste caso, serão necessários três conjuntos de discos para garantir uma recuperação completa.

Uma outra estratégia é o backup solitário. Nesse esquema, o backup pode ser realizado durante um período sem atividade, por exemplo, à noite, mediante a execução de um comando para backup. Esta estratégia só é viável para backups que só cabem em um discco ou fita, etc e quando não incorre em problemas de segurança devido a furtos, danificação dos discos. Pode ocorrer também que outra pessoa, intensionalmente ou não, escreva por cima do que foi gravado, ocasionando sua perda. Além disso, esta técnica exige que o drive esteja inteiramente livre durante o período de backup.

2.4. Armazenamento

Em um planejamento e backup é importante considerar o armazenamento do material copiado, garantindo que ele possa ser adequadamente recuperado no futuro. Alguns ítens básicos, tais como armazenar a fita (ou outro dispositivo) utilizada em local apropriado e considerações sobre danos causados por “intempéries” do ambiente são fundamentais para garantir que as informações em backup estarão disponíveis quando necessárias. Neste contexto, é interessante pensar no tempo de vida do dispositivo utilizado. Embora os fabricantes garantam um certo tempo de vida para seus produtos, é importante adotar critérios de qualidade próprios, tais como descartar fitas que apresentam problemas mais de uma vez.

Uma outra preocupação importante é garantir que a localização dos backup’s seja conhecida para que sua recuperação possa ser a mais rápida possível, sem impacar com buscas intermináveis por fitas sem identificação, amontoadas em caixas à esmo. Para garantir uma recuperação eficiente, é interessante estabelecer rotinas de recuperação simples. Manter conjuntos específifos de fitas para cada dia da semana ou para cada dia do mês pode ser uma boa medida. De um modogeral, é fundamental que os backup’s estejam armazenados de forma organizada e documentada, independentemente de qual seja a estratégia utilizada ou a forma de organizar as coisas que o administrador use.

Vale lembrar que a atividade de backup visa garantir segurança. Portanto, é imprescindível que os discos ou fitas de backup estejam em lugar seguro, livres da possibilidade de roubo, vandalismo ou desastres ambientais.

2.5. Utilitários para Backups

Há vários utilitários para realizar backu’s, desde programas de propósito geral até sistemas mais específicos que executam backup incremental em multinível. Mais uma vez, a escolha do utilitário mais adequado depende das prioridades e características do sistema administrado.

2.5.1 Utilitários tar & cpio

Adequados para backup’s ad hoc ou pequenos, não exigindo um processo muito elaborado. São recomendados para microcomputadores rodando Unix ou estações de trabalho dedicadas onde o usuário cuide de realizar o backup de seus próprios arquivos.

tar e cpio são comandos que periodicamente salvam os arquivos especificados para o dispositivo indicado. Realizam backup de sistemas de arquivos locais e remotos, montados via NFS. Portanto, podem ser usados em sistemas com poucos dados críticos.

cpio tem algumas vantagens sobre tar: primeiro, ele é mais fácil de usar para realizar backup de conjuntos arbitrários de arquivos, enquanto que tar é mais usado com sub-árvores de diretórios. Segundo, cpio aloca os dados de forma mais eficiente no disco ou outro tipo de dispositivo. Terceiro, na recuperação, tar não consegue lidar com bad blocks no disco. Não é o caso de cpio

2.5.2 Utilitário dump

Esta é uma versão mais sofisticada de backup disponível para Unix BSD. Ele realiza um backup seletivo de todos os arquivos no sistema de arquivos do tipo BSD. Semelhante a tar e cpio, dump permite que seja indicado o disipositivo de saída. Uma boa vantagem é que dump permite também a indicação do nível do backup, enquanto que com tar e cpio isto só é possível combinando um deles e o comando find.
Observe que os utilitários descritos não provêem nenhuma forma automática de realizar backup incremental. Para executar funções mais especializadas, são necessários utilitários mais sofisticados ou ferramentas mais pesadas como o Amanda que será visto a diante.
 

3. Recuperação dos Dados

Segundo Harrison et al., recuperação é habilidade de tornar uma porção ou toda imgem de um backup disponível, copiando a porção indicada para a localização desejada, podendo ou não sobrepor a imagem indesejada ou defeituosa.

3.1. Utilitários

Os utilitários descritos anteriormente têm todos os seus correspondentes com respeito à recuperação.

3.2.1 Utilitários tar & cpio

tar e cpio recuperam arquivos individuais ou sub-árvores inteiras. Pode ser especificado se todos os atributos serão recuperados ou não.

3.2.2 Utilitário dump

Usando o comando restore, arquivos de backup gerados por dump são recuperados. Pode-se indicar arquivos, diretórios ou sistemas de arquivos inteiros. Ele posiciona os arquivos recuperados no diretório corrente.
Para recuperar um sistema de arquivos inteiro, é necessário: primeiro criar e montar um sistema de arquivo limpo e vazio; em seguida, recuperar, usando restore, o backup mais recente para cada nível de backup, em ordem, evitando recuperar versões obsoletas de alguns arquivos do sistema. Finalmente, é necessário fazer um backup total (nível 0) para garantir que on i-nodes dos arquivos recuperados vão estar de acordo com o sistema de arquivos.
 

4. Movendo Dados Entre Sistemas

Usando os utilitários descritos, tem-se alguma garantia de que os arquivos de backup poderão ser lidos em diferentes sistemas, entretanto ainda há alguns problemas relacionados com a leitura de arquivos em sistemas onde os arquivos não foram escritos originalmente. As maiores causas de problemas são:


5. Amanda

Os meios mais antigos de armazenamento utilizados em grandes redes UNIX não atendem, atualmente, as necessidades requeridas por estes sistemas de grande porte. Freqüentemente, as fitas utilizadas no armazenamento de informações possuem capacidade menor do que os discos que elas estão realizando o backup, requerendo um operador que realize a troca das múltiplas fitas no drive quando da realização de um full backup dos discos, resultando em uma grande dificuldade na realização de backups de uma grande quantidade de workstations.

Para solucionar este problema, foi adotado o uso de datalessworkstations, onde todos os dados são armazenados em servidores de arquivos, gerando, com isso, a necessidade de computadores com grande capacidade de armazenamento e um tráfico extremamente pesado na rede.

Em alguns lugares, entretanto, o uso de datafull workstations é preferido. Neste sistema, todos os dados de usuários, arquivos temporários e alguns binários são armazenados nas próprias workstations. Servidores de arquivos provêem apenas alguns binários compartilhados por vários usuários. A grande vantagem deste modelo é principalmente política, já que os usuários preferem possuir seus próprios discos, com seus próprios dados em suas próprias mesas, sem ter que lidar com uma autoridade central para espaço e compartilhamento de CPU. Além disso, o tráfico de dados na rede diminui, aumentando a performance global do sistema.

Assim, com a criação de meios de armazenamento com maior capacidade, o problema de falta de espaço foi resolvido, restando ainda a necessidade de otimizar-se o tempo de execução do backup, razão pela qual foi iniciado o desenvolvimento do Amanda - Advanced Maryland Automated Network Disk Archiver, que roda sob o programa dump, usa um disco opcional (holding disk) para realizar múltiplos backups em paralelo.

5.1. Amanda - Visão Geral

O Amanda é designado para realizar o backup de grandes quantidades de dados, presentes em redes com um número elevado de computadores (hosts), utilizando, para isso, fitas (tapes) de gigabytes ou maiores. O host que contém o tape drive e o disco opcional (holding disk) é chamado de backup server host e os hosts que terão seus dados salvos são chamados de backup client hosts.

Os backups realizados pelo Amanda são, normalmente, realizados à noite e após seu término um relatório detalhado das atividades é enviado ao administrador do sistema. O principal programa do backup server host é o amdump, que contém diversos módulos que podem emitir os relatórios para o usuário. planner é o módulo responsável por determinar qual o nível de backup para cada filesystem. driver gerencia o andamento do(s) backup(s). dumper realiza a comunicação com cada um dos client hosts e taper é a parte que gerencia o dispositivo de fita. No lado dos clientes, amandad é invocado através de requisições do server host.

Além do programa principal (amdump), Amanda possui vários programas auxiliares:

5.2. Configurações

Os programas que compõem o Amanda são completamente guiados por dois simples arquivos de configuração mantidos pelo administrador do sistema. O arquivo de configuração amanda.conf determina os parâmetros a serem considerados durante o backup. Este arquivo é o controle central de toda a atividade do Amanda. O arquivo disklist simplesmente lista todos os filesystems onde será realizado o backup.

Nestes arquivos de configuração podemos determinar o backup schedule. Alguns dos mais freqüentes são: 1) backups totais periódicos e backups incrementais diários, 2) apenas backups incrementais e backups totais externos, 3) apenas backup incremental sem backup total, ou ainda 4) freqüentes backups totais, sem backups incrementais.

5.3. Automatic Incremental Bumping

O programa DUMP, assim como o GNU TAR, suporta o conceito de múltiplos níveis de backups incrementais, que permitem a eliminação do armazenamento redundante de dados e a melhor utilização do espaço disponível nos tapes, modificando apenas os arquivos mais recentemente modificados.

O Amanda possui a capacidade de modificar dinamicamente o nível de backup a ser realizado de acordo com a quantidade de dados a serem gravados. Se esta quantidade for maior do que um valor pré-estabelecido para o nível em questão, o sistema automaticamente aumenta o nível do backup e novamente checa a quantidade de dados modificados.

O arquivo amanda.conf determina três parâmetros que controlam o funcionamento do bumping:

5.4. Operação Diária

Após a configuração do sistema, muito poucas ações são requeridas em seu dia-a-dia. Ainda assim, é importante que possíveis falhas sejam consideradas antes de seu funcionamento. Como já vimos, o programa amcheck faz estas checagens e envia relatórios informando possíveis problemas de configuração do sistema.

O amdump (programa principal do server host) também envia relatórios para o administrador do sistema, que informam detalhes das operações realizadas e contém dados estatísticos sobre seu andamento. Alguns dos problemas mais comuns considerados por Amanda são: 1) erros de disco, 2) erros do programa de backup, 3) clientes inacessíveis e 4) tape errado.

5.5. Integridade de Dados

O problema de backup on-line é bem conhecido e tem sido muito discutido ultimamente. Adicionar, modificar, deletar ou mover arquivos ou árvores de diretórios enquanto o backup está sendo feito pode causar a perda de dados, ou ainda, confundir o programa e derrubá-lo, gerando uma saída corrompida e não recuperável.

O Amanda possui este problema pois depende de programas sobre os quais ele irá rodar, e se estes não possuírem políticas de acesso concorrente a arquivos, o problema irá persistir. Na prática, o Amanda diminui de certa forma o problema, pois realiza o backup à noite, período onde há a menor manipulação de dados na rede.

Entretanto, para filesystems bastante ativos, é recomendada a realização do backup pelo modo antigo: levando a máquina para o modo single user e realizando seu backup neste modo. Nestes sistemas, o Amanda pode ainda ser utilizado para backups incrementais diários.

5.6. Diretivas Futuras

O Amanda ainda está sob desenvolvimento ativo. Algumas melhorias estão, no momento, em fase de testes e algumas delas estarão logo disponíveis:


6. Referências

  1. Æleen Frisch. Essential System Administration. O'Reilly & Associates, Inc. 2a Edição. 1995.
  2. James da Silva e Ólafur Gudmundsson. The Amanda Network Backup Manager. In Proceedings of the Seventh Large Instalation Systems Administration Conference, pp. 171 - 182. The Usenix Association, Novembro 1993.
  3. Deborah Russel e G. T. Gangemi Sr. Computer Security Basics. O'Reilly & Associates, Inc. 1a Edição. 1992.
  4. Gareth Davies. Security Requirements for Backup and Restore.

  5. http://xoweb.xopen.org/public/reqts/secrd06f.htm
  6. Reed Harison. Security Backup and Restore of File in a Distributed Enviroment.http://xoweb.xopen.org/public/reqts/secrd03f.htm
  7. Blair Zajac. Intro and How-to of the Unix Backup Scheme in GPS.

  8. http://www.gps.caltech.edu/~blair/amandaBackups.html

    Extraido do site: http://www.di.ufpe.br/~fabio/flash/workshop96/asm-gao.htm - jul/99