SAMSB - Snort + Apache2 + MySQL + Snorby e BarnYard2 no Debian

Tutorial para instalação do sistema de detecção de intrusão na rede Snort logando no banco de dados MySQL através do BarnYard2 e visualizando os logs e gráficos gerenciais pelo Snorby, rodando no servidor Web Apache2, tudo isso dentro do Debian.

[ Hits: 37.200 ]

Por: Luiz Cezar em 11/08/2011


Instalando o MySQL, Snort e o BarnYard2



Instalando o MySQL

No terminal:

# apt-get install mysql-server-5.1 mysql-client libmysqlclient12-dev

Durante a instalação será pedido a senha para o usuário root do MySQL, mas se houver algum problema configure a senha do root do MySQL com o comando:

# mysqladmin -u root password senharootdomysql

Vamos criar o banco de dados e o usuário para acessá-lo:

# mysql -u root -p

Já no shell do MySQL:

mysql> CREATE DATABASE snort;
mysql> GRANT all privileges ON snort.* TO snort@localhost IDENTIFIED BY 'senha_snort_mysql';
mysql> QUIT

Instalando o SNORT

No terminal:

# apt-get install snort-mysql snort-rules-default

Criando as tabelas para o Snort:

# zcat /usr/share/doc/snort-mysql/create_mysql.gz | mysql -u snort -h localhost -p snort

Agora vamos configurar o Snort editando o arquivo /etc/snort/snort.debian.conf.

Primeiro, configure a rede interna no parâmetro já existente:

DEBIAN_SNORT_HOME_NET="127.0.0.0/16,192.168.0.0/24"

Interface usada:

DEBIAN_SNORT_INTERFACE="eth0"

Vamos dizer para o Snort usar o banco de dados do MySQL. Edite o arquivo /etc/snort/database.conf e coloque:

output database: log, mysql, user=snort password=snort_pwd dbname=snort host=localhost

Reinicie o Snort e pronto, já está funcionando e registrando no MySQL:

# /etc/init.d/snort restart

Instalando o BarnYard2

Baixe o BanrYard2 e instale:

# tar xvf barnyard2-1.8.tar.gz
# cd barnyard2-1.8
# ./configure --with-mysql
# make
# make install
# cd etc
# cp barnyard2.conf /etc/snort


Vamos configurar o arquivo /etc/snort/snort.conf. Comente com "#" a linha que diz respeito ao MySQL:

#output database: log, mysql, user=snort password=senha_snort_mysql dbname=snort host=localhost

Adicione a linha:

output unified2: filename snort.out, limit 128

Agora vamos editar o arquivo /etc/snort/barnyard2.conf:

config daemon
config hostname: localhost
config interface: eth0
config logdir: /var/log/barnyard2/
config waldo_file: /var/barnyard2/waldo

Acrescente a linha:

output database: log, mysql, user=snort password=senha_snort_mysql dbname=snort host=localhost

Vamos criar as pastas para o uso do BarnYard2:

# mkdir /var/log/barnyard2
# mkdir /var/barnyard2


Reiniciar o Snort:

# /etc/init.d/snort restart

Iniciando o BarnYard2:

# cd /etc/snort
# barnyard2 -d /var/log/snort -f snort.out


*** Os comandos acima para inicialização do BarnYard2 deverão ser executados sempre na inicialização do sistema, sugiro colocá-los no /etc/rc.local.

    Próxima página

Páginas do artigo
   1. Instalando o MySQL, Snort e o BarnYard2
   2. Instalando o Apache2, Snorby
   3. Editando o Apache2
   4. Iniciando tudo
Outros artigos deste autor

icinga no Ubuntu 13.10 - Instalação e configuração

Leitura recomendada

Integrando ModSecurity ao NGINX e Apache

Utilizando SSH com método de autenticação publickey + ssh-agend + ssh-add

Servidor de DNS com DNS reverso, DHCP3 e wpad.dat

MSN-Proxy no Debian Etch

Reforçando a segurança das conexões HTTPS no Apache

  
Comentários
[1] Comentário enviado por blade_ander em 12/08/2011 - 11:35h

Excelente artigo!

Gostaria somente de deixar algumas dificuldades que tive:

- Problemas com módulo dm-active_model.
Informação: dm-active somente roda na versão maior que a informada.
Solucão: gem update --system

- Problemas no rank: undefined method `symbolize_keys' for nil:NilClass
Informação: Problemas de espaço na edição dos arquivos .yml. Verifique os espaços comparando com o original.

- Problemas no rank: uninitialized constant Rake::DSL
Informação: Necessário atualizar o RANK
Solução: gem install rank

- Problema ao executar o comando: ruby script/delayed_job -e production

Erro:
DataObjects::URI.new with arguments is deprecated, use a Hash of URI components (/usr/local/lib/ruby/gems/1.9.1/gems/dm-do-adapter-1.1.0/lib/dm-do-adapter/adapter.rb:231:in `new')
ERROR: no command given

Informação: Houve alteração do comando na nova versão.

Solução: Roda comando: ruby script/delayed_job start production


Espero que tenha ajudado.

Abs,
Anderson.



