Registro de eventos com Syslogd e Klogd no Linux

As tarefas de administração no Linux são complexas em muitas situações devido à quantidade de processos, serviços e funções que são executados a cada segundo e para isso devemos adicionar logins, instalação de aplicativos e não esquecendo de todos os eventos que cada aplicativo registra na distribuição gerenciada . Felizmente para administradores e pessoal 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 propósito. Syslog e Klogd.

O log é como um log, onde são registrados eventos, erros, alterações e processos gerados pelas aplicações ou pelo sistema operacional para posteriormente poder ler este registro e determinar quais eventos ocorreram, principalmente no caso de erros ou vulnerabilidades. Os arquivos de log em um sistema Linux residem no diretório / var / log. O sistema de log do Linux é gerenciado por dois Daemons:

SYSLOGDGera os logs do sistema. O Syslogd é executado automaticamente quando você inicia um sistema Linux e é responsável por armazenar relatórios sobre o funcionamento do computador. Recebe mensagens das diferentes partes do sistema, kernel e aplicações, armazena-as em diferentes localizações, tanto locais como remotas, seguindo um critério definido no arquivo de configuração /etc/syslog.conf.

KLOGDGere os logs do kernel. klogd direciona as mensagens de log do kernel para o log do sistema. O usuário pode controlar a manipulação 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 Syslogd em logs do Linux


Vamos ver o que é e como usar o Syslogd

O que é SyslogdSyslogd (utilitários de registro do sistema Linux), é um comando que nos dá um tipo de registro que é usado por muitos programas modernos, graças ao Syslogd, cada mensagem registrada contém pelo menos uma vez e um campo de nome de host, tornando as tarefas de monitoramento muito mais simples e mais fácil de analisar.

O comando Syslogd possui um comportamento BSD padrão 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 log geralmente é especificado com entradas de regras. O seletor (facility.priority) e a ação são especificados 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 Syslog como rsyslog ou syslog-ng, portanto, se quisermos usar Syslogd, podemos instalá-lo com o seguinte comando:

 apt install inetutils-syslogd 

PROLONGAR

Passo 2
Lá devemos inserir a letra S para confirmar o download e a instalação do Syslogd. Uma vez instalado, podemos ir para seu arquivo de configuração que está localizado no seguinte caminho /etc/syslog.conf:

 nano /etc/syslog.conf 

PROLONGAR

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

 syslogd [-a socket] [-d] [-f arquivo de configuração] [-h] [-l lista de hosts] [-m intervalo] [-n] [-p socket] [-r] [-s list domain] [-S] [-v] [-x] 
Passo 4
Entre as opções disponíveis temos:

Especifique soquetes extrasEste argumento nos permite especificar os sockets adicionais que o Syslogd deve escutar, ele é usado no caso de algum daemon ser executado dentro de um ambiente chroot (). Será possível utilizar até 19 tomadas adicionais.

 - um soquete 

Ativar modo de depuraçãoeste 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çãoEste argumento especifica um arquivo de configuração alternativo em vez do arquivo /etc/syslog.conf padrão.

 -f arquivo de configuração 

Bloquear encaminhamento remoto de mensagensEste parâmetro impede que o Syslogd encaminhe mensagens que recebe de hosts remotos.

 -h

Defina o nome da redeGraças a este parâmetro, pode-se indicar um nome de host que deve ser registrado apenas com seu nome de host simples e não com o FQDN.

 -l hostlist (lista de hosts) 

Definir intervalo de tempoFazendo uso deste parâmetro, podemos especificar o intervalo de tempo a ser usado, por padrão o valor é 20 minutos.

 -m intervalo 

Evite executar SyslodgEste parâmetro impede que o Syslogd seja executado em segundo plano.

 -n

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

 -p socket

Permitir mensagens de redeEsta 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

Defina o nome do domínioEste parâmetro especifica um nome de domínio que deve ser removido antes de efetuar login.

 -s domainlist 

Habilitar registroAtive o registro detalhado,

 -S

Habilitar versão atualVeja a versão atual do Syslogd.

 -v 

PROLONGAR

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

PROLONGAR

2. Sinais em 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' 
Passo 2
Quando este sinal é executado, vários componentes como. Assim, Syslogd é uma solução prática para analisar eventos Linux.

SIGHUPEsta opção permite que o Syslogd execute um processo de reinicialização onde todos os arquivos abertos são fechados, o arquivo de configuração será lido novamente e a instalação do Syslog será reiniciada.

SIGTERMO serviço irá expirar.

SIGINT, SIGQUITSe a depuração estiver habilitada, eles serão ignorados, caso contrário, o Syslogd irá expirar.

SIGUSR1Habilite ou desabilite a depuração.

SIGCHLDAguarde as novas mensagens.

3. Configure o arquivo syslogd do Linux


O Syslogd usa uma sintaxe um pouco diferente em seu arquivo de configuração do que o arquivo-fonte original do BSD tradicional. A configuração do syslogd é feita por meio do arquivo /etc/syslogd.conf. Através deste arquivo é especificado para onde as diferentes mensagens devem ser encaminhadas. Você pode deixar linhas em branco ou comentar linhas inteiras com o caractere "#"

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 ele está rodando, a partir do terminal escrevemos o seguinte código
 grep syslog / etc / services 
Nos logs de serviço nesta linha, podemos ver que os logs "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 a todos os logs com o seguinte comando
 grep "Mensagem de teste" / var / log / * 
