Nome: Edson Carlos Kakol Matrícula: 10189059621-8 Este trabalho foi constituído por uma equipe de dois alunos formados em Administração de Empresas com ênfase em Gestão da Informação, porém ambos trabalham na área de TI na mesma empresa e escolhemos fazer o mesmo curso de pós-graduação/especialização em Redes e Segurança de Sistemas, este projeto foi posto em prática e já esta funcionamento desde o dia 01/01/2010. Ambos trabalhamos juntos na constituição do projeto, mais é claro que cada um tinha uma função a mais em específico, dividimos o projeto da seguinte forma e responsabilidade: 1 - Levantamento da necessidade de equipamentos. Responsável: Giancarlo Schaskos dos Santos 2 - Levantamento de custo de equipamentos e aplicação. Responsável: Edson Carlos Kakol 3 - Desenho da nova estrutura. Responsável: Giancarlo Schaskos dos Santos 4 - Desenvolvimento dos Scripts. Responsável: Edson Carlos Kakol 5 - Apresentação do projeto perante a superintendência. Responsável: Giancarlo Schaskos dos Santos 6 - Aquisição dos novos equipamentos. Responsável: Edson Carlos Kakol 7 - Instalação e configuração dos novos equipamentos. Responsável: Giancarlo Schaskos dos Santos 8 - Testes de performance e funcionabilidade. Responsável: Edson Carlos Kakol 9 - Auditoria do projeto x resultado. Responsável: Giancarlo Schaskos dos Santos 10 - Conscientização/Ensinamento dos funcionários para a utilização. Responsável: Edson Carlos Kakol Ao meu parecer o projeto ficou ótimo perante o Custo x Benefício aprovado pela superintendência, além da segurança agora redobrada nas informações mantidas pela empresa. O novo layout exigiu um grande trabalho para nós, pois para aplicar o mesmo tivemos que conscientizar e ensinar todos os funcionários da nova estrutura e como proceder agora com a utilização de um Domínio CAPAL implantado que até o momento ainda não existia. Segurança de Dados - Implantação de Sistema de Backup Edson Carlos Kakol e Giancarlo Schaskos dos Santos Curso de Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Arapoti, Abril de 2010 Resumo O objetivo deste trabalho é melhorar a segurança dos dados da empresa CAPAL, garantindo que caso haja alguma perda de dado resultante de sobreposição de arquivos, vírus, exclusão indevida, alteração de informação indevida, etc., os dados arquivados garantirão aos usuários que haverá uma copia segura da informação em vários tipos de armazenamentos e independente da data da perda da informação nós recuperaremos os dados em perfeito estado.Os dados que a empresa armazena é um dos principais ativos e perdê-los pode significar o fim do empreendimento. 1 - Introdução A CAPAL decidiu depois de um grande susto (onde quase houve a perda total do banco de dados do sistema principal) a cuidar melhor desse ativo tão importante, e criou uma pequena política para a execução do backup, nessa política demos os seguintes nomes para os Backups: Backup Completo - Backup Incremental - Backup de Documentos. 2 - Definição Em informática, cópia de segurança é a cópia de dados de um dispositivo de armazenamento a outro para que possam ser restaurados em caso da perda dos dados originais, o que pode envolver apagamentos acidentais ou corrupção de dados [1]. 3 - Backups 3.1 - Backup Completo O Backup Completo abrange na íntegra todos os arquivos de configuração do sistema operacional e do sistema ERP além de toda a base de dados. Detalhes: • O Backup Completo é mais demorado que o Incremental. • O Backup Completo requer mais disco, fita ou espaço de unidade de rede. 3.2 - Backup Incremental O Backup Incremental abrange na íntegra todos os arquivos de configuração do sistema operacional e do sistema ERP além de toda a base de dados, assim como o Completo, porém somente irá substituir os arquivos que foram modificados. Detalhes: • O Backup Incremental é mais rápido do que o Backup Completo. • O Backup Incremental irá somente alterar ou acrescentar novos arquivos no Backup Completo já realizado, assim sendo, não requer mais disco, fita ou espaço de unidade de rede. 3.3 - Backup de Documentos O nosso Backup de Documentos é somente incremental, por tanto somente altera o arquivo original pelo o alterado e abrange na íntegra todos os arquivos dos usuários, como por exemplo: documentos, planilhas, fotos, apresentações, pequenos bancos de dados utilizados pelo usuário para algum fim específico, etc., deixando que o próprio usuário decida o que é necessário ou não guardar, desde que seja de utilidade empresarial, caso seja encontrada alguma irregularidade de arquivos, os mesmo que não sejam de interesse da empresa serão apagados, deixando assim a responsabilidade pelo qual conteúdo a ser armazenado por conta e risco do usuário. 4 - Tabela de execução dos backups Comandos: A B C D E Horários: X X Definido pelo usuário backup.menu.sh X Seqüencial/sinctudo.sh sinchdusb.sh X 12:00 sinchdusbdia.sh X Seqüencial/sinctudo.sh sinchdrede.sh 01:00 X sinchdrede.sh X X X X 01:00 sinctudo.sh X A cada 1hr/Comercial sinc.sh X 04:00 sinc.bat Tabela 1: Execução dos Backups Status do Banco de Dados: Definido pelo usuário Parado Ativo Parado Parado Ativo Ativo A - HD Externo (Storage) localizado fora do departamento de TI. Modelo: Lacie 2big Network Tamanho do espaço em Disco: 3 Terabytes B - HD Externo USB (Storage) localizado no próprio departamento de TI. Modelo: HD Externo USB 1TB Lacie Rugged Tamanho do espaço em Disco: 1 Terabyte C - Servidor de Contingência localizado no próprio departamento de TI. Modelo: IBM x5350 Tamanho do espaço em Disco: 500 Gigabytes D - Unidade de Fita LTO localizado no próprio departamento de TI. Modelo: IBM Fita LTO3 Externa 400/800GB Scsi Tamanho do espaço em Fita: 800 Gigabytes comprimidos ou 400 Gigabytes não comprimidos E - Computador utilizado para backup localizado no próprio departamento de TI. Modelo: Core 2 Duo - 2,93Ghz - 4 Gigabytes RAM Tamanho do espaço em Disco: 1 Terabyte Antes desse processo, existia somente o computador utilizado para backup(E), nele havia um programa que fazia Backup de Documentos de todos os micros da empresa, porém como era muita informação, havia somente um backup semanal de cada computador, pois a cada dia só era possível executar o backup de no máximo 25 computadores. Existia também uma unidade de Fita LTO e uma unidade de Fita DAT (que faltava espaço) para o servidor do Banco de Dados que era executado manualmente pelo comando backup.menu.sh. 5 - Estrutura CAPAL Figura 1: Antiga Estrutura Figura 2: Nova Estrutura 6 - SCRIPTs 6.1 - Script do Servidor de Documentos 6.1.1 - Script sinchdrede.sh #!/bin/bash # Script para backup no Storage da Rede # 01/01/2010 - Edson Kakol/Giancarlo Schaskos clear #Processo PID=$$ #Versao VERSAO="$(date '+%Y%m%d')" #Dia da Semana DAY=$(date +%A) STATUS="0" echo "BackupStorageRede versao - $VERSAO" echo "Inicio - `date`" echo "1 - Montando HD Rede" umount /mnt/hdrede mount /mnt/hdrede echo "2 - Sincronizando..." rsync -utpogvrz /etc /mnt/hdrede/$DAY rsync -utpogvrz /home /mnt/hdrede/$DAY rsync -utpogvrz /usr/local/sbin /mnt/hdrede/$DAY echo "3 - Desmontando HD Rede" umount /mnt/hdrede echo echo "Fim - `date`" 6.1.2 - Script crontab 01 00 * * * /usr/local/sbin/sinchdrede.sh 6.2 - Script do Servidor de Banco de Dados 6.2.1 - Script sinchdusbdia.sh #!/bin/bash # Script para backup no Storage USB # 01/01/2010 - Edson Kakol/Giancarlo Schaskos clear #Processo PID=$$ #Versao VERSAO="$(date '+%Y%m%d')" #Dia da Semana DAY=$(date +%A) STATUS="0" echo "BackupStorageUSB versao - $VERSAO" echo "Inicio - `date`" echo "1 - Montando HD USB" umount /dev/sdc1 mount /dev/sdc1 /mnt/hdusb echo "2 - Sincronizando..." rsync -ruvp /etc /mnt/hdusb/dia/$DAY rsync -ruvp /usr /mnt/hdusb/dia/$DAY rsync -ruvp /root /mnt/hdusb/dia/$DAY rsync -ruvp /sistema /mnt/hdusb/dia/$DAY echo "3 - Desmontando HD USB" umount /dev/sdc1 echo "4 - Backup Concluido com Sucesso" echo echo "NOTA:" echo "- Lembrando que para restaurar o backup deve-se:" echo "- Montar a unidade - Ex: mount /mnt/hdusb" echo echo "- E depois:" echo " Ex: cp -rf /mnt/hdusb/noite/XXXXXX/sistema/usr/kugel/M001/DM0163 /teste" echo " (Atencao!!! Voce deve estar dentro do diretorio desejado para iniciar o restore!!!) " echo echo "Fim - `date`" 6.2.2 - Script sinc.sh rsync -utpogvrz /sistema/* 192.168.1.200:/sistema 6.2.3 - Script sinctudo.sh #!/bin/bash # Script para Backup Geral # 01/01/2010 - Edson Kakol/Giancarlo Schaskos clear #Processo PID=$$ #Versao VERSAO="Backup-$(date '+%Y%m%d')" #Diretorios DIR_BKP="/home /sistema /etc /usr/local /root" STATUS="0" echo "Backup versao - $VERSAO" echo "Inicio - `date`" echo "1 - Configurando a unidade de fita para modo de bloco de comprimento variavel" mt -f /dev/nst0 setblk 0 echo "2 - Gera backup e grava em Fita" service psql stop service psql force echo "Diretorio: $DIR_BKP" /bin/tar cvp -f /dev/nst0 --directory $DIR_BKP --label $VERSAO echo "3 - Retrocedendo e ejetando a Fita..." mt -f /dev/nst0 rewoffl service psql start echo echo "NOTA:" echo "- Lembrando que para restaurar o backup deve-se:" echo "- Colocar a fita na unidade (ou retirar e recolocar);" CONT=-1 let CONT=$CONT+1 [ $CONT -eq 0 ] && echo "- Para o $DIR_BKP nao eh necessario nada." [ $CONT -gt 0 ] && echo "- Para o $DIR_BKP: mt $DEV fsf ($CONT vez(es))" echo echo "- E depois: Ex: tar xvpf /dev/nst0 sistema (No diretorio desejado!!!)" echo "Fim - `date`" service psql stop service psql force echo "4 - Sincronizando Servidores: De 192.168.1.100 para 192.168.1.200" /usr/local/sbin/sinc.sh echo "5 - Sincronizacao entre Servidores Completada com Sucesso!!!!" echo "Fim - `date`" service psql start echo "6 - Sincronizando para Storage HD-USB" /usr/local/sbin/sinchdusb.sh echo "7 - Sincronizacao para Storage HD-USB Completada com Sucesso!!!!" echo "Fim - `date`" echo "8 - Sincronizando para Storage HD-Rede" /usr/local/sbin/sinchdrede.sh echo "9 - Sincronizacao para Storage HD-Rede Completada com Sucesso!!!!" echo "Fim - `date`" 6.2.4 - Script sinchdusb.sh #!/bin/bash # Script para backup no Storage USB # 01/01/2010 - Edson Kakol/Giancarlo Schaskos clear #Processo PID=$$ #Versao VERSAO="$(date '+%Y%m%d')" #Dia da Semana DAY=$(date +%A) STATUS="0" echo "BackupStorageUSB versao - $VERSAO" echo "Inicio - `date`" echo "1 - Montando HD USB" umount /dev/sdc1 mount /dev/sdc1 /mnt/hdusb echo "2 - Sincronizando..." service psql stop service psql force rsync -ruvp /etc /mnt/hdusb/noite/$DAY rsync -ruvp /usr /mnt/hdusb/noite/$DAY rsync -ruvp /root /mnt/hdusb/noite/$DAY rsync -ruvp /sistema /mnt/hdusb/noite/$DAY echo "3 - Desmontando HD USB" umount /dev/sdc1 service psql start echo "NOTA:" echo "- Lembrando que para restaurar o backup deve-se:" echo "- Montar a unidade - Ex: mount /mnt/hdusb" echo echo "- E depois:" echo " Ex: cp -rf /mnt/hdusb/noite/XXXXXX/sistema/usr/kugel/M001/DM0163 /teste" echo " (Atencao!!! Voce deve estar dentro do diretorio desejado para iniciar o restore!!!) " echo echo "Fim - `date`" 6.2.5 - Script sinchdrede.sh #!/bin/bash # Script para backup no Storage da Rede # 01/01/2010 - Edson Kakol/Giancarlo Schaskos clear #Processo PID=$$ #Versao VERSAO="BackupStorage-$(date '+%d').tgz" #Diretorios DIR_BKP="/home /sistema /etc /usr/local /root" STATUS="0" echo "BackupStorage versao - $VERSAO" echo "Inicio - `date`" echo "1 - Montando a unidade" umount /mnt/hdrede mount /mnt/hdrede echo "2 - Gera backup e grava no Storage da Rede" service psql stop service psql force echo "Diretorio: $DIR_BKP" /bin/tar cvpf /mnt/hdrede/$VERSAO --directory $DIR_BKP echo "3 - Desmontando a unidade..." umount /mnt/hdrede service psql start echo echo "NOTA:" echo "- Lembrando que para restaurar o backup deve-se:" echo "- Montar a unidade - Ex: mount /mnt/hdrede" CONT=-1 let CONT=$CONT+1 [ $CONT -eq 0 ] && echo "- Para o $DIR_BKP nao eh necessario nada." [ $CONT -gt 0 ] && echo "- Para o $DIR_BKP: mt $DEV fsf ($CONT vez(es))" echo echo "- E depois: Ex: tar xvpf /mnt/hdrede/BackupStorage-XX.tgz sistema" echo " (Atencao!!! Voce deve estar dentro do diretorio desejado para iniciar o restore!!!) " echo echo "Fim - `date`" 6.2.6 - Script crontab 00 00 00 00 00 00 00 00 00 00 00 00 12 08 09 10 11 13 14 15 16 17 18 01 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /usr/local/sbin/sinchdusbdia.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinc.sh /usr/local/sbin/sinctudo.sh 6.3 - Script do PC-Bkpci 6.3.1 - Script sinc.bat xcopy /d/e/c/y/h g:\*.* e:\bakkugel 7 - Custo dos Equipamentos A escolha ficou pelos HDs Lacie, os mesmos estavam com melhor preço e haviam a pronta entrega. Em pesquisa de fóruns, não encontramos nada contra estes modelos de Storage. 3 Terabytes LaCie 2big Network Buffalo TeraStation III Iomega StorCenter IX2-200 Netgear RND4475 Thecus NAS N3200 Pro Storage Western Digital ShareSpace Gigabyte LAN Pronta Entrega Sim Sim Sim Sim Sim Sim Sim Sim Não Sim Sim Sim Sim Sim Sim Não Não Não Valor (R$) 2.699,00 5.675,00 3.599,00 3.488,00 1.889,00 2.555,00 Tabela 2: HD Externo TCP/IP LaCie Rugged XL Iomega MiniMax Samsung Story Station Seagate BlackArmor WS Western Digital My Book 1 Terabyte Sim Sim Sim Sim Sim USB Sim Sim Sim Sim Sim Pronta Entrega Sim Sim Não Sim Não Tabela 3: HD Externo USB Valor (R$) 699,00 809,00 413,00 719,00 530,00 Para este projeto foi adquirido um Servidor Dell para ser o novo Servidor do Banco de Dados, alguns Servidores foram realocados e outros reativados, conforme tabela abaixo. Dell (Server Banco de Dados) IBM x3550 (Server Documentos) IBM x3250 (Server Contingência) IBM Netfinity 5500 (Anti Virus) Tamanho 2 TB 1 TB 500 GB 50 GB LAN 10/100/1000 10/100/1000 10/100/1000 10/100 Situação Novo Reativado Realocado Reativado Valor (R$) 20.000,00 - Tabela 4: Servidores Custo total da implantação: R$ 23.398,00 8 - Teste de performance Foi executado vários testes nos dois equipamentos, todos foram satisfatórios, em nenhum momento houve lentidão ou perda na gravação, mesmo executando todos ao mesmo tempo, após restaurar backups completos ou apenas de alguns arquivos os mesmo também não apresentaram nenhuma anomalia, o backup efetuado em tar apresentou um pouco mais de lentidão mais mesmo assim manteve-se com uma ótima performance. Passando-se 4 meses após a implantação do projeto, não tivemos nenhuma dificuldade em restaurar arquivos e com a automatização do backup não houve mais problemas também de esquecimento de startup do serviço, sendo assim podemos garantir 100% de confiabilidade de armazenamento e integridade dos dados. Porém sabemos que a melhor maneira de manter os dados seguros é nunca se sentir seguro de que tudo esta bem. 9 - Bibliografia [1] http://pt.wikipedia.org/wiki/Backup. Acessado em Abril de 2010.