- Snorby 1.1.3:
O snorby é um dos frontends utilizados para visualizar os alertas gerados pelo snort, ele também contém gráficos e estatisticas dos alertas coletados pelo snort. Possui uma interface bastante intuitiva e moderna. Conheça-o http://snorby.org/.
Particulamente gostei muito deste frontend, ele ainda esta em fase de desenvolvimento, mas já dar para utiliza-lo em produção. Veja o report bug do mesmo com a identificação de erros e suas devidas correções e ferramentas a serem implementadas: http://github.com/mephux/Snorby/issues.
O Snorby é desenvolvido utilizando a linguagem de programação ruby on rails para plataforma web. Outro ótimo frontend é o BASE(http://base.secureideas.net/) fork do antigo ACID ambos são desenvolvidos utilizando a ligaugem de programação php.
Vamos para a instalação:
- Programas/dependênias para instalação do Snorby(Instalaremos através do ports):
git-1.7.1 Distributed source code management tool
mysql-client-5.5.4 Multithreaded SQL database (client)
mysql-server-5.5.4 Multithreaded SQL database (server)
ruby18-gems-1.3.7 Package management framework for the Ruby language
ruby18-iconv-1.8.7.248,1 An iconv wrapper class for Ruby
- E através do gem(Gerenciador de pacote do ruby) instalaremos outros pacotes:
- prawn
- rake
- rails
- dbd-mysql
- mysql
- E finalmente através do git:
- Snorby
- Vamos a instalação dos programas e dependencias(No configure do make não marque as opções que aparecerão desmarcadas e deixe as que já estão marcadas):
Instalação do mysql:
# cd /usr/ports/databases/mysql55-server/ && make install clean
Instalação do git:
# cd /usr/ports/devel/git/ && make install clean
Instalação do ruby-gems:
# cd /usr/ports/devel/ruby-gems/ && make install clean
Instalação do ruby-iconv:
# cd /usr/ports/converters/ruby-iconv/ && make install clean
- Instalação dos pacotes através do gem:
# gem install prawn
# gem install rake
# gem install rails
# gem install dbd-mysql
# gem install mysql
Vamos instalar o aplicativo Snorby, instale o mesmo na pasta /usr/local/www então siga o passo a passo:
OBS.: O git utiliza uma porta especifica para realizar o download verifique o seu firewall.
# cd /usr/local/www/ && git clone git://github.com/mephux/Snorby.git
Pronto se tudo ocorreu sem problemas o servidor já se encontra com o snorby instalado, iremos para os pré-requisitos de seu funcionamento:
- Primeiro: Configure o seu snort com banco mysql.
- Segundo: O snorby terá um banco, criado automaticamente pelo rake setup(comando que veremos mais adiante);
- Terceiro : O mysql deve estar iniciado e com permissões de acesso para usuário e seu banco de dados snorby, pois, agora será utilizado somente um único banco que armazenará informações tanto do snort quanto do snorby.
- Quarto: O banco snorby/snort é criado automaticamente pelo rake setup(comando que veremos mais adiante) no localhost ou seja na máquina em que foi instalado o snorby. Não consegui descobri onde alterar essa config.
OBS.: Der permissão para o usuário do banco snorny, para o host localhost, exemplo:
na console do mysql:
GRANT ALL PRIVILEGES ON snorby.* TO snorby@'localhost' IDENTIFIED BY 'senhaDoBDSnorby' WITH GRANT OPTION;
- Após estes passos iremos configurar dois arquivos do Snorby que se encontram em /usr/local/www/Snorby/config, são eles o database.yml e email.yml;
# cp /usr/local/www/Snorby/config/database.yml.example /usr/local/www/Snorby/config/database.yml
# cp /usr/local/www/Snorby/config/email.yml.example /usr/local/www/Snorby/config/email.yml
- Configure os mesmos, o database.yml configura aonde será instalado o banco de dados do snorby e o email.yml confgs para enviar alertas para o email.
Vamos ao processo de confguração automatica do Snorby(Instale os requerimentos adicionais do gem, ele irá informa na console quais são os requerimentos, para carregar o Snorby)
ATENÇÂO: Nessa versão do snoby(1.1.3) a instalação automática só é executada com sucesso se for configurado no arquivo database.yml o BD como localhost e dada as devidas permissões para o usuário que você passa neste mesmo arquivo citado. Aqui onde trabalho configurei como localhost depois instalei o snprby e após instalação executei o script mysql do snorby em outro servidor mysql da minha rede e depois fiz os devidos apontamentos database.yml para o servidor mysql remoto da minha rede.
# cd /usr/local/www/Snorby && rake gems:install
# cd /usr/local/www/Snorby && rake snorby:setup RAILS_ENV=production
Se for a primeira instalação execute também:
# cd /usr/local/www/Snorby && rake snorby:update RAILS_ENV=production
# cd /usr/local/www/Snorby && rake snorby:reset RAILS_ENV=production # ALL DATA WILL BE LOST
Start Snorby:
# ruby18 script/server -e production -b 127.0.0.1 -p 80 -d
-b = bind address [Default: loopback]
-p = port number [Default: 3000]
-e = environment
-d = Run server as daemon
The default User Name and Password for Snorby:
User: snorby
Password: admin
FONTE:
http://github.com/mephux/Snorby
http://wiki.github.com/mephux/Snorby/snorby-recipe-with-barnyard2-unified2-and-apache-jjc
Fiz um script para colocar na inicialização do sistema operacional o snorby, como é FreeBSD este script deve ser colocado em /usr/local/etc/rc.d/:
#!/bin/sh
#
# $FreeBSD: snorby
#
# PROVIDE: snorby
# BY: Leonardo Couto Conrado
# IN: 11.06.2010
. /etc/rc.subr
name="snorby"
rcvar="`set_rcvar`"
load_rc_config $name
: ${snorby_enable="NO"}
: ${snorby_port_listen="80"}
: ${snorby_bind_addr="127.0.0.1"}
: ${snorby_environment="production"}
command="cd /usr/local/www/Snorby && /usr/local/bin/ruby18"
command_args="script/server -e ${snorby_environment} -b ${snorby_bind_addr} -p ${snorby_port_listen} -d"
procname="/usr/local/bin/ruby18"
pidfile="/var/run/${name}.pid"
run_rc_command "$1"
E no /etc/rc.conf colocamos as seguintes linhas:
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
# SNORBY
#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
snorby_enable="YES"
snorby_port_listen="80"
snorby_bind_addr="127.0.0.1"
snorby_environment="production"
Pronto agora já temos o snorby instalado e na inicialização do SO.