Pular para o conteúdo

Servidor de log no Debian com Syslog-ng

Quando falamos de segurança, também devemos nos preocupar com nossos logs. É recomendado que todos os logs sejam guardados por anos, pois neles podemos obter informações válidas, porém estas são válidas também para os crackers. Neste artigo utilizaremos o syslog-ng com uma interface web para armazenar o log de todos os servidores em um único servidor centralizado.
Leonardo Damasceno leodamasceno
Hits: 73.674 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 2: Adaptando e configurando o banco MySQL

Vamos, editar o arquivo dbsetup.sql para então rodar ele no nosso banco MySQL. Ainda no diretório /var/www, acesse phpsyslog/scripts e abra o arquivo dbsetup.sql:

# vim dbsetup.sql

Agora procure pelas linhas:

# create users
INSERT INTO user (Host, User, Password) VALUES ('localhost','sysloguser', password('PW_HERE'));
INSERT INTO db (Host, Db, User) VALUES ('localhost','syslog','sysloguser');

INSERT INTO user (Host, User, Password) VALUES ('localhost','syslogfeeder', password('PW_HERE'));
INSERT INTO db (Host, Db, User) VALUES ('localhost','syslog','syslogfeeder');

INSERT INTO user (Host, User, Password) VALUES ('localhost','syslogadmin',password('PW_HERE'));
INSERT INTO db (Host, Db, User) VALUES ('localhost','syslog','syslogadmin');
COMMIT;
FLUSH PRIVILEGES;
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Modifique onde tem "PW_HERE" para o password que você definiu na instalação do MySQL. Salve e feche o arquivo, então digite:

# mysql -u root -p < dbsetup.sql

Digite seu password de root do MySQL. Vamos editar também o arquivo syslog2mysql.sh, que é um script que grava os logs (fazendo um redirecionamento) no MySQL (já que o syslog-ng não faz isso diretamente e precisa de uma ajuda desse script):

# vim syslog2mysql.sh

Edite a linha:

mysql -u syslogfeeder --password=PW_HERE syslog < /var/log/mysql.pipe >/dev/null

Trocando PW_HERE pelo password do usuário root do banco:

mysql -u syslogfeeder --password=SUA_SENHA syslog < /var/log/mysql.pipe >/dev/null

Agora salve e feche. Vamos executar o script:

# ./syslog2mysql.sh &

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Instalação dos requisitos
   2. Adaptando e configurando o banco MySQL
   3. Configurando o Apache2

Criando VPN com o PFSense

Desmistificando o GNU/Linux

Criando DMZ com o PFSense

Segurança em seu Linux

Instalando o WebHTB

Segurança da Informação no Brasil, qual é nossa realidade?

wpa_supplicant.conf - Configuração para WPA2-PSK

ProFTPD + ClamAV - FTP livre de vírus

Framework OSSIM - Open Source Security Information Management

Bloqueio de repetidas tentativas de login ao seu Linux

#1 Comentário enviado por silveriosr em 28/05/2010 - 10:29h
posto o arquivo dbsetup.sql, pois ao tentar executar ele dentro do meu mysql esta apresentand o seguinte erro

#ERROR 1046 (3D000) at line 1: No database selected
#2 Comentário enviado por jucaetico em 28/05/2010 - 11:24h
Amigo,

Consigo monitorar maquinas da familia Windows server com esse servidor de LOGs??

Obrigado!

Parabens pelo artigo.

Abraços
#3 Comentário enviado por brennoleto em 12/08/2010 - 05:46h
Amigo, sabe nos passar a configuração no cliente windows para enviar os logs remoto?
Abrasss!
#5 Comentário enviado por paulodeolindo em 11/01/2011 - 09:24h
Olá;
Sou iniciante no linux e não entendo muito de apache ou instalações por código fonte. Infelizmente, somente consigo executar os apt-get da vida.
Então, cheguei na parte deste tutorial, onde preciso restartar o apache e me retorna a seguinte mensagem:

#Restarting web server: apache2apache2: Coul not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName#

O que isso significa? Não arrisquei prosseguir daí. Podem me ajudar, por favor? Desde já, grato.
#6 Comentário enviado por leodamasceno em 13/01/2011 - 11:58h
Olá paulodeolindo,
Isso na verdade não é um erro, é apenas um aviso pois você não definiu o campo ServerName lá no arquivo de configuração do apache, ai ele utiliza 127.0.1.1 para tal. Faça o seguinte:

sudo vim /etc/apache2/httpd.conf

Agora, insira:

ServerName localhost

Salve e saia, depois dê um restart no Apache:

sudo /etc/init.d/apache2 restart
#7 Comentário enviado por paulodeolindo em 17/01/2011 - 09:17h
Obrigado Leonardo; consegui mesmo e a ferramenta já está em funcionamento; tenho uma dúvida, pois com essa ferramenta, estou praticamente iniciando minhas atividades Linux na empresa que estou trabalhando. Tenho uma pergunta: existe algum client para Servidores Windows para que estes também mandem os logs para nosso Servidor de Logs?
#9 Comentário enviado por paulodeolindo em 18/01/2011 - 09:25h
Obrigado mais uma vez Leonardo; poxa... já estou sendo chato, mas preciso de mais um bizu seu; toda vez que preciso reiniciar o servidor de logs (pois está em teste), ele coleta logs apenas no modo texto, mas os dados não são exibidos no mysql; achei que rodando o script "syslog2mysql.sh &" resolveria, mas algo está errado e não são exibidos os logs na interface gráfica; tem idéia do que pode estar ocorrendo?
Desde já, grato.
#10 Comentário enviado por dimago em 24/11/2011 - 20:16h
Fala leo e demais amigos do VOL

Como está esta solução de syslog-ng + web? está bacana? tudo certo? Estava pensando em implementar para ver qual eh..

Voces possuem algum screenshot?

Obrigado e abs
#11 Comentário enviado por fabintexas em 22/07/2013 - 23:36h
Iai Leo, blz?

Gostaria de sua ajuda, pois está dando erro ao executar o script do php-syslog-ng ----> mysql -u root -p < dbsetup.sql

Segue o erro:

ERROR 1064 (42000) at line 11: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 14


Como posso proceder nesse caso?

Obrigado !!!
#12 Comentário enviado por jsimas em 29/12/2014 - 23:06h
Boa noite, galera!

Estava seguindo o tutorial de vocês e está tudo dentro do que foi colocado no tutorial, mas ainda segue mostrando a mensagem abaixo:

A database connection problem was encountered.
Please check config/config.php to make sure everything is correct and make sure the MySQL server is up and running.
---

Já add a linha > AddType application/x-httpd-php .phtml .php <
Alterei as senhas do BD e do PHP;
Restartei serviços e até agora esse erro não sai. Alguém poderia por favor dá uma dica?

Contribuir com comentário

Entre na sua conta para comentar.