Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet SERVIDORES PARA INTERNET Aula 05: Arquivos de log e backup AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Conteúdo desta aula ARQUIVOS DE LOG 11 ROTAÇÃO DE LOGS 33 PRÓXIMOS PASSOSSYSLOG 22 AUTOMATIZAÇÃO DE BACKUP 44 LABORATÓRIO 55 AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log • Arquivos de log são arquivos que contêm mensagens sobre o sistema, incluindo o kernel, serviços e aplicativos em execução nele. • Existem arquivos de log diferentes para informações diferentes. Exemplos: • Arquivo de log padrão do sistema; • Arquivo de log para mensagens de segurança; • Arquivo de log para tarefas do cron. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log • Os arquivos de log podem ser muito úteis ao tentar solucionar um problema com o sistema, como tentar carregar um driver de kernel ou ao procurar tentativas de login não autorizadas para o sistema. • Vamos entender onde encontrar arquivos de log, como exibir arquivos de log e o que procurar em arquivos de log. • A maioria dos arquivos de log estão localizados no diretório /var/log. • Algumas aplicações como o httpd e samba possuem um diretório próprio no /var/log para os seus logs.[[root@localhost log]# ls /var/log/ anaconda.ifcfg.log boot.log httpd secure anaconda.log btmp lastlog secure-20170520 anaconda.program.log cron maillog spooler anaconda.storage.log cron-20170520 maillog-20170520 spooler-20170520 anaconda.syslog dmesg messages tallylog anaconda.yum.log dmesg.old messages-20170520 wtmp audit dracut.log samba yum.log AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Onde: S=Syslog, H=Defindo no código, F=Arquivo de cofiguração de frequência Freq: D=Diária, W=Semanal Distr: R= Red Hat, F= Fedora, D=Debian, S= SUSE, U=Ubuntu Arquivos de log mais comuns Arquivo Programa Onde Freq Distr Conteúdo audit/audit.l og su etc. S M DU Autorizações httpd/* httpd F D SDU Logs do servidor Apache boot.log scripts rc F M RF Gera saída a partir dos scripts de incialização do sistema boot.msg kernel H M S Dump do buffer de mensagens do kernel cron cron S W RF Execuções e erros de cron /cups/* cups C W todas Mensagens relacionadas à impressão (CUPS) deamon.log vários S W FU Todas as mensagens dos recursos de deamon debug vários S D DU Saída de depuração dmesg kernel H - RFDU Dump do buffer de mensagens do kernel kern.log kernel S W DU Todas as mensagens dos recursos do kernel lastlog login H - todas Último horário de login por usuário (binário) mail* relacionado a correio S W todas Todas as mensagens dos recursos de correio messages vários S W todas Log principal do SO samba/* smbd etc S W - Samba (compartilhamento de arquivos Windows) secure sshd, sudo, etc S M RF Mensagens de atutorização privadas syslog vários S W DU Log principal do SO warn vários S W S Todas as mensagens no nível de alerta/erro wtmp login H M todas Registros de login (binários) yum.log yum F M RF Log do gerenciador de pacotes yum AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log • Ocorrem muitos eventos no sistema operacional Linux que devem ser logadas para atender a propósitos administrativos. • O Linux usa o sistema syslogd para exibir e registrar mensagens que descrevem esses eventos. • Este sistema permite o logging detalhadamente controlado de mensagens originadas do kernel e de processos rodando no seu sistema e em sistemas remotos. • As mensagens podem ser colocadas no console de exibição, em arquivos de log e nas telas de textos dos usuários conectados. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log - Syslog • O deamon do syslogd é o rsyslogd. • O daemon rsyslogd é uma evolução do sysklogd . • Fornece filtros estendidos, retransmissão de mensagem criptografadas, várias opções de configuração, módulos de entrada e saída, suporte para transporte através dos protocolos TCP ou UDP. • A versão 5 do rsyslogd é padrão em sistemas baseados em Red Hat. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Syslog (deamon rsyslogd) rsyslogd • Este daemon controla o registro de logs do sistema. opções -f : Especifica um arquivo de configuração alternativo ao /etc/syslog.conf. -h : Permite redirecionar mensagens recebidas a outros servidores de logs especificados. -r : Permite o recebimento de mensagens através da rede através da porta UDP 514. Esta opção é útil para criar um servidor de logs centralizado na rede. Por padrão, o servidor syslog rejeitará conexões externas. -d : Ativa o modo de depuração do syslog. O syslog permanecerá operando em primeiro plano e mostrará as mensagens no terminal atual. Para mais opções man rsyslogd rsyslogd [options] AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Syslog (deamon rsyslogd) • O comportamento do rsyslogd é controlado pelo seu arquivo de configuração /etc/rsyslog.conf. • Este arquivo contém linhas indicando o que deve ser logado e onde. Cada linha contém diretivas nesta forma: facility.nível ação[root@localhost ~]# grep /var/log/ /etc/rsyslog.conf *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron uucp,news.crit /var/log/spooler local7.* /var/log/boot.log AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Syslogd - Facility • A facilidade é usada para especificar que tipo de programa está enviando a mensagem. Os seguintes níveis são permitidos (em ordem alfabética): • auth - Mensagens de segurança/autorização (é recomendável usar authpriv ao invés deste). • authpriv - Mensagens de segurança/autorização (privativas). • cron - Daemons de agendamento (cron e at). • daemon - Outros daemons do sistema que não possuem facilidades específicas. • ftp - Daemon de ftp do sistema. • kern - Mensagens do kernel. • lpr - Subsistema de impressão. • local0 a local7 - Reservados para uso local. • mail - Subsistema de e-mail. • news - Subsistema de notícias da USENET. • security - Sinônimo para a facilidade auth (evite usa-la). • syslog - Mensagens internas geradas pelo syslogd. • user - Mensagens genéricas de nível do usuário. • uucp - Subsistema de UUCP. • * - Confere com todas as facilidades. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Syslogd - Nível • O nível epecifica a importância da mensagem. Os seguintes níveis são permitidos (em ordem de importância invertida, da mais importante para a menos importante): • emerg - O sistema está inutilizável. • alert - Uma ação deve ser tomada imediatamente para resolver o problema. • crit - Condições críticas. • err - Condições de erro. • warning - Condições de alerta. • notice - Condição normal, mas significante. • info - Mensagens informativas. • debug - Mensagens de depuração. • * - Confere com todos os níveis. • none - Nenhuma prioridade. • Além dos níveis anteriores, os seguintes sinônimos estão disponíveis: • error - Sinônimo para o nível err. • panic - Sinônimo para o nível emerg. • warn - Sinônimo para o nível warning. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet • É o destino das mensagens que correspondem a um dado selecionador (facility.nível). • Podeser um arquivo, um pipe (se iniciado por um "|"). • Um computador remoto (se iniciado por uma "@"). • Determinados usuários do sistema (especificando os logins separados por vírgula). • Ou para todos os usuários logados via wall (usando "*"). Syslogd – Ação (destino) AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Syslogd – Carecteres especiais • "*" - Todas as mensagens da facilidade especificada serão redirecionadas. • "=" - Somente o nível especificado será registrado. • "!" - Todos os níveis especificados e maiores NÃO serão registrados. • "-" - Pode ser usado para desativar o sync imediato do arquivo após sua gravação. • Os caracteres especiais "=" e "!" podem ser combinados em uma mesma regra. AULA 05: ARQUIVOS DE LOG E BACKUP LABORATÓRIO PRÁTICO AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Syslogd – Exemplo de funcionamento • Criar o script /root/script_log.sh • A mensagem “O script foi executado com sucesso” será colocada no log da facility local5 configurado no rsyslog, junto com um timestamp e o nome do host que enviou a mensagem #!/bin/bash /bin/cat /var/log/messages >> /tmp/script.log logger -p local5.info "O script foi executado com sucesso" AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Syslogd – Exemplo de funcionamento • Vamos agora configurar o rsyslog para logar a diretiva local5 • Criar uma nova conf em /etc/rsyslog.d/ • Vamos criar o arquivo script.conf com o seguinte conteúdo: • Após a configuração é necessário reiniciar o rsyslogd. # Informe sobre a execução do script /root/script_log.sh local5.* /var/log/local5.log [root@localhost rsyslog.d]# /etc/init.d/rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ] AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Syslogd – Exemplo de funcionamento • Agora basta executar o script criado e consultar o log. [root@localhost rsyslog.d]# /root/script_log.sh [root@localhost rsyslog.d]# cat /var/log/local5.log May 21 10:18:58 localhost root: O script foi executado com sucesso AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log - Logrotate • Você deve ter observado múltiplos arquivos de log no diretório /var/log/ contendo números após eles. • Exemplo: cron-20170520 • Esses números representam um time stamp que foi adicionado em um arquivo de log rotacionado. • Os arquivos de log são rotacionados para evitar que tenham um tamanho muito grande (evitando alguns problemas). • O logrotate é executado a partir de uma tarefa no cron. • Esta tarefa rotaciona automaticamente os logs. • de acordo com o arquivo de configuração /etc/logrotate.conf • e os arquivos de configuração do diretório /etc/logrotate.d/ [root@localhost ~]# ls /etc/cron.daily/ logrotate AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Rotacionar log a partir de um determinado tamanho • Rotacionar o arquivo de log quando chegar ao tamanho de 1K • size 1k – tamanho do arquivo >= 1K • create – rotacionar o arquivo original e criar um novo arquivo com a permissão, user e grupo específicos • rotate – número de logs rotacionados $ cat /etc/logrotate.d/script /tmp/script.log { size 1k create 700 estacio estacio rotate 3 } AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Rotacionar log a partir de um determinado tamanho • Antes de rotacionar o log • Forçando a execução do logrotate (logando o resultado com parâmtro –s) • Após rotacionar o log [root@localhost ~]# ls -lhtr /tmp/script.log -rw-r--r--. 1 estacio estacio 24K May 21 00:35 /tmp/script.log logrotate -s /var/log/logstatus /etc/logrotate.conf /tmp/script.log [root@localhost logrotate.d]# ls -lhtr /tmp/script* -rw-r--r--. 1 estacio estacio 35K May 21 00:38 /tmp/script.log-20170521 -rwx------. 1 estacio estacio 6.9K May 21 00:40 /tmp/script.log AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Rotacionar log zerando o arquivo de log principal • Especificando o nome do log como a data • Antes de aplicar o logrotate /var/log/appweb.log { size 1k copytruncate rotate 4 dateformat %Y%m%d%s } [root@localhost logrotate.d]# ls -lhtr /var/log/appweb* -rw-r--r--. 1 root root 4.6K May 21 01:19 /var/log/appweb.log AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Rotacionar log zerando o arquivo de log principal • Após aplicar o logrotate [root@localhost logrotate.d]# logrotate -f /etc/logrotate.conf [root@localhost logrotate.d]# ls -lhtr /var/log/appweb* -rw-r--r--. 1 root root 4.6K May 21 01:19 /var/log/appweb.log201705211495340362 -rw-r--r--. 1 root root 0 May 21 01:19 /var/log/appweb.log O log principal ficará sempre zerado com o “copytruncate” AULA 05: ARQUIVOS DE LOG E BACKUP LABORATÓRIO PRÁTICO AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Arquivos de log – Rotacionar log zerando o arquivo de log principal • Consultar o man do logrotate. • Rotacionar o log utilizando compressão. • Rotacionar o log utilizando as opções monthly, daily e weekly. • Rotacionar o log e executar um script automaticamente após a execução. • Rotacionar o log e excluir os arquivos antigos. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup • O backup existe como forma de prevenir que arquivos sejam perdidos, seja por falha física, por falha humana ou até mesmo por acidentes naturais. • O hábito do backup deve fazer parte da rotina de um administrador e deve seguir uma política determinada. • Preferencialmente deve ser feito da forma mais automatizada possível, de modo a reduzir as chances de problemas e seu impacto sobre o trabalho dos administradores de sistemas. • O backup de um sistema deve incluir • dados; • arquivos de configuração; • logs. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup • Cuidados devem ser tomados em relação ao local onde os backups ficam armazenados. • Alguns aspectos devem ser observados: • O acesso ao local deve ser restrito para evitar que pessoas não autorizadas roubem ou destruam backups; • O local deve ser protegido contra agentes nocivos naturais (poeira, calor, umidade); • O local deve ser a prova de fogo ou redundante. • Os backups devem ser verificados logo após a sua geração. Isto possibilita a descoberta de defeitos em dispositivos e meios de armazenamento e pode evitar que dados sejam perdidos por problemas com backups que não podem ser restaurados. • Backups de dados sigilosos devem ser gerados em conjunto com algum método de criptografia. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup - Práticas para facilitar a tarefa de backup • Executar os dumps a partir de uma única máquina. • Rotular todas a mídias de backup com data da primeira utilização da mídia, data do backup e proveniência do backup. • Fazer o backup em intervalos de tempo razoáveis. • Selecionar cuidadosamente de que parte do sistema serão feitos os backups. • Manter a mídia de backup fora do local de trabalho e proteger os backups contra possibilidade de perda ou roubo. • Verificar a mídia periodicamente. • O mais importante: esteja preparado para o pior que pode acontecer. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Estratégias de backup • Completo • É o backup que abrange na todos os arquivos e diretórios selecionados para backup no sistema. • Diferencial• É um backup cumulativo de todas as alterações feitas desde o último backup completo. Juntos, um backup total e um backup diferencial devem incluir todos os arquivos no computador, alterados e inalterados. • Incremental • Método de backup em que múltiplos backups são mantidos (e não apenas o último). Cada arquivo é armazenado uma única vez e, em seguida, sucessivos backups contêm apenas as informações que mudaram desde uma cópia de segurança anterior. É um esquema muito eficiente. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Ferramentas de backup • Existem muitas ferramentas de backup, no linux podemos combinar um conjunto de ferramentas (scripts sh, ferramentas de compressão (tar, gzip), ferramentas de agendamento de tarefas (cron), rsync, entre outras. • Existem também ferramentas específicas para este fim, como por exemplo o Bacula, que é muito usado em ambientes corporativos. • Bacula é um conjunto de programas Open Source, que permite ao administrador do sistema gerenciar backup, recuperação e verificação de dados através de uma rede de computadores de diferentes tipos. • Mais informações em http://blog.bacula.org/ AULA 05: ARQUIVOS DE LOG E BACKUP LABORATÓRIO PRÁTICO AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Exemplo de rotina de backup • Neste exemplo faremos o backup de um volume de dados sendo escrito e um local remoto. • O local remoto poderá ser um segundo disco, uma fita, um storage remoto montado via nfs, um servidor de backups, entre outros. • Vamos precisar de: • Dados a serem backupeados; • Local para armazenamento do backup; • Scritp de backup; • Agendador para execução da tarefa. AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Exemplo de rotina de backup • Dados a serem backupeados • Arquivos de configuração do /etc/* • Local para armazenamento do backup • Storage remoto montado em /storage • Script de backup • /opt/backup.sh • Agendador para execução da tarefa todos os dias as 23hs (adicionar na crontab) 00 23 * * * /opt/backup.sh AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Script de backup #!/bin/bash #Script de backup #VARIAVEIS INICIO=`date +%d/%m/%Y-%H:%M:%S` LOG=/var/log/backup_`date +%Y-%m-%d`.log #DIRETÓRIO QUE SERÁ EFETUADO O BACKUP ORIGEM=/etc/* #Observe que podemos fazer backup de outros diretórios ou arquivos #DIRETÓRIO ONDE O ARQUIVO SERÁ GRAVADO JUNTO COM O SEU NOME DESTINO=/backup/dados/backup-`date +%Y-%m-%d`.tar.gz #CRIA O ARQUIVO DE LOGS echo " " >> $LOG echo " " >> $LOG echo "|-----------------------------------------------" >> $LOG echo " Backup iniciado em $INICIO" >> $LOG #CRIA O BACKUP tar cvf $DESTINO $ORIGEM >> $LOG FINAL=`date +%d/%m/%Y-%H:%M:%S` echo " Backup finalizado em $FINAL" >> $LOG echo "|-----------------------------------------------" >> $LOG echo " " >> $LOG echo " " >> $LOG #Fim do script AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Adicionar rotina na crontab 00 23 * * * /opt/backup.sh AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet Automatização de backup – Resultado da rotina de backup [root@localhost]# /opt/backup.sh • Vamos forçar a execução do backup: • Verificar o resultado no log: • Verificar o backup gerado: [root@localhost opt]# tail -4 /var/log/backup_2017-05-21.log Backup finalizado em 21/05/2017-11:38:46 |----------------------------------------------- [root@localhost opt]# ls -l /storage/dados/ total 26016 -rwxr-xr-x. 1 root root 26634240 May 21 11:38 backup-2017-05-21.tar.gz AULA 05: ARQUIVOS DE LOG E BACKUP Servidores para internet VAMOS AOS PRÓXIMOS PASSOS? Configurações de rede; Níveis de execução; Gerenciamento de serviços. AVANCE PARA FINALIZAR A APRESENTAÇÃO. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36
Compartilhar