Vídeos Relacionados: Visualizador de Logs de Eventos e Encaminhamento de Eventos no Windows 10 e Server 2012 (Pode 2024).

Registrando Eventos em Logs com Syslogd e Klogd no Linux

{title}

As tarefas de administração no Linux são complexas em muitas situações devido ao número de processos, serviços e funções que são executados a cada segundo e a isso devemos adicionar logins, instalação de aplicativos e não esquecer todos os eventos que cada aplicativo registra na distribuição gerenciado. Felizmente para administradores e equipe de controle ou auditoria, temos vários comandos desenvolvidos para facilitar o gerenciamento e controle de eventos do sistema e, portanto, o Solvetic se concentrará em dois dos comandos mais importantes para esse fim. Syslog e Klogd.

O log é como um diário de bordo, onde eventos, erros, alterações e processos gerados pelos aplicativos ou pelo sistema operacional são registrados e, em seguida, leia esse log e determine quais eventos ocorreram, especialmente em caso de erros ou vulnerabilidades. Os arquivos de log em um sistema Linux residem no diretório / var / log.O sistema de log Linux é gerenciado por dois Daemon:

SYSLOGD

Gere logs do sistema. O Syslogd é executado automaticamente quando você inicia um sistema Linux e é responsável por armazenar relatórios sobre a operação do computador. Receba mensagens de diferentes partes do sistema, kernel e aplicativos, armazene-as em locais diferentes, locais e remotos, seguindo um critério definido no arquivo de configuração /etc/syslog.conf.

KLOGD

Gere os logs do kernel. O klogd direciona as mensagens de log do kernel para o log do sistema. O usuário pode controlar o tratamento de mensagens do kernel editando o arquivo de configuração syslogd. Esses aplicativos klogd são especialmente úteis para desenvolvedores de kernel.

1. O que é e como usar o Syslogd nos logs do Linux


Vamos ver o que é e como usar o Syslogd

O que é syslogd

Syslogd (utilitários de log do sistema Linux), é um comando que nos fornece um tipo de registro usado por muitos programas modernos. Graças ao Syslogd, cada mensagem registrada contém pelo menos uma hora e um campo de hostname, que realiza tarefas de monitoramento, pode ser algo muito mais simples e fácil de analisar.

O comando Syslogd possui um comportamento padrão do BSD e as novas versões do Syslogd interagem de forma transparente com a versão do syslog disponível nas bibliotecas padrão. Portanto, se um binário vinculado às bibliotecas compartilhadas padrão não funcionar corretamente, o Syslogd exibirá o comportamento deste binário.

Passo 1
O arquivo de configuração principal é /etc/syslog.conf, e o registro geralmente é especificado com entradas de regra. O seletor (facilidade.prioridade) e a ação são especificadas em cada linha. Algo a ter em mente é que, nas distribuições modernas do Linux, o comando Syslogd foi substituído por novas implementações do Syslog, como rsyslog ou syslog-ng, portanto, se queremos usar o Syslogd, podemos instalá-lo com o seguinte comando:

 apt instala inetutils-syslogd 

{title}

Etapa 2
É necessário inserir a letra S para confirmar o download e a instalação do Syslogd. Uma vez instalado, podemos acessar o arquivo de configuração que está no seguinte caminho /etc/syslog.conf:

 nano /etc/syslog.conf 

{title}

Etapa 3
Lá encontramos todas as rotas que o Syslogd utilizará para capturar as informações. A sintaxe de uso geral do Syslogd é a seguinte:

 syslogd [-a socket] [-d] [-f arquivo de configuração] [-h] [-l lista de hosts] [-m interval] [-n] [-p socket] [-r] [-s list domínio] [-S] [-v] [-x] 

Etapa 4
Entre as opções disponíveis, temos:

Especifique soquetes extras

Esse argumento nos permite especificar os soquetes adicionais que o Syslogd deve escutar; é usado no caso de qualquer daemon ser executado dentro de um ambiente chroot (). Será possível usar até 19 soquetes adicionais.

 -um soquete 

$config[ads_text5] not found

Ativar modo de depuração

Este argumento ativa o modo de depuração, que manterá o Syslog em primeiro plano e, portanto, gravará muitas informações de depuração no tty atual.

 -d 

Arquivo de configuração

Este argumento especifica um arquivo de configuração alternativo em vez do arquivo padrão /etc/syslog.conf.

 -f arquivo de configuração 

Bloquear o encaminhamento de mensagens remotas

Este parâmetro impede que o Syslogd reenvie as mensagens que recebe dos hosts remotos.

 -h 

Definir nome da rede

Graças a esse parâmetro, você pode indicar um nome de host que deve ser registrado apenas com seu nome de host simples e não com o FQDN.

 -l lista de host 

$config[ads_text6] not found$config[ads_text5] not found

Definir intervalo de tempo

Ao usar esse parâmetro, podemos especificar o intervalo de tempo a ser usado, por padrão, o valor é 20 minutos.

 intervalo -m 

Evite executar o Syslodg

Este parâmetro impede que o Syslogd seja executado em segundo plano.

 -n 

Definir soquete de domínio

Ele nos permite especificar um soquete de domínio Unix alternativo em vez de / dev / log

 -p socket 

Permitir mensagens de rede

Esta opção permitirá que a instalação receba mensagens da rede usando um soquete de domínio da Internet com o serviço Syslog.

 -r 

Definir nome de domínio

Este parâmetro especifica um nome de domínio que deve ser excluído antes do login.

 -s domainlist 

$config[ads_text6] not found$config[ads_text5] not found

Ativar registro

Habilitar o log detalhado

 -S 

Ativar versão atual

Veja a versão atual do Syslogd.

 -v 

{title}

Etapa 5
Ao executar qualquer uma das opções disponíveis, podemos ver todas as tarefas executadas internamente:

{title}

2. Sinais nos logs do Syslogd Linux

Passo 1
O Syslogd é capaz de reagir a um conjunto de sinais, uma opção para enviar um sinal ao Syslogd é executando:

 kill -SIGNAL 'cat /var/run/syslogd.pid' 

$config[ads_text6] not found$config[ads_text5] not found

Etapa 2
Quando esse sinal é executado, vários componentes entram em jogo, como. Assim, o Syslogd é uma solução prática para analisar eventos do Linux.

SIGHUP

Essa opção permite ao Syslogd executar um processo de reinicialização em que todos os arquivos abertos são fechados, o arquivo de configuração será lido novamente e a instalação do Syslog será iniciada novamente.

SIGTERM

O serviço expirará.

SIGINT, SIGQUIT

Se a depuração estiver ativada, elas serão ignoradas; caso contrário, o Syslogd expirará.

SIGUSR1

Ativar ou desativar a depuração.

SIGCHLD

Aguarde novas mensagens.

3. Configure o arquivo Syslogd Linux


O Syslogd faz uso de uma sintaxe um pouco diferente em seu arquivo de configuração do que o arquivo tradicional das fontes BSD originais. A configuração do syslogd é feita através do arquivo /etc/syslogd.conf. Através deste arquivo, você especifica para onde as diferentes mensagens devem ser roteadas. Você pode deixar linhas em branco ou comentar linhas inteiras com o caractere "#"

$config[ads_text6] not found$config[ads_text5] not found

Para que o syslog aceite conexões remotas, devemos adicionar o parâmetro -r

 SYSLOGD_OPTIONS = "- r -m 0" 
Normalmente, o syslogd ocupa a porta 514, devemos verificar se o firewall não o bloqueia para testar em qual porta está sendo executada. No terminal, escrevemos o código a seguir
 grep syslog / etc / services 
Nos serviços de log desta linha, podemos ver que os logs de "mail, cron, info" vão para o diretório de mensagens
 * .info; mail.none; authpriv.none; cron.none / var / log / messages 
Vamos tentar enviar uma mensagem para todo o log com o seguinte comando
 grep "Mensagem de teste" / var / log / * 
