Download - instalação do snort
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 1/15
Segurança - Instalando o Snort IDS no Linux postado por nightnux - comentários 0 - enviar !
O SNORT é uma ferramenta NIDS desenvolvida por Martin Roesch, bastante popular por suaflexibilidade nas configurações de regras e constante atualização. O Guardian funciona em conjuntocom o Snort, ele atualiza automaticamente as regras de vários firewalls ( ipfw, iptables, etc ) com
base nos alertas gerados pelo Snort. O trabalho conjunto do Snort e do Guardian torna possível ações reativas em caso de intrusão e prevenção de ataques futuros. Instalação
Pacotes básicos ===============
sudo apt-get install apache2 mysql-server php5 php5-mysql libmysqlclient12-dev php5-gd php-pearphp-image-canvas php-image-graph libpcap0.8 libpcap0.8-dev libpcre3 libpcre3-dev
Crie um diretório para temp
mkdir ~/temp
Baixe o ADODB
cd ~/temp
wget http://ufpr.dl.sourceforge.net/sourceforge/adodb/adodb493a.tgz
Baixe o Base
wget http://ufpr.dl.sourceforge.net/sourceforge/secureideas/base-1.2.7.tar.gz
Baixe o Snort
wget http://www.snort.org/dl/current/snort-2.6.1.2.tar.gz
Baixe o PCRE
wget http://ufpr.dl.sourceforge.net/sourceforge/pcre/pcre-7.0.tar.gz
Crie um arquivo index.php
sudo vi /var/www/index.php
<?phpphpinfo();?>
Teste funcionamento do Apache acesso o servidor digitando http://localhost<BR< a>/>na barra deendereços do navegador. Compilar e Instalar o PCRE
sudo tar zxf pcre-7.0.tar.gzcd pcre-7.0sudo ./configuresudo makesudo make install
Compilar e Instalar o Snort
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 2/15
Crie um link simbólico para o arquivo cc1plus, necessário para compilar o snort
sudo ln -s /usr/lib/gcc/i486-linux-gnu/4.1.2/cc1 /usr/bin/cc1plus
Compile o Snort
sudo tar zxf snort-2.6.1.2.tar.gzcd snort-2.6.1.2sudo ./configure --with-mysql=/usrsudo makesudo make install
Crie diretório /etc/snort/
sudo mkdir /etc/snort
Copie o arquivo snort.conf para o diretório /etc/snort
sudo cp ~/temp/snort-2.6.1.2/etc/snort.conf /etc/snort/
Baixe as regras
OBS: Existem 3 tipos de download de regras do snort
1. Subscrição - Pago2. Registrado - Gratuito3. Comunidade - Gratuito
Aconselho você baixar o registrado, porque são regras atualizadas. Para issoclique no link download do pacote nortrules-snapshot-CURRENT.tar.gz e façaseu registro.
Salve o arquivo no diretório /etc/snort e descompacte-o.
Configurando o Snort ====================
Edite o arquivo /etc/snort/snort.conf alterando as entradas abaixo
sudo vi /etc/snort/snort.conf
var HOME_NET any #Para capturar todos as redesvar EXTERNAL_NET !$HOME_NET #Tudo o que não for HOME_NET é externovar RULE_PATH /etc/snort/rules #Caminho para as regras
output database: log, mysql, user=snort password= dbname=snort host=localhost
}}
Configurando o Mysql ===================
Configure a base de dados do Snort no MySQL:
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 3/15
{{{
sudo mysql
mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');Query OK, 0 rows affected (0.25 sec)
mysql> create database snort;Query OK, 1 row affected (0.01 sec)
mysql> grant INSERT,SELECT on root.* to snort@localhost;Query OK, 0 rows affected (0.02 sec)
mysql> SET PASSWORD FOR snort@localhost=PASSWORD('password_do_snort.conf');Query OK, 0 rows affected (0.25 sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;Query OK, 0 rows affected (0.02 sec)
mysql> grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort;
Query OK, 0 rows affected (0.02 sec)mysql> exitBye
Crie as tabelas
sudo mysql -u root -p < ~/temp/snort-2.6.1.2/schemas/create_mysql snort
Verifique se a base de dados do Snort foi criada corretamente
sudo mysql -p
mysql> SHOW DATABASES;--------------------| Database |--------------------| information_schema || mysql || snort |--------------------3 rows in set (0.01 sec)
mysql> use snortReading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> SHOW TABLES;------------------| Tables_in_snort |------------------| acid_ag || acid_ag_alert |
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 4/15
| acid_event || acid_ip_cache || base_roles || base_users || data || detail || encoding |
| event || icmphdr || iphdr || opt || reference || reference_system || schema || sensor || sig_class || sig_reference || signature || tcphdr || udphdr |
+------------------+22 rows in set (0.01 sec)
Instale o ADODB
{{{
sudo cp ~/temp/adodb493a.tgz /var/www/cd /var/www/sudo tar zxf adodb493a.tgzsudo rm adodb493a.tgz
Instale e configure o BASE
sudo mkdir -p /var/www/htmlsudo cp ~/temp/base-1.2.7.tar.gz /var/www/htmlcd /var/www/htmlsudo tar zxf base-1.2.7.tar.gzsudo rm base-1.2.7.tar.gzsudo mv base-1.2.7 basecd /var/www/html/basesudo cp base_conf.php.dist base_conf.php
Edite o ficheiro /var/www/html/base/base_conf.php e altere os parâmetros
$BASE_urlpath = '/html/base';$DBlib_path = '/var/www/adodb/';
$DBtype = 'mysql';$alert_dbname = 'snort';$alert_host = 'localhost';$alert_port = '';$alert_user = 'snort';$alert_password = 'senha_usuario_snort'; /* Archive DB connection parameters */$archive_exists = 0; # Set this to 1 if you have an archive DB
Crie no diretório /etc/snort/rules os seguintes arquivos. Faça isso usando o comando touch
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 5/15
local.rulesexploit.rulesbad-traffic.rulesscan.rulesfinger.rulesftp.rules
telnet.rulesrpc.rulesrservices.rulesdos.rulesddos.rulesdns.rulestftp.rulesweb-cgi.rulesweb-coldfusion.rulesweb-iis.rulesweb-frontpage.rulesweb-misc.rulesweb-client.rules
web-php.rulessql.rulesx11.rulesicmp.rulesnetbios.rulesmisc.rulesattack-responses.rulesoracle.rulesmysql.rulessnmp.rulessmtp.rulesimap.rulespop2.rulespop3.rulesnntp.rulesother-ids.rulesexperimental.rules
Inicie o snort
sudo snort -c /etc/snort/snort.conf &
Consulte o BASE, executando no navegador
http:///html/base
Na página inicial de setup do BASE clicar no link SETUP PAGE e de seguida no botão CREATE AG.
Agora você poderá verificar o log do snort via web.
Instalando o Guardian
Baixe o fonte do Guardian
cd ~/temp
wget http://www.chaotic.org/guardian/guardian-1.7.tar.gz
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 6/15
Copie para o diretório /usr/src e descompacte
sudo cp guardian-1.7.tar.gz /usr/srctar xzf guardian-1.7.tar.gzcd guardian-1.7cd scripts
Liste o conteúdo do diretório scripts e verifique se ele contem os arquivos abaixo
freebsd_block.sh guardian_unblock.sh ipfwadm_block.sh iptables_unblock.shfreebsd_unblock.sh ipchain_block.sh ipfwadm_unblock.sh nullroute_block.shguardian_block.sh ipchain_unblock.sh iptables_block.sh nullroute_unblock.sh
O programa Guardian utiliza sempre os scripts denominados guardian_block.she guardian_unblock.sh . Assim, deverão ser copiados para os arquivos comesses nomes correspondentes ao firewall que pretendemos utilizar. No nossocaso usaremos o iptables
sudo cp iptables_block.sh /usr/bin/guardian_block.sh
sudo cp iptables_unblock.sh /usr/bin/guardian_unblock.shsudo chmod 755 /usr/bin/guardian_block.sh /usr/bin/guardian_unblock.sh
Copie o script e o arquivo de configuração do Guardian para os locais correspondentes
cd ..sudo cp guardian.pl /usr/binsudo chmod 755 /usr/bin/guardian.plsudo cp guardian.conf /etc/
Configure os seguintes parâmetros no arquivo /etc/guardian.conf
Interface eth0 # Interface eth0, a que vai ter os terminais bloqueados
AlertFile /var/adm/secure # Mude para /var/log/snort/alert
TimeLimit 86400 #Mude para um valor em segundos que pretendemos que o endereço IP fiquebloqueado pela firewall. O valor 99999999 remove esta opção.
Crie o arquivo de log do Guardian
touch /var/log/guardian.log
Crie o arquivo guardian.ignore com os endereços IP que se pretende ignorar
touch /etc/guardian.ignore
Inicie o Guardian
guardian.pl -c /etc/guardian.conf
autor: Alexandro Silva
LINKS=====
- ADODB - http://prdownloads.sourceforge.net/adodb/
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 7/15
- BASE - http://prdownloads.sourceforge.net/secureideas/ - Snort - http://www.snort.org - Snort Rules - http://www.snort.org/pub-bin/downloads.cgi - PCRE - http://prdownloads.sourceforge.net/pcre/ - Guardian - http://www.chaotic.org/guardian/
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 8/15
Instalando o SAMBS (Snort + Apache2 + MySQL +BarnYard2 + Snorby) no Debian
Segunda-feira, 22/08/2011 às 10h30, por Luiz Cezar Quaquio
Veja neste artigo a instalação do sistema de detecção de intrusão na rede Snort, logando no banco de dados MySQLatravés do BarnYard2 e visualizando os logs e gráficos gerenciais pelo Snorby, rodando no servidor Web Apache2, tudo
isso dentro do Debian.
Instalando o MySQL
Instalando o MySQL:
# apt-get install mysql-server-5.1 mysql-client libmysqlclient-dev libpcap-dev
Durante a instalação, será pedida a senha para o usuário root do MySQL, mas, se houver algum problema, configure asenha 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:
CREATE DATABASE snort; GRANT all privileges ON snort.* TO snort@localhost IDENTIFIED BY 'senha_snort_mysql'; flush privileges; QUIT
Instalando o SNORT
Instalando o SNORT:
# 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 -psnort
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= 1́27.0.0.0/16,192.168.0.0/24´
Interface usada:
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 9/15
DEBIAN_SNORT_INTERFACE=´eth0´
Vamos dizer para o SNORT usar o banco de dados do MySQL, editando o arquivo /etc/snort/database.conf e coloque:
output database: log, mysql, user=snort password=snort_pwd dbname=snorthost=localhost
Remova o arquivo de ³pendência´ do banco de dados para o snort:
# rm -rf /etc/snort/db-pending-config
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/database.conf. Comente com ³#´ a linha que diz respeito ao MySQL:
#output database: log, mysql, user=snort password=senha_snort_mysql dbname=snorthost=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 no final a linha:
output database: log, mysql, user=snort password=senha_snort_mysql dbname=snorthost=localhost
Vamos criar as pastas para o uso do barnyard2:
# mkdir /var/log/barnyard2 # mkdir /var/barnyard2
Vamos 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 parainicialização d o BarnYard2 deverão ser executados sempre na inicialização d o sistema,sugiro colocá-los no /etc/rc.local ***
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 10/15
Instalando o Apache2
Instale o apache e alguns requisitos:
# aptitude install apache2 apache2-prefork-dev libapr1-dev libaprutil1-devlibopenssl-ruby libcurl4-openssl-dev gem
Instalando o SNORBY
Vamos instalar os requisitos para o Snorby:
# aptitude install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-devlinux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev imagemagick git-corelibmagickwand-dev default-jre
Instale o wkhtmltopdf:
# wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2 # tar xvjf wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2 # cp wkhtmltopdf-
i386 /usr/sbin/wkhtmltopdf
Instalando o ruby:
# wget http://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p290.tar.gz # tar -xvzfruby-1.9.2-p290.tar.gz # cd ruby-1.9.2-p290 # ./configure # make && make install
Vemos a versão instalada:
# ruby -v ruby 1.9.2p290 (2010-08-18 revision 29036) [i686-linux]
Instalamos os gems:
# gem install thor i18n bundler # gem install tzinfo builder memcache-client rackrack-test erubis mail text-format sqlite3-ruby # gem install rack-mount --version=0.4.0 # gem install rails --version=3.0.0
Instalando Snorby:
# git clone http://github.com/Snorby/snorby.git /var/www/snorby Editamos o arquivo deconfiguração d o banco de dados: # vi /var/www/snorby/config/database.yml snorby:&snorby adapter: mysql username: snort password: senha_snort_mysql host: localhostEditamos o arquivo de configuração d o Snorby: # vi/var/www/snorby/config/snorby_config.yml development: domain: localhost:3000 wkhtmltopdf: /usr/sbin/wkhtmltopdf test: domain: localhost:3000 wkhtmltopdf:/usr/sbin/wkhtmltopdf production: domain: localhost:3000 wkhtmltopdf:
/usr/sbin/wkhtmltopdf
Já no shell do MySQL:
GRANT all privileges ON snorby.* TO snort@localhost; flush privileges; QUIT
Instalando o Snorby:
# cd /var/www/snorby # bundle install # rake snorby:setup RAILS_ENV=production
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 11/15
Vamos criar o acesso do usuário snort no banco de dados do Snorby:
# mysql -u root -p
Edite o arquivo /etc/snort/barnyard2.conf e acrescente a linha:
output database: log, mysql, user=snort password=senha_snort_mysql dbname=snorbyhost=localhost
Editando o Apache2
Instalando o módulo passenger:
# gem install --no-ri --no-rdoc --version 3.0.3 passenger # cd/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3/bin # ./passenger-install-apache2-module -a
Vamos criar o arquivo do módulo para o Apache2:
# vi /etc/apache2/mods-available/passenger.load
Adicione no arquivo:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3/ext/apache2/mod_passenger.so
Vamos habilitar o módulo:
# vi /etc/apache2/mods-available/passenger.conf
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 12/15
Adicione no arquivo:
<IfM odule mod_passenger.c> PassengerRoot/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3 PassengerRuby /usr/local/bin/ruby</IfM odule>
Instalando o módulo:
# a2enmod passenger # a2enmod rewrite # a2enmod ssl
Reinicie o apache2:
# /etc/init.d/apache2 restart
Edite o arquivo /etc/apache2/sites-available/default:
< Virtualhost *:80> # ServerName infosegura DocumentRoot /var/www/snorby/public/<Directory /var/www/snorby/public> RailsBaseURI / Options +ExecCGI FollowSymLinks -MultiViews AllowOverride all Order allow,deny Allow from all </Directory>
Reinicie o apache2:
# /etc/init.d/apache2 restart
Vamos reiniciar o SNORT:
# /etc/init.d/snort restart
Iniciando o Snorby:
# cd /var/www/snorby # ruby script/delayed_job start -e production *** Os comandosacima para inicialização d o Snorby deverão ser executados sempre na inicialização d o
sistema, sugiro colocá-los no /etc/rc.local ***
Acesse pelo navegador o Snorby: http://<ip_snorby>
Coloque o usuário e senha:
y Usuário: [email protected] Senha: snorby
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 13/15
Tela principal, na qual o ³Dashboard´ é atualizado a cada 30 min e os eventos são atualizados imediatamente:
Verifique se o Snorby Worker está funcionando clicando em ³Administration > Administrator Menu > Worker & JobQueue".
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 14/15
Dica
Crie o script abaixo para executar o Barnyard2 na inicialização do sistema:
#!/bin/sh case $1 in start) printf "starting $0..." cd /etc/snort barnyard2 -d/var/log/snort -f snort.out echo -e 'OK' ;; stop) printf "stopping $0..." killall
barnyard2 echo -e 'OK' ;; restart) $0 stop $0 start ;; *) echo "usage: $0(start|stop|restart)" ;; esac Para executar acrescente no /etc/rc.local:/caminho/nome_script_barnyard2 start
Para executar o Snorby na inicialização do sistema, crie o script:
#!/bin/bash cd /var/www/snorby /usr/local/bin/ruby script/delayed_job start -eproduction
Para executar acrescente no /etc/rc.local:
/caminho/nome_script_snorby
Atualizar o Snorby
O projeto Snorby está em constante desenvolvimento, por isso, se quiser atualizar o seu, é necessário o RAKE:
# gem install rake
Entre no diretório de instalação do Snorby:
# cd /var/www/snorby
Vamos utilizar o GIT para a atualização. Diga a ele que seus arquivos estão nesse diretório...
# git add . # git commit -m 'Coloque seu comentário aqui'
Verifica as atualizações disponíveis:
# git rm Gemfile.lock && git pull origin master
Atualize as dependências:
# gem update --system # bundle install --path vendor/cache
5/12/2018 instala o do snort - slidepdf.com
http://slidepdf.com/reader/full/instalacao-do-snort 15/15
Edite o arquivo com as credenciais de acesso ao banco de dados MySQL e coloque o usuário e senha de acesso aobanco do Snorby:
# vi config/database.yml
Atualize o Snorby:
# rake snorby:update
Acesse pelo navegador o Snorby: http://<ip_snorby>
Referências:
y http://muchikon.blogspot.com/2011/03/snorby-225-en-debian-wheezy.html y https://lswiki.byu.edu/index.php/Snort,_Barnyard2,_and_Snorby y http://www.vivaolinux.com.br/artigo/Debian-Sarge-+-Snort-+-MySQL-+-Acidlab-+-Apache/