Como enviar logs Linux para um servidor remoto

Como enviar logs Linux para um servidor remoto
Este tutorial do Linux explica como enviar logs do Linux para um servidor remoto.

Depois de ler este tutorial, você saberá como configurar o servidor Linux e o cliente para enviar logs remotamente. Você também aprenderá a abrir as portas necessárias em seu sistema usando o UFW (firewall não complicado).

Este breve tutorial é otimizado para usuários que procuram uma fonte de conhecimento rápida e uma implementação rápida.

Todas as instruções descritas neste documento incluem capturas de tela que aliviam usuários inexperientes para segui -los.

Vantagens de enviar logs Linux para um servidor remoto

O principal motivo para implementar o registro remoto é o mesmo, porque um dedicado /var A partição é recomendada: uma questão de espaço, mas não apenas. Ao enviar logs para um dispositivo de armazenamento remoto, você pode garantir o acesso a eles mesmo antes de um sistema falhar e manter um grande banco de dados histórico de bugs. Esta implementação também nos permite centralizar relatórios para mais de um dispositivo.

Introdução ao Linux Remote Logging

O programa usado para enviar logs remotamente neste tutorial é rsyslog, que está incluído por padrão em muitas distribuições Linux, incluindo Debian e Ubuntu Linux.

Para verificar se o RSYSLOG está instalado em seu sistema e seu status, execute o comando mostrado na captura de tela a seguir:

SUDO SERVIÇO RSYSLOG Status

Como você pode ver, o status é ativo na captura de tela a seguir.

Observação: Se rsyslog não está instalado em seu sistema, você pode usar seu gerenciador de pacotes para obtê -lo. (E.g., sudo apt install rsyslog)

Se rsyslog Não está ativo, você pode iniciá -lo executando o seguinte comando:

SUDO SERVIÇO RSYSLOG START

Você também pode iniciar o RSYSLOG executando o seguinte comando:

Observação: Para obter informações adicionais sobre como gerenciar serviços Debian/Ubuntu, Leia Stop, Start e Reinicie os Serviços no Debian.

SUDO SYSTEMCTL START RSYSLOG

O rsyslog A ferramenta requer configuração nos dispositivos de envio (cliente) e recebimento (servidor). A próxima seção deste tutorial explica como configurar o lado do servidor. Aqui estão as instruções para configurar o cliente.

Como enviar logs Linux para um servidor remoto: o lado do servidor

Devemos configurar o servidor e o cliente para enviar logs remotamente. Esta seção fornecerá instruções para a configuração do lado do servidor para continuar configurando o cliente.

O rsyslog O arquivo de configuração é /etc/rsyslog.conf. Você pode editar este arquivo usando qualquer editor de texto como Nano ou vi.

Para este tutorial, estou usando Nano. Abra o arquivo, conforme mostrado na captura de tela a seguir:

sudo nano /etc /rsyslog.conf

Ao enviar logs remotamente, os dispositivos locais e remotos escreverão o mesmo arquivo. Assim, faria ler uma tarefa desconfortável. Para evitar isso e obter logs separadamente, adicione o seguinte código ao /etc/rsyslog arquivo, conforme mostrado na imagem a seguir:

$ Remotelogs de modelo ”/var/log/%hostName%/remotelog.registro"
*.* ?Remotelogs
& ~

