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