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.
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));};
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
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
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.
[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.
[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.
[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 ...