Anda di halaman 1dari 15

Snort

PROFESSOR ATOS RAMOS


Pacotes básicos

 Instalando os pacotes básicos:


apt-get update && apt-get -y install ssh
vi /etc/apt/sources.list
deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all

apt-get update && aptitude install -y apache2 apache2-doc autoconf automake bison ca-certificates
ethtool flex g++ gcc gcc-4.4 libapache2-mod-php5 libcrypt-ssleay-perl libmysqlclient-dev libnet1 libnet1-
dev libpcre3 libpcre3-dev libphp-adodb libssl-dev libtool libwww-perl make mysql-client mysql-common
mysql-server ntp php5-cli php5-gd php5-mysql php-pear sendmail sysstat usbmount vim ethtool unzip
ethtool -K eth0 gro off
Instalando pré-requisitos do Snort
libpcap, libdnet, and DAQ

 Instalando libcap

cd /usr/src && wget http://www.tcpdump.org/release/libpcap-1.7.3.tar.gz


tar -zxf libpcap-1.7.3.tar.gz && cd libpcap-1.7.3
./configure --prefix=/usr --enable-shared && make && make install
 Instalando libdnet
cd /usr/src && wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
tar -zxf libdnet-1.12.tgz && cd libdnet-1.12
./configure --prefix=/usr --enable-shared && make && make install
Instalando pré-requisitos do Snort
libpcap, libdnet, and DAQ

 Instalando DAQ
cd /usr/src && wget https://www.snort.org/downloads/snort/daq-2.0.5.tar.gz
tar -zxf daq-2.0.5.tar.gz && cd daq-2.0.5
./configure && make && make install
 Update shared library path
echo >> /etc/ld.so.conf /usr/lib
echo >> /etc/ld.so.conf /usr/local/lib && ldconfig
Instalando, Configurando e testando o
Snort

 Instalando o Snort
Arquivo de configuração gerado pelo grupo TALOS
cd /usr/src && wget --no-check-certificate https://labs.snort.org/snort/2970/snort.conf -O snort.conf
wget https://www.snort.org/downloads/snort/snort-2.9.7.3.tar.gz -O snort-2.9.7.3.tar.gz
tar –zxvf snort-2.9.7.3.tar.gz && cd snort-2.9.7.3
./configure --enable-sourcefire && make && make install
mkdir /etc/snort /etc/snort/rules /var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules
touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules
groupadd snort && useradd -g snort snort
chown snort:snort /var/log/snort /var/log/barnyard2
cp /usr/src/snort-2.9.7.3/etc/*.conf* /etc/snort
cp /usr/src/snort-2.9.7.3/etc/*.map /etc/snort
cp /usr/src/snort.conf /etc/snort
Instalando, Configurando e testando o
Snort
vi /etc/snort/snort.conf Execute os passos a seguir
Descomente as linhas abaixo
ln -sf /etc/snort/rules /etc/rules
var RULE_PATH ./rules touch /var/log/snort/merged.log
var WHITE_LIST_PATH ./rules chown snort. /var/log/snort/merged.log
var BLACK_LIST_PATH ./rules vi /etc/rules/local.rules
output alert_unified2: filename snort.alert, limit 128, nostamp
output log_unified2: filename snort.log, limit 128, nostamp alert icmp any any -> $HOME_NET any (msg:"ICMP test";
sid:10000001;)
Comente todos os
include $RULE_PATH com exceção do “local.rules”  Testando o snort
Comente as linhas abaixo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i
## Reputation preprocessor. For more information see eth0
#README.reputation /usr/local/bin/snort -i eth0 -c /etc/snort/snort.conf -T
#preprocessor reputation: \
#memcap 500, \
#priority whitelist, \
#nested_ip inner, \
#whitelist $WHITE_LIST_PATH/white_list.rules, \
#blacklist $BLACK_LIST_PATH/black_list.rules
Principais Comandos

 Sniffer Mode
snort -v
# mostra somente os cabeçalhos dos pacote TCP/IP na tela.
snort -vd
# mostra somente os cabeçalhos do IP, TCP, UDP e ICMP.
snort -vde
# mostra os todos os cabeçalhos e os dados contidos neles também.
Principais Comandos

 Packet Logger Mode


snort -dev
# o snort exibira um log de todos os pacotes visto por ele.
snort -dev -h 192.168.1.0/24
# faz com que o snort capture cabeçalhos TCP/IP, data link e dados relacionados ao host 192.168.1.0
(Classe C).
Principais Comandos

 Network Intrusion Detection Mode - (NIDS)


snort -b -A fast -c snort.conf
snort -dev -h 192.168.1.0/24 -c snort.conf
# snort.conf é o nome do arquivo de configuração. Este arquivo contem as regras e ações
a serem tomadas para cada pacote recolhido e confrontado com ele. O resultado do NIDS
será gerado no diretório /var/log/snort, ou outro diretório previamente estipulado.
 O arquivo snort.conf deve estar presente no diretório corrente ou deve ser digitado o
diretório onde ele se encontra.
 A opção -v acima faz com que o snort mostre os resultados também no monitor. Isso
causa com que o snort fique lento podendo ate perder alguns pacotes por causa disso.
 A opção -e para capturar cabeçalhos do data link layer as vezes são tão importante
podendo ser emitido.
Principais Comandos

•snort -d -h 192.168.1.0/24 -c snort.conf


# snort rodando com as opções básicas; ou seja, sem as opções de -v= mostra na tela e -e= cabeçalho Data Link.
•snort -c snort.conf -s -h 192.168.1.0/24
# envia alertas para o syslog opção (-s).
•snort -c snort.conf -s -h 192.168.1.0/24
# cria arquivo log no diretório default e envia alertas.
•snort -c snort.conf -b -M WORKSTATIONS
# gera arquivo de log no formato binário e envia alerta para o Windows Workstation.
•snort -c snort.conf -b -A fast -l /var/log/snort
# cria arquivo binário e usa alerta rápido e cria arquivo log no /var/log/snort.
•snort -b -A fast -c snort.conf
# gera arquivo de log no formato binário e usa alerta rápido.
•snort -d -c snort.conf -l /var/log/snort -h 192.168.1.0/24 -r snort.log
# gera arquivos no formato ASCII a partir de um arquivo no formato binário.
•snort -d -v -r snort.log -O -h 192.168.1.0/24
# a opção (-O) simplesmente oculta seu endereço IP. Essa opção se torna muito útil nos casos em que queremos
enviar arquivos de logs para newsgroup ou qualquer outro lugar público.
Instalando e configurando o Barnyard

 Barnyard2
É um interpretador de código aberto para Snort arquivos unified2 de saída binários. O seu uso
principal é permitir que o Snort grave no disco de uma forma eficiente e deixando a tarefa da
análise de dados binários em vários formatos para um processo separado que não irá causar
perca do tráfego de rede pelo Snort.
cd /usr/src && wget https://github.com/firnsy/barnyard2/archive/master.zip
unzip master.zip && cd barnyard2-master/
autoreconf -fvi -I ./m4 && ./configure --with-mysql --with-mysql-libraries=/usr/lib/x86_64-linux-gnu/
make && make install
mv /usr/local/etc/barnyard2.conf /etc/snort
cp schemas/create_mysql /usr/src
Instalando e configurando o Barnyard
 Oinkmaster
Oinkmaster é um script que irá ajudá-lo a atualizar e gerenciar suas regras Snort. Ele é liberado sob a licença BSD e funcionará
na maioria das plataformas que podem executar scripts Perl, por exemplo, Linux, * BSD, Windows, Mac OS X, Solaris, etc.
Oinkmaster pode ser usado para atualizar e gerenciar o VRT/TALOS regras licenciado, as regras comunitárias, a bleeding-snort
regras e outras regras terceiros, incluindo suas próprias regras locais.
wOcd /usr/src
get http://downloads.sourceforge.net/project/oinkmaster/oinkmaster/2.0/oinkmaster-2.0.tar.gz
tar zxvf oinkmaster-2.0.tar.gz
cd oinkmaster-2.0
./contrib/create-sidmap.pl /etc/snort/rules/ > /etc/snort/sid-msg.map
cp oinkmaster.conf /etc/
vi /etc/oinkmaster.conf
Insira a lina
url = http://www.snort.org/pub-bin/oinkmaster.cgi/6a566feeb33f116d764df73022eab80c54ca5ab5/snortrules-snapshot-
2962.tar.gz
cp oinkmaster.pl /usr/bin
chmod +x /usr/bin/oinkmaster.pl
oinkmaster.pl -o /etc/snort/rules
Instalando e configurando o Barnyard

 Editando o barnyard2.conf
Adiciona a linha abaixo no final do arquivo.
vi /etc/snort/barnyard2.conf
output database: log, mysql, user=snort password=snort dbname=snort host=localhost
wget http://labs.snort.org/snort/2962/gen-msg.map -O /etc/snort/gen-msg.map
MySQL Server para o Snort

 Digite os seguintes comandos


mysql -u root -p
create database snort;
grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;
SET PASSWORD FOR snort@localhost=PASSWORD('snort');
use snort;
source /usr/src/create_mysql
show tables;
exit
MySQL Server para o Snort

 Inicializando
/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 &
/usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -C /etc/snort/classification.config &