Nesse caso, podemos ver que vários logs têm permissões negadas, portanto, não podem ser gravados.

$config[ads_text6] not found

{title}

$config[ads_text5] not found

Seria necessário determinar se é necessário alterar as licenças ou não de acordo com nossas necessidades. Os logs têm vários níveis de prioridade de mensagem (da prioridade mais baixa à mais alta:

Registros de falhas, erros e avisos

 depurar, informações, aviso, aviso, aviso, errar, erro, crítico, alerta, emergir e entrar em pânico 

Logs do tipo de mensagens

Vários logs do tipo de mensagens

 auth, authpriv, cron, daemon, kern, lpr, correio, marca, notícias, segurança, syslog, usuário, uucp 
Os mais importantes são
  • var / log / messages: aqui encontraremos os logs que chegam com informações de prioridade (informações), aviso (notificação) ou aviso (aviso).
  • /var/log/kern.log: aqui os logs do kernel, gerados pelo klogd, são armazenados.
  • /var/log/auth.log: nesse log os logins são registrados no sistema, os horários em que fazemos, etc. As tentativas com falha são registradas nas linhas com informações do tipo inválido ou login inválido.
  • / var / log / dmesg : Este arquivo armazena as informações geradas pelo kernel durante a inicialização do sistema.

$config[ads_text6] not found$config[ads_text5] not found

Esses arquivos de log acumulam informações o tempo todo, para que em algum momento possam ocupar muito espaço. Para resolver esse problema, podemos compactá-lo ou fazer backup, se forem realmente necessários. Algumas mudanças a serem consideradas são:

Uso de curinga

É usado como curinga para todas as prioridades e serviços anteriores, dependendo de seu uso (se antes ou depois do caractere de separação `. ').

 "*" (Asterisco) = 

Não marque prioridade

Indica que não há prioridade definida para o serviço da linha selecionada.

 ““: (Branco, espaço, nulo) 

Escolha diferentes serviços

Permite especificar vários serviços com o mesmo nível de prioridade na mesma linha.

 ", " (Vírgula) 

$config[ads_text6] not found$config[ads_text5] not found

Controlar mensagens diferentes

Permite direcionar mensagens de vários serviços e prioridades para o mesmo destinatário.

 ";" (ponto e vírgula) 

Escolha a prioridade da mensagem

Isso nos permite armazenar apenas mensagens com a prioridade exata especificada.

 "=" (Mesmo) 

4. O que é e como usar o Klogd nos logs do Linux

O que é o Klogd?

Klogd (Kernel Log Daemon), é um daemon de sistema desenvolvido para interceptar e registrar mensagens do kernel Linux. A função do comando Klogd é focada na captura de várias instâncias do kernel, como origem, priorização e resolução dos endereços do kernel.

$config[ads_text6] not found

Nos ambientes Linux, temos duas fontes principais de informações de registro do kernel, como:

  • O sistema de arquivos / proc
  • A interface syscall (sys_syslog)
O comando Klogd foi projetado para escolher a fonte de informações mais conveniente para a exibição de informações, para conseguir isso, primeiro, verifique a presença de um sistema de arquivos / proc que esteja montado, se existir, o arquivo / proc / kmsg é usado como fonte de informações de log do kernel, caso o sistema de arquivos proc não esteja montado, o Klogd fará uso de uma chamada do sistema para obter mensagens do kernel. Caso as mensagens do kernel sejam redirecionadas através do daemon syslogd, o daemon Klogd, desde sua versão 1.1, tem a capacidade de priorizar as mensagens do kernel, essa prioridade está em um intervalo, portanto a prioridade da mensagem do O kernel é codificado como um único dígito numérico.

Quando uma mensagem do kernel é recebida, o daemon Klogd lê o nível de prioridade atribuído e concede a ele o nível de prioridade com base na mensagem do syslog. Ao usar o Klogd, também será possível alterar a apresentação das mensagens do kernel no console do sistema; em um kernel comum, o nível de log padrão do console é definido como 7; portanto, todas as mensagens com um nível de prioridade mais baixo a 7 (prioridade mais alta) aparecerá no console. As mensagens de prioridade 7 são consideradas mensagens de "depuração" e, portanto, não serão exibidas no console para não saturar os outros eventos do kernel com informações.

O Klogd possui uma funcionalidade chamada Resolução de Endereço do Kernel, na qual, se o kernel detectar uma condição de erro interno, um protocolo geral de erro de proteção é ativado automaticamente. Isso faz parte do procedimento de manipulação do GPF, no qual o kernel imprime um relatório de status que indica o status do processador quando a falha é gerada; nesse resultado, veremos detalhes como o conteúdo do registrador do microprocessador, o conteúdo do a pilha do kernel e um monitoramento das funções que estavam sendo executadas antes do erro.

O processo de solução dos endereços numéricos a partir dos resultados da falha de proteção pode ser realizado manualmente ou através do programa ksymoops incluído nas fontes do kernel. O comando Klogd suporta o problema de diagnóstico de falhas de proteção nos módulos carregáveis ​​do kernel atual.

Passo 1
Como o Syslogd, o Klog foi substituído nas distribuições atuais por comandos mais dinâmicos, para que, para sua instalação, executemos o seguinte. Aí entra a letra S para confirmar o download e a instalação.

 apt install busybox-syslogd 

{title}

Etapa 2
A sintaxe do Klogd é a seguinte:

 klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ] 

$config[ads_text5] not found

Etapa 3
Essas opções são:

Definir nível de registro

Este parâmetro define o nível de log padrão das mensagens do console em n.

 -cn 

Modo de depuração

Esta opção ativa o modo de depuração.

 -d 

Mensagens de log

O arquivo registra mensagens no nome do arquivo especificado, em vez de na instalação do syslog.

 -f 

Identifique demônios em execução

Identifique o daemon klogd atualmente em execução. Ambos os interruptores controlam o carregamento / recarregamento das informações do símbolo.

 -i -I 

Pare o klogd em segundo plano

Impede que o Klogd seja executado em segundo plano.

 -n 

$config[ads_text6] not found

Leitura completa em buffers de mensagem

$config[ads_text5] not found

Esta opção permite que o Klogd leia e grave todas as mensagens encontradas nos buffers de mensagens do kernel.

 -o 

Forçar chamada do sistema

Force o comando Klogd a usar a interface de chamada do sistema para armazenar buffers de mensagens no kernel.

 -s 

Veja a versão Klogd

Imprima a versão do Klogd.

 -v 

{title}

Etapa 4
Se quisermos ler todos os eventos após o login, executaremos o seguinte:

 klogd -o -f ./krnl.msg 

Etapa 5
Após isso, será possível acessar o conteúdo do referido arquivo:

{title}

$config[ads_text6] not found$config[ads_text5] not found

5. sinais de Klogd no Linux


O comando Klogd pode responder a oito (8) sinais que são: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 e SIGCONT. Os sinais SIGINT, SIGKILL, SIGTERM e SIGHUP permitem que o daemon feche as fontes de log do kernel e conclua o processo corretamente enquanto os sinais SIGTSTP e SIGCONT são usados ​​para iniciar e parar o log do kernel.

Passo 1
Por exemplo, se queremos desmontar o sistema de arquivos / proc, devemos executar os seguintes comandos:

 # kill -TSTP pid # umount / proc # kill -CONT pid 

Etapa 2
Alguns arquivos para usar com o Klogd são:

  • / proc / kmsg: é o arquivo de origem das mensagens do klogd do kernel
  • /var/run/klogd.pid: é o arquivo que contém a identificação do processo do klogd
  • /boot/System.map, /System.map, /usr/src/linux/System.map: esses são os locais padrão para os mapas do sistema do kernel.

$config[ads_text6] not found

Como vemos, temos esses dois comandos úteis e essenciais para uma administração correta e completa dos eventos do kernel no Linux.

Artigos Relacionados RESOLVIDO - net :: err_internet_disconnected [ANDROID]