1
FACULDADE PORTO
RSYSLOG – SERVIDOR DE LOGS
CENTRALIZADOS PRA SUA INFRAESTRUTURA
Alunos: Cláudio Castlelo / Alexandre Sousa / Charles Vasconcelos / Marlon Araujo / Marcelo
Rech / Sérgio Brito/ João Aguiar / Danilo Bolelho / Marco Hey / Leandro Rosa / Edney
Pós-graduação em redes de computadores e segurança de sistemas
Professor: Marco Yerco
2
INTRODUÇÃO
O objetivo é construir um servidor central de LOG para que todos os demais
servidores e ativos com suporte a Syslog Remoto escreva os logs no servidor
central, facilitando assim o gerenciamento das atividades em todos os servidores em
um único ponto.
Também para facilitar a visualização, encontramos um visualizador Software
Livre LogAnalyzer que funciona através da web e tem possibilidade de atualizar a
cada 5 segundos em sua tela e acreditamos que com a disponibilidade de uma TV
com entrada HDMI/VGA tornaria melhor a visualização.
No caso de não de falha visual, contamos com o Auxílio de outro sistema
chamado LogCheck que é de simples instalação e seu objetivo é vasculhar o log por
determinada palavras chaves como: erro, falha, acesso, etc. E envie por e-mail a
linha que contém determinada palavra, podendo ser um erro.
3
DESENVOLVIMENTO
1. Instalação das dependências e rsyslog
Primeiramente com o sistema operacional instalado no Log Server ([Link]),
vamos instalar as dependências.
rsyslog:~# apt-get update
rsyslog:~# apt-get upgrade
rsyslog:~# apt-get install rsyslog rsyslog-mysql unzip zip binutils cpp fetchmail flex
gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libpcre3 libpopt-dev lynx m4
make ncftp nmap openssl perl perl-modules zlib1g-dev autoconf automake1.9 libtool
bison autotools-dev g++ mysql-server mysql-client libmysqlclient15-dev apache2
apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libdb4.6-dev
libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn
php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache
php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp
php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Feito isso, verifique os serviços instalados se estão rodando, como Apache e MySql
(80 & 3306).
Já o RSYSLOG ainda não está ouvindo a porta 514 TCP/IP, pois precisamos
configurar.
rsyslog:~# netstat -tapn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 [Link]:3306 [Link]:* LISTEN 415/mysqld
tcp 0 0 [Link]:80 [Link]:* LISTEN 581/apache2
2. Configurações
Agora vamos criar a base de dados no MYSQL
rsyslog:~# mysqladmin -u root -p create rsyslog
Criada a base, vamos criar o usuário e atribuir privilégio na base de dados
rsyslog:~# mysql -u root -p
> GRANT SELECT, INSERT, UPDATE, DELETE ON rsyslog.* TO
‘rsyslog’@'localhost’ IDENTIFIED BY
‘ENTER-YOUR-NEW-RSYSLOG-PASSWORD-HERE’;
4
> FLUSH PRIVILEGES;
> quit
Com a base preparada, agora é só configurar o Rsyslog para ouvir na 514 e gravar
no banco de dados.
rsyslog:~# vi /etc/[Link]
Adicione as seguintes linhas … (Atente em alterar sua senha para que informou na
criação da base de dados.)
$ModLoad MySQL
*.* >[Link],rsyslog,rsyslog,SENHA
… e remova os comentário das linhas de TCP Reception.
# /etc/[Link] Configuration file for rsyslog v3.
#
# For more information see
# /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
$ModLoad MySQL
*.* >[Link],rsyslog,rsyslog,SENHA
#################
#### MODULES ####
#################
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
#$ModLoad immark # provides
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
###########################
#### GLOBAL DIRECTIVES ####
###########################
Salve e reinicie o rsyslog
rsyslog:~# /etc/init.d/rsyslog restart
Verifique se agora a porta 514 está escutando.
rsyslog:~# netstat -tapn
5
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 [Link]:514 [Link]:* LISTEN 618/rsyslogd
tcp 0 0 [Link]:3306 [Link]:* LISTEN 415/mysqld
tcp 0 0 [Link]:80 [Link]:* LISTEN 581/apache2
O Servidor de log já está pronto para receber log dos demais ativos.
3. Visualizador Web LogAnalyzer
Agora para visualizar, fazemos o download do LogAnalyzer e configuramos o
Apache Web Server.
Rsyslog:~# cd /tmp
rsyslog:~# wget [Link]
rsyslog:~# tar xvzf [Link]
rsyslog:~# mv loganalyzer-3.4.1/ /var/www/
rsyslog:~# cd /var/www
rsyslog:~# chown www-data:www-data * . -Rf
rsyslog:~# mv loganalyzer-3.4.1/ loganalyzer
rsyslog:~# cd contrib/
rsyslog:~# cp * ./../src/
rsyslog:~# cd ./../src/
rsyslog:~# sh ./[Link]
Agora vamos acessar via web para finalizar a instalação no banco de dados.
[Link]
4. Configuração do Cliente no Linux
Agora com o Servidor de Log 100%, vamos configurar nos Clientes Rsyslog que já
vem instalado no Linux, adicionando no começo do arquivo /etc/[Link] a linha:
*.* @@[Link]
6
5. Instalação e configuração do cliente no Windows
Para a configuração de um cliente Windows que irá conectar-se no servidor
centralizado, o software cliente Rsyslog deverá ser baixado na seguinte URL:
• [Link]
Depois de baixado na maquina Windows, iniciaremos executando o arquivo
[Link].
A instalação é normal de Windows (next, next, finish). Após terminado esta
instalação, no menu iniciar terá o Rsyslog Windows Agent Configuration.
Clique nele para que a tela abaixo seja apresentada.
7
Nesta tela começaremos criando uma regra onde vamos definir um novo conjunto de
regras. Clique com o botão direito do mouse em cima de Rules. Um menu pop-up irá
aparecer.
A partir deste menu, selecione: Add rules
8
Digite um nome para as regras que estaremos criando na tag: Name of RuleSet
Selecione apenas: Forward Syslog
Além disso, deixe a opção marcada: create a Rule for each of the following action
Clique em "Next". Você verá uma página de confirmação. Clique em "Concluir" para
criar o conjunto de regras.
9
A nova Rule Set com o nome digitado está aparecendo. Clique no simbolo para
expandi-lo na árvore até que o nível de ação do "Foward Syslog" apareça.
Clique nela para aparecer as configurações, conforme figura abaixo:
Configure o "Forward Syslog" inserindo o IP do seu Servidor Central Rsyslog
10
alterando a porta para a que foi configurada no servidor, sabendo que a porta padrão
é a "514".
Você também pode alterar o tipo de protocolo TCP, de acordo com o configurado
com no seu servidor.
ATENÇÃO: O Rsyslog agente do Windows e seu servidor Rsyslog devem usar a
mesma porta e o mesmo protocolo. Altere o "Message Format", clicando no menu
suspenso para escolher: Use CEE enhanced Syslog Format
Agora clique em "Save". Esta primeira parte está pronta. Agora configuraremos a
parte do EventLog Monitor Service. Iniciaremos clicando com o botão direito do
mouse em:
1. Services
2. Selecione: Add Services
3. Depois: Event Log Monitor V2
11
Novamente você precisará digitar um nome ou deixar o padrão. Deixe o campo "Use
default settings" selecionada e clique em "Finish".
12
Verá que tem um serviço recém-criado sob os "services" como parte da exibição de
árvore. Para verificar seus parâmetros, clique em cima dele:
Como você pode ver, o serviço verifica automaticamente todos os EventLogs
presentes no Windows. Agora você pode selecionar ou desativar determinados
registros ou alterar algumas de suas propriedades.
Notamos que o conjunto de regras "Syslog Forward" foi automaticamente atribuído
como o conjunto de regras para ser usadas. Agora basta inciar o serviço e começar
a monitorar através do servidor centralizado.
Com esta configuração, o cliente do Windows está pronto e, possivelmente,
inserindo os logs no servidor centralizado.
Faça o mesmo nos demais ativos que possuem suporte ao Rsyslog e reinicie os
serviços após alteração.
Feito tudo isso, agora é acompanhar as atividades de todos os servidores na rede
via web: [Link]
13
REFERENCIAS BIBLIOGRÁFICAS
25/08/2014 – [Link]/