[2] Comentário enviado por imasters em 15/08/2011 - 11:53h

Oi Anderson, tudo bom?
Sou editora do iMasters, um dos nossos desenvolvedores indicou esse seu artigo. Temos interesse em republica-lo no iMasters, o que você acha? Por favor, me responda no rina.noronha@imasters.com.br

[3] Comentário enviado por volcom em 18/08/2011 - 15:15h

Cara,

Estava tudo indo tranquilo...e creio que iria até o final se não fosse o seguinte problema:

checking for pfring_open in -lpcap... no

ERROR! Libpcap library/headers (libpcap.a (or .so)/pcap.h)
not found, go get it from http://www.tcpdump.org
or use the --with-libpcap-* options, if you have it installed
in unusual place. Also check if your libpcap depends on another
shared library that may be installed in an unusual place


Instalei várias versões e tentei soluções em forums, mas na maioria baseadas em distribuições RPM...

tem alguma dica por favor?

Tks

[4] Comentário enviado por infosegura em 18/08/2011 - 15:27h

volcom, instala o libpcap-dev e veja se funciona!

[5] Comentário enviado por volcom em 18/08/2011 - 15:38h

Coisa linda!

Deu certo hehehe

Tks!

[6] Comentário enviado por fajo em 27/06/2012 - 11:11h

Amigo, estou seguindo seu tutorial a risca, mas ao chegar no comando "rake snorby:setup RAILS_ENV=production" tenho um erro:
rake aborted!
undefined method `symbolize_keys' for nil:NilClass

com --trace:
rake aborted!
undefined method `symbolize_keys' for nil:NilClass
/var/www/snorby/config/application.rb:31:in `<module:Snorby>'
/var/www/snorby/config/application.rb:13:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/var/www/snorby/Rakefile:4:in `<top (required)>'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/bin/rake:32:in `<top (required)>'
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19:in `<main>'

vc poderia me informar qual o problema?
uso o Debian Squeeze.

Grato.

[7] Comentário enviado por euriam em 17/08/2012 - 13:00h

Prezado,

Estou necessitando da sua ajuda:
Na parte final da instalação e ocorre a seguinte mensagem:

/var/www/snorby# bundle install

Fetching gem metadata from http://rubygems.org/.....">http://rubygems.org/......
Fetching gem metadata from http://rubygems.org/..
Updating http://github.com/Snorby/delayed_job_data_mapper.git

error: The requested URL returned error: 403

fatal: Could not parse object '6f1c4a8c3ad62e4ef6baafec9a2a9914d0643085'.

Git error: command `git reset --hard 6f1c4a8c3ad62e4ef6baafec9a2a9914d0643085` in directory /var/www/snorby/vendor/bundle/ruby/1.9.1/bundler/gems/delayed_job_data_mapper-6f1c4a8c3ad6 has failed.

If this error persists you could try removing the cache directory '/var/www/snorby/vendor/bundle/ruby/1.9.1/cache/bundler/git/delayed_job_data_mapper-431f00851d1c0120050c4c484e6372165f307abc'


Parabéns pelo artigo!

[8] Comentário enviado por RRafael em 11/04/2017 - 14:17h


[6] Comentário enviado por fajo em 27/06/2012 - 11:11h

Amigo, estou seguindo seu tutorial a risca, mas ao chegar no comando "rake snorby:setup RAILS_ENV=production" tenho um erro:
rake aborted!
undefined method `symbolize_keys' for nil:NilClass

com --trace:
rake aborted!
undefined method `symbolize_keys' for nil:NilClass
/var/www/snorby/config/application.rb:31:in `&lt;module:Snorby&gt;'
/var/www/snorby/config/application.rb:13:in `&lt;top (required)&gt;'
&lt;internal:lib/rubygems/custom_require&gt;:29:in `require'
&lt;internal:lib/rubygems/custom_require&gt;:29:in `require'
/var/www/snorby/Rakefile:4:in `&lt;top (required)&gt;'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/usr/local/lib/ruby/gems/1.9.1/gems/rake-0.9.2/bin/rake:32:in `&lt;top (required)&gt;'
/usr/local/bin/rake:19:in `load'
/usr/local/bin/rake:19:in `&lt;main&gt;'

vc poderia me informar qual o problema?
uso o Debian Squeeze.

Grato.


Esse problema acontece por que os dois arquivos criados "snorby_config" e ou "database.yml" esta incorreto !!
Para resolver você pode ;

git clone git://github.com/Snorby/snorby.git
sudo cp -r snorby/ /var/www
cd /var/www/snorby/
bundle install

cp /var/www/snorby/config/database.yml.example /var/www/snorby/config/database.yml
vim /var/www/snorby/config/database.yml
colocar a senha root do mysql
cp /var/www/snorby/config/snorby_config.yml.example /var/www/snorby/config/snorby_config.yml
sed -i s/"\/usr\/local\/bin\/wkhtmltopdf"/"\/usr\/bin\/wkhtmltopdf"/g /var/www/snorby/config/snorby_config.yml

sudo bundle exec rake snorby:setup

E pronto !! Ele vai instalar !!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts