Inicie pelos procedimentos de compilação e instalação do
Snort, para isto é preciso instalar algumas dependências via
apt-get:
# apt-get install -y libfont-afm-perl libgcrypt11 libgnutls26 libgpg- error0 libhtml-format-perl libhtml-parser-perl autoconf automake # apt-get install -y libhtml-tagset-perl libhtml-tree-perl libltdl7 libmailtools-perl libmysqlclient16 libmysql++-dev libpcap0.8 libpcre3
# apt-get install -y libprelude2 libtasn1-3 liburi-perl libwww-perl oinkmaster libpcap-dev libpcre3-dev libxml2-dev bison flex libprelude-dev libdumbnet-dev
Outras dependências
Instalando
libdnet:
# wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar zxvf libdnet-1.12.tgz
# cd libdnet-1.12
# ./configure --prefix=/usr --enable-shared
# make
# make install
Instalando
DAQ:
# cd ..
# wget http://www.snort.org/downloads/1623 -O daq-0.6.2.tar.gz
# tar zxvf daq-0.6.2.tar.gz
# cd daq-0.6.2
# ./configure
# make
# make install
Atualizando as bibliotecas (importante para que não ocorra alguns erros):
# echo >> /etc/ld.so.conf /usr/lib
# ldconfig
Preparando o Snort:
# cd ..
# wget http://www.snort.org/dl/snort-current/snort-2.9.2.2.tar.gz
# tar zxvf snort-2.9.2.2.tar.gz
# cd snort-2.9.2.2
Download e aplicação do patch
SnortSam: Baixe o patch compatível com a versão do Snort, no caso 2.9.2.2:
# wget http://www.snortsam.net/files/snort-plugin/snortsam-2.9.2.2.diff.gz
Descompacte na mesma pasta do código fonte do Snort e aplique o patch:
# gunzip snortsam-2.9.2.2.diff.gz
# patch -p1 < snortsam-2.9.2.2.diff
Compilar e instalar o Snort:
# ./configure --prefix=/usr/local/snort --with-mysql --with-daq-libraries=/usr/local/lib/daq/ --disable-prelude --disable-rzb-saac
# make
# make install
Caso encontre algum erro de
razorback ou
libtool, faça os procedimentos abaixo:
1. Edite o arquivo "configure.in", comente as linhas: 1526 à 1557, que trata sobre o razorback e para corrigir o libtool.
2. Edite o arquivo "autojunk.sh" acrescentando o parâmetro: "-- force", na linha onde consta o comando
libtoolize
3. Por último, torne o arquivo "autojunk" executável e execute:
# chmod +x autojunk.sh
# ./autojunk.sh
Repita o processo de compilação e instalação.
Crie a pasta para os arquivos de configuração do Snort e copie os arquivos de configuração fornecidos na pasta do código fonte:
# mkdir /etc/snort
# cp src-pacote-snort/etc/*.* /etc/snort/
Edite o arquivo
/etc/snort/snort.conf, localize e altere as linhas para que fique conforme abaixo:
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
dynamicpreprocessor directory /usr/local/snort/lib/snort_dynamicpreprocessor
dynamicengine /usr/local/snort/lib/snort_dynamicengine/libsf_engine.so
#dynamicdetection directory /usr/local/lib/snort_dynamicrules
# Linhas necessárias para enviar os alertas para o banco de dados Mysql.
output database: log, mysql, user=snort password=senha-snort dbname=snort host=localhost
output database: alert, mysql, user=snort password=senha-snort dbname=snort host=localhost
# Linha necessária para enviar os alertas específicos ao daemon SnortSam.
output alert_fwsam: 127.0.0.1:898/password
Em "Customize your rule site", comente todas regras com a exceção da "icmp-info.rules", pois será a única regra usada em nossos teste. Salve e feche o arquivo de configuração.
Crie o usuário "snort" para o sistema:
# useradd snort -d /var/log/snort -s /bin/false -c SNORT_IDS
Crie uma pasta para os logs:
# mkdir /var/log/snort
# chown -R snort /var/log/snort
Faça o download do pacote de regras do Snort no site oficial (necessário criar uma conta no site):
E descompacte em
/etc/snort/.
Faça um primeiro teste, execute o comando para que o Snort mostre na tela os pacotes da rede capturados, mas antes, coloque a interface
eth0 no modo promíscuo:
# ifconfig eth0 promisc
# /usr/local/snort/bin/snort -v -i eth0