Role o arquivo e o descomamento das seguintes linhas removendo o sinal de número (#) no início de cada linha:

Módulo (load = "imudp")
input (type = "imudp" porta = "514")

Além disso, descomamento o seguinte:

módulo (load = "imtcp")
entrada (tipo = "imtcp" porta = "514")

As quatro linhas devem ser como mostrado na captura de tela anterior para permitir o log nos protocolos TCP e UDP.

Depois de terminar de editar o arquivo, pressione Ctrl+x e então Y Para economizar alterações se você usar Nano.

Depois de editar e salvar o /etc/rsyslog.conf Arquivo, precisamos atualizar as regras do firewall para permitir o tráfego através da porta 514 definida por padrão no arquivo de configuração.

Para editar as regras do firewall neste tutorial, eu uso o UFW (Firewall não complicado).

Para abrir a porta 514 para o protocolo TCP, execute o comando mostrado na imagem a seguir:

sudo ufw permitir 514/tcp

Para terminar, abra a porta UDP 514 executando o seguinte comando:

ufw permitir 514/udp

Agora, a configuração do seu servidor está pronta para obter logs remotos. Reinicie o serviço RSYSLog executando o seguinte comando:

SUDO Service RsysLog Reiniciar

Quando o servidor estiver pronto, vamos continuar com a configuração do cliente.

Como enviar logs Linux para um servidor remoto: o lado do cliente

Esta seção do tutorial explica como configurar o cliente Linux para enviar logs para o servidor remoto. As etapas a seguir descritas devem ser feitas no dispositivo cliente.

No cliente, o arquivo de configuração que precisamos editar é /etc/rsyslog.conf.

Execute o comando mostrado na imagem a seguir no dispositivo cliente:

sudo nano /etc /rsyslog.conf

Dentro deste arquivo, precisamos adicionar uma linha com a seguinte sintaxe:

*.* @@:

No meu caso, o IP do servidor é 192.168.0.103. Portanto, adicionarei a seguinte linha, como você pode ver na captura de tela a seguir:

Observação: Use apenas um símbolo AT (@) se estiver usando apenas o protocolo UDP.

*.* @@ 192.168.0.103: 514

Depois de editar o arquivo, pressione Ctrl+x e então Y para salvar alterações.

Agora, reinicie o rsyslog para aplicar alterações executando o comando, como mostrado abaixo:

SUDO Service RsysLog Reiniciar

Terminamos a configuração do cliente e prontos para ler os logs remotos no servidor.

Lendo logs do Linux no servidor

Depois de seguir as etapas anteriores, os dois sistemas estão prontos para enviar e receber toras.

Os logs do Linux são armazenados sob o /var/log diretório. Ao usar rsyslog Por padrão, logs locais e remotos são escritos no mesmo arquivo de log, o que é desconfortável de ler. Mas, quando editamos o servidor /etc/rsyslog.conf Arquivo no servidor, instruímos o RSYSLog a armazenar logs em diferentes diretórios e arquivos.

De acordo com nossa configuração, os registros remotos serão armazenados em um diretório com o nome do host remoto em /var/log. No meu caso, o host remoto é nomeado Linuxhint2; Portanto, para ver logs remotos, preciso ver os arquivos em /var/log/linuxhint2, onde Linuxhint2 é o nome do host remoto, você precisa substituí -lo pelo seu nome de host cliente.

Como você pode ver na captura de tela a seguir, em /var/log, Existem dois diretórios para cada dispositivo: dispositivos locais (Linuxhint) e remoto (Linuxhint2).

ls /var /log

Portanto, para ver o log dentro do diretório remoto, eu execute o seguinte comando, onde você precisa substituir Linuxhint2 com seu nome de host remoto:

sudo ls/var/log/linuxhint2

Como você pode ver na imagem anterior, há um arquivo chamado Remotelog.log, o nome do arquivo definimos quando editamos o servidor /etc/rsyslog.conf arquivo.

Para ler o log, você pode usar o menos comando no exemplo a seguir:

sudo menos/var/log/linuxhint2/remotelog.registro

Como você pode ver, o registro remoto funciona corretamente.

Agora, o registro remoto está pronto.

Leia a página Man para saber mais sobre o RSYSLog e seus recursos adicionais, incluindo segurança, multi-threading, MySQL, Oracle, PostgreSQL e outra integração de banco de dados, filtragem de mensagens, configuração de saída e muito mais em https: // Linux.morrer.net/man/5/rsyslog.conf.

Alternativas rsyslog

O mercado oferece alternativas adicionais ao RSYSLog com recursos adicionais, alguns dos quais estão listados abaixo:

  • Nxlog: O NXLOG é uma alternativa rsyslog que suporta sistemas operacionais GNU/Linux e Windows. É de código aberto e oferece edições comunitárias e corporativas. Possui recursos adicionais para coletar informações sobre comportamento malicioso. Ele também suporta logs de eventos de filtragem e encaminhamento de logs.
  • syslog-ng: Syslog-ng OSE é outra alternativa ao RSYSLOG, que suporta Linux, Microsoft Windows, FreeBSD, Mac OS X, Solaris, Aix, etc. Como o NXLog, oferece edições corporativas e comunitárias.
  • Logzilla: Esta é outra opção de registro, gratuita para usuários e laboratórios domésticos, mas paga por usuários comerciais. De acordo com o site, ele pode reduzir os custos de recursos e acionar automaticamente informações acionáveis ​​com base nos dados coletados.

Existem muitas outras alternativas que você pode explorar, mas o RSYSLOG continua sendo o mais popular entre os usuários do Linux e Unix.

Conclusão

Como você pode ver, configurar e implementar o log de Linux remoto é um processo fácil que qualquer usuário do Linux pode fazer independentemente de seu nível de conhecimento. O registro remoto é uma ótima solução para problemas, como disco completo devido a um grande número de toras, conforme indicado neste artigo. É uma excelente possibilidade para servidores de produção garantir o acesso a informações críticas antes dos incidentes. O RSYSLOG é de código aberto e gratuito, e é o software de log mais remoto suportado pela comunidade Linux. Este tutorial focou no Linux, mas o RSYSLOG apresenta um agente do Windows, permitindo que sysadmins e usuários compartilhem logs entre o Microsoft Windows e os sistemas operacionais Linux.

Obrigado por ler este tutorial e esperamos que tenha sido útil para você. Continue lendo Linuxhint para mais tutoriais profissionais.