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
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
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
Etapa 5
Ao executar qualquer uma das opções disponíveis, podemos ver todas as tarefas executadas internamente:
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 / servicesNos 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 / messagesVamos 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$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, uucpOs 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.
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 foundNos ambientes Linux, temos duas fontes principais de informações de registro do kernel, como:
- O sistema de arquivos / proc
- A interface syscall (sys_syslog)
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
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 foundEsta 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
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:
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.
Como vemos, temos esses dois comandos úteis e essenciais para uma administração correta e completa dos eventos do kernel no Linux.
Artigo