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.
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:
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:
Agora salve e feche. Vamos executar o script:
# ./syslog2mysql.sh &
# 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;
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;
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 &
#ERROR 1046 (3D000) at line 1: No database selected