Neste caso, podemos ver que vários logs estão com permissões negadas, portanto, eles não podem ser gravados.

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 das mensagens (da prioridade mais baixa para a mais alta:

Registros de falhas, erros e avisos

 debug, info, note, warning, warn, err, error, crit, alert, emerg and panic 

Registros de tipo de mensagemVários tipos de registros de mensagens

 auth, authpriv, cron, daemon, kern, lpr, e-mail, 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 prioritárias (informações), aviso (notificação) ou aviso (aviso).
  • /var/log/kern.log: os logs do kernel, gerados pelo klogd, são armazenados aqui.
  • /var/log/auth.log: este log registra os logins no sistema, as vezes que fazemos su, etc. As tentativas malsucedidas são registradas em linhas com informações do tipo de chave inválido ou login inválido.
  • / var / log / dmesg: as informações geradas pelo kernel durante a inicialização do sistema são armazenadas neste arquivo.

Esses arquivos de log acumulam informações o tempo todo, então em algum momento podem ocupar muito espaço, para resolver esse problema podemos compactá-lo ou fazer backup se realmente for necessário. Algumas mudanças a serem lembradas são:

Uso de curingaÉ usado como um curinga para todas as prioridades e serviços acima, dependendo de seu uso (seja antes ou depois do caractere separador `. ').

 "*" (Asterisco) = 

Não marque prioridadeIndica que não há prioridade definida para o atendimento da linha selecionada.

 "": (Em branco, espaço, nulo) 

Escolha serviços diferentesPermite que você especifique vários serviços com o mesmo nível de prioridade na mesma linha.

 "," (comer) 

Controle diferentes mensagensPermite que você direcione mensagens de vários serviços e prioridades para o mesmo destinatário.

 ";" (ponto e vírgula) 

Escolha a prioridade da mensagemIsso nos dá a capacidade de armazenar apenas mensagens com a prioridade especificada exata.

 "=" (Igual) 

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

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

Em 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 desenhado para escolher a fonte de informação mais conveniente para a exibição da informação, para conseguir isso, em primeiro lugar, ele verifica a presença de um sistema de arquivos / proc que está montado, se existir, o / proc file / kmsg é usado como uma fonte de informações de log do kernel, caso o sistema de arquivos proc não seja montado, o Klogd fará uso de uma chamada de sistema para obter as mensagens do kernel. Caso as mensagens do kernel sejam redirecionadas através do daemon syslogd, o daemon Klogd, desde sua versão 1.1, é capaz de priorizar as mensagens do kernel, esta prioridade está em um intervalo em que a prioridade da mensagem do kernel é codificada como um único dígito numérico dentro de.

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

O Klogd tem um recurso chamado Resolução de Endereço do Kernel pelo qual, se o kernel detectar uma condição de erro interno, um protocolo de erro de proteção geral é ativado automaticamente. Isso faz parte do procedimento de tratamento do GPF, no qual o kernel imprime um relatório de status que indica o status do processador quando a falha é gerada, dentro deste resultado veremos detalhes como o conteúdo dos registros do microprocessador, o conteúdo do a pilha do kernel e um monitoramento das funções que estavam em execução antes do erro.

O processo de resolução dos endereços numéricos dos resultados da falha de proteção pode ser feito manualmente ou por meio do programa ksymoops que está incluído nas fontes do kernel. O comando Klogd suporta o problema de diagnosticar falhas de proteção nos módulos carregáveis ​​do kernel atuais.

Passo 1
Como o Syslogd, o Klog foi substituído nas distribuições atuais por comandos mais dinâmicos, portanto, para sua instalação, executaremos o seguinte. Lá, inserimos a letra S para confirmar o download e a instalação.

 apt install busybox-syslogd 

PROLONGAR

Passo 2
A sintaxe Klogd é a seguinte:

 klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ] 
etapa 3
Essas opções são:

Definir o nível de registroEste parâmetro define o nível de registro padrão para mensagens do console para n.

 -c n 

Modo de depuraçãoesta opção ativa o modo de depuração.

 -d 

Mensagens de logarquivo registra mensagens para o nome de arquivo especificado em vez da instalação do syslog.

 -F 

Identificar daemons em execuçãoidentifica 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 planoEvita que o Klogd seja executado em segundo plano.

 -n 

Leitura completa em buffers de mensagemEsta opção permite que o Klogd leia e grave todas as mensagens encontradas nos buffers de mensagem do kernel.

 -ou 

Forçar chamada de sistemaForça o comando Klogd a usar a interface de chamada do sistema para buffers de mensagem do kernel.

 -s 

Veja a versão do KlogdImprima a versão do Klogd.

 -v 

PROLONGAR

Passo 4
Se quisermos ler todos os eventos após o login, vamos executar o seguinte:

 klogd -o -f ./krnl.msg 
Etapa 5
Depois disso, será possível acessar o conteúdo do referido arquivo:

PROLONGAR

5. Sinais 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 desligue as fontes de log do kernel e finalize 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 quisermos desmontar o sistema de arquivos / proc, devemos executar os seguintes comandos:

 # kill -TSTP pid # umount / proc # kill -CONT pid
Passo 2
Alguns arquivos para usar com o Klogd são:

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

Como podemos ver, temos esses dois comandos úteis e essenciais para um gerenciamento correto e completo dos eventos do kernel no Linux.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave