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 1 ROTAÇÃO DE LOGS 3 PRÓXIMOS PASSOS SYSLOG 2 AUTOMATIZAÇÃO DE BACKUP 4 LABORATÓRIO 5 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.log 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 - Nenhumaprioridade. • 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). • Pode ser 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 BACKUPServidores 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.
Compartilhar