Construindo um Log Server utilizando Linux, Unix e Windows

Neste artigo são apresentadas as ferramentas e as formas para se construir e gerenciar - de forma fácil e rápida - um logserver remoto para uma rede de computadores heterogênea.

[ Hits: 155.309 ]

Por: Rodrigo Pace de Barros em 29/11/2002


Configuração do Log Server



2 - Configuração do Log Server


Após a instalação do Sistema Operacional, os procedimentos para a instalação e configuração do software para a criação do log server devem ser tomadas. Neste caso, utilizaremos o syslog-ng.

2.1 - Instalando o syslog-ng no Log Server


A instalação do syslog-ng requer, além do próprio software, uma biblioteca denominada libol. Após efetuar o download de ambos, instale a libol acessando o seu diretório e utilizando o comando:

./configure && make && make install

Se você não quiser instalar a libol no sistema, a entrada:

--with-libol=/path/to/libol

deverá ser utilizada como parâmetro na execução do arquivo configure do syslog-ng.

Ao término da instalação da libol, o próximo passo será instalar o syslog-ng. Para tal, acesse o diretório syslog-ng-x.xx (de acordo com a versão utilizada), e execute os seguintes comandos:

./configure
make


Após a instalação, o binário do syslog-ng deverá ser encontrado no diretório src da instalação. Então, para finalizar a instalação, basta executar o comando:

make install

Assim, dá-se por terminada a instalação do log server.

2.2 - Arquivo de configuração syslog-ng.conf


O arquivo de configuração do log server deverá ser criado levando em consideração os hostnames dos hosts a serem monitorados na rede, bem como os seus IP's. A sintaxe deste arquivo de configuração é muito restrita. Logo, o arquivo syslog-ng.conf deverá ser configurado corretamente, sob pena do não funcionamento do software.

# Arquivo syslog-ng.conf

# SYSLOG-NG Configuration file
# by Pace 11/11/2002

options {dir_perm(0755); perm(0644); };

source net { udp(ip(0.0.0.0) port(514)); };

A entrada source é utilizada para definir onde o syslog-ng irá capturar os logs enviados pelos hosts via rede. Para Linux, deve-se definir /dev/log. Para Unix, /var/run/log.

# Logserver instalado em um Unix
source s_local { unix-dgram("/var/run/log"); internal(); };

# Logserver instalado em Linux
source net { unix-stream("/dev/log"); udp(ip(0.0.0.0) port(514)); };

A entrada destination define o arquivo para o qual as entradas dos registros de auditoria obtidas da rede serão armazenadas. Cada host pode ter uma entrada, porém, podem haver entradas para destinations comuns a vários logs.

# Destination para a geracao de arquivo
# de analise de logs em tempo real
# A forma de geração dos logs irá separar
# os dados obtidos pelo dia, mês e ano
# correntes, facilitando a sua
# localização
destination monitoracao.dst { file("/var/log/syslog-ng/Monitoracao/$YEAR-$MONTH/$DAY/Monitoracao.log" create_dirs(yes));};

destination solaris.dst { file("/var/log/syslog-ng/Solaris/$YEAR-$MONTH/$DAY/$HOST.log" create_dirs(yes));};

destination linux.dst { file("/var/log/syslog-ng/Linux/$YEAR-$MONTH/$DAY/$HOST.log" create_dirs(yes));};

destination windows.dst { file("/var/log/syslog-ng/Windows/$YEAR-$MONTH/$DAY/$HOST.log" create_dirs(yes)); };

A entrada filter define a forma pela qual os logs que são enviados para o log server serão diferenciados entre si. Esta diferenciação permite que estes logs sejam armazenados separadamente.
# Filtros a serem aplicados
# onde "host" deve corresponder à entrada
# existente no arquivo /etc/hosts

filter NT.ftr { host("NT_machine"); };
filter Solaris.ftr { host("Solaris_machine"); };
filter Linux.ftr { host("Linux_machine"); };
A entrada log define o relacionamento lógico entre as entradas definidas em source, destinations e filter. É desta relação que se define a política de registro e armazenamento de logs obtidos na rede ou no próprio sistema.

# Politicas de log para máquinas Solaris/Linux/Windows

log { source(net); filter(NT_machine.ftr); destination(windows.dst); };

log { source(net); filter(Linux_machine.ftr); destination(linux.dst); };

log { source(net); filter(Solaris_machine.ftr); destination(solaris.dst); };

# Arquivo: Monitoracao.log
log { source(net); filter(NT_machine.ftr); destination(monitoracao.dst); };
log { source(net); filter(Linux_machine.ftr); destination(monitoracao.dst); };
log { source(net); filter(Solaris_machine.ftr); destination(monitoracao.dst); };

# Arquivo /etc/hosts

192.168.0.1   logserver   loghost
192.168.0.2   NT_machine
192.168.0.3   Linux_machine
192.168.0.4   Solaris_machine

Desta forma, para o correto funcionamento do log server, os arquivos /etc/hosts e syslog-ng.conf devem estar em sincronia. Caso isto não ocorra, o log server não poderá resolver os nomes dos hosts que estão eviando os seus registros de auditoria.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação do Log Server
   3. Configuração do Log Server
   4. Configurando os hosts da rede
   5. Utilizando o swatch
   6. Créditos e informações adicionais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Bom escudo não teme espada: o módulo pam_cracklib

Servidor de logs em Debian Linux

Entenda o que é Hardening

Diminua os vetores de exploração, conheça o DOAS

Desvendando código malicioso no fórum Viva o Linux

  
Comentários
[1] Comentário enviado por agk em 06/07/2004 - 14:10h

Nossa, parabéns gostei muito desse artigo, apesar de já estar aqui a bastante tempo tive a oportunidade de ler ele apenas agora, muito bom, parabéns. Vou ver se consigo colocar ele em prática.

[2] Comentário enviado por uiliangurjon em 23/08/2006 - 22:51h

Excelente artigo!!!, vou testar o procedimentos do artigo!!!

[3] Comentário enviado por fliperbr em 19/03/2007 - 12:28h

Galera caso os outros servidores linux usem syslog-ng ao invez de syslog e você queira q eles enviem o log ao seu servidor de log o parametro é:


destination loghost {
tcp("ipservidor" port(514));
};

log {
source(src);
destination(loghost);
};

[4] Comentário enviado por removido em 18/04/2007 - 10:41h

Beleza! Só que ao executar o ./configure no diretório do syslog-ng, apareceu o seguinte erro:

checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking for EVTLOG... configure: error: Package requirements (eventlog) were not met:

No package 'eventlog' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables EVTLOG_CFLAGS
and EVTLOG_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

dti-0319:/usr/src/syslog-ng-2.0rc4#

Já procurei pelo pacote event log ou evt log e não consegui achar nada, alguém poderia me ajudar?
Muito obrigado.

[5] Comentário enviado por hugoalvarez em 26/11/2007 - 17:40h

Acho que posso dizer que não funciona, talvez só na máquina do autor porque os filtros citados nem foram definidos,


log { source(net); filter(Linux_machine.ftr); destination(monitoracao.dst); };

como ele usa o filter (Linux_machine.ftr) se esse filtro não foi definido em filters logo acima?

O filtro definido foi Linux.ftr que aponta para a linux_machine que está cadastrada no /etc/hosts

Até mais.

[6] Comentário enviado por backfly em 17/01/2008 - 21:41h

Galera,

Meu no meu servidor estado tudo OK, nao aparece erro ao inicializar o syslog-ng porem ele nao cria os diretorios nem os logs como foi configurado.

Alguem pode me ajudar, desde já agradeço.

[7] Comentário enviado por epgielow em 12/03/2008 - 17:44h

Otimo tutorial!
estou pensando em construir um log server aqui onde trabalho, mas estou estudando em fazer algo um pouco diferente, e provavelmente por um mysql tb para tentar fazer algum tipo de mineracao de dados mais hardcore, mas ainda estou pensando ...


[8] Comentário enviado por epgielow em 12/03/2008 - 17:44h

+ com certeza o syslog-ng vai ta no meio da solucao e esse tutorial aqui vai ajudar um bocado! :)

[9] Comentário enviado por rafaelalmeida em 11/04/2008 - 01:15h

?comentario=respondendo a pergunta do espinola eis o pacote: wget http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/eventlog-0.2.7.tar.gzote:


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts