Você está na página 1de 7

Manual de Instalao do Snort@Ubuntu

Snort, Apache, PHP, MySQL, BASE @ Ubuntu


+
Guardian


Setembro, 2006
Verso 1.0




Elaborado por:
Miguel Sampaio (miguelsaraiva@zmail.pt)
Marco Silva (mareco@portugalmail.pt)


Instituto Politcnico de Leiria
Escola Superior de Tecnologia e Gesto
Departamento de Engenharia Informtica
www.estg.ipleiria.pt





1
I. Agradecimentos

Este trabalho foi realizado no mbito da disciplina de Projecto I, da Licenciatura em
Engenharia Informtica e Comunicaes (EIC), da Escola Superior de Tecnologia e Gesto
(ESTG), do Instituto Politcnico de Leiria (IPL).
A orientao do projecto esteve a cargo dos professores Mrio Antunes e Miguel Frade que
contriburam na fase de edio deste documento.

II. Introduo

Este manual pretende apresentar, de uma forma simples, o processo de instalao de um
sensor do Network Intrusion Detection System (NIDS) Snort e de todos os componentes de
software necessrios. Este trabalho insere-se no mbito do desenvolvimento de um projecto
de avaliao das funcionalidades do Snort, recorrendo realizao de testes numa rede
piloto. A instalao em que se baseou este manual decorreu numa mquina com o sistema
operativo Ubuntu 5.10 j instalado e com o servidor X tambm instalado e configurado.

III. Requisitos

Antes de iniciar a instalao e configurao do Snort e de alguns dos seus utilitrios,
necessrio instalar algum software fundamental.

1 Instalar PHP, MySQL e Apache
1.1 Por download e instalao manual:
PHP (www.php.net)
MySQL (www.mysql.com)
Apache (www.apache.org)

1.2 Via apt-get:
#sudo apt-get install apache2
#sudo apt-get install mysql-server
#sudo apt-get install php5
#sudo apt-get install php5-mysql

2 Configurar o iptables para que, especialmente na fase de testes, no bloqueie o trfego
IP.
# sudo i pt abl es - I I NPUT - i et h0 - p i p - j ACCEPT

3 Testar o Apache atravs do seguinte cdigo php:
# sudo nano / var / www/ i ndex. php

<?php
phpi nf o( ) ;
?>

Aps a instalao do Apache, dever ser possvel aceder atravs de um browser aos
seguintes recursos: http://127.0.0.1/ ou http://localhost/.

2

4 Instalar o ADODB e o BASE (Basic Analysis and Security Engine) disponveis
respectivamente em:
http://prdownloads.sourceforge.net/adodb/
http://prdownloads.sourceforge.net/secureideas/

IV. Instalar o Snort

1. Executar o download do Snort e do PCRE:
http://www.snort.org
http://prdownloads.sourceforge.net/pcre/

2. Atravs do utilitrio Adept verificar se esto instalados os componentes libpcap0.8,
libpcap0.8-dev, libpcre3 e o libpcre3-dev, necessrios para a instalao do Snort. Se
necessrio, proceder sua instalao via Adept.

3. Instalar PCRE
#sudo tar -xvzf pcre-6.3.tar.gz
#cd pcre-6.3
#sudo ./configure
#sudo make
#sudo make install

4. Instalar Snort
#sudo tar -xvzf snort-2.4.4.tar.gz
#cd snort-2.4.4
#sudo ./configure --with-mysql=<localizao do mysql>
#sudo make
#sudo make install

Se ocorrer a seguinte mensagem de erro: snort: error while loading shared
libraries: libpcre.so.0: cannot open shared object file: No such file
or directory, dever criar-se um link simblico, atravs do seguinte comando:
# sudo l n - s / usr / l ocal / l i b/ l i bpcr e. so. 0 <l ocal i zao do f i chei r o>
Por exemplo:
# sudo l n - s / usr / l ocal / l i b/ l i bpcr e. so. 0 / usr / l i b/ l i bpcr e. so. 0

5. Efectuar o download das regras e proceder sua extraco para a directoria
/etc/snort/rules

6. Configurar os seguintes parmetros no ficheiro /etc/snort/snort.conf:

var HOME_NET any ( Par a capt ur ar t odos as r edes)
var EXTERNAL_NET ! $HOME_NET ( Tudo o que no f or HOME_NET ext er no)
var RULE_PATH / et c/ snor t / r ul es ( cami nho cor r ect o par a as r egr as)
- - pr epr ocessor
out put dat abase: l og, mysql , user =snor t passwor d=<pwd_escol hi da>

3
dbname=snor t host =l ocal host

7. Configurar a base de dados do Snort no MySQL:

# mysql
mysql > SET PASSWORD FOR r oot @l ocal host =PASSWORD( ' passwor d' ) ;
>Quer y OK, 0 r ows af f ect ed ( 0. 25 sec)
mysql > cr eat e dat abase snor t ;
>Quer y OK, 1 r ow af f ect ed ( 0. 01 sec)
mysql > gr ant I NSERT, SELECT on r oot . * t o snor t @l ocal host ;
>Quer y OK, 0 r ows af f ect ed ( 0. 02 sec)
mysql > SET PASSWORD FOR
snor t @l ocal host =PASSWORD( ' passwor d_do_snor t . conf ' ) ;
>Quer y OK, 0 r ows af f ect ed ( 0. 25 sec)
mysql > gr ant CREATE, I NSERT, SELECT, DELETE, UPDATE on snor t . * t o
snor t @l ocal host ;
>Quer y OK, 0 r ows af f ect ed ( 0. 02 sec)
mysql > gr ant CREATE, I NSERT, SELECT, DELETE, UPDATE on snor t . * t o
snor t ;
>Quer y OK, 0 r ows af f ect ed ( 0. 02 sec)
mysql > exi t
>Bye

8. Executar os seguintes comandos para criar as tabelas
# mysql - u r oot - p < ~/ snor t i nst al l / snor t - 2. 4. 3/ schemas/ cr eat e_mysql snor t
Ent er passwor d: mysql r oot passwor d

9. Verificar se a BD do Snort foi criada correctamente

# mysql - p
>Ent er passwor d:
mysql > SHOWDATABASES;

+- - - - - - - - - - - - +
| Dat abase
+- - - - - - - - - - - - +
| mysql
| Snor t
| t est
+- - - - - - - - - - - - +
3 r ows i n set ( 0. 00 sec)

mysql > use snor t
>Dat abase changed

mysql > SHOWTABLES;
+- - - - - - - - - - - - - - - - - - +
| Tabl es_i n_snor t
+- - - - - - - - - - - - - - - - - - +
| dat a
| det ai l
| encodi ng
Ver si on 13 Page 13 of 20 Updat ed 10/ 24/ 2005 7: 39 PM
| event
| i cmphdr

4
| i phdr
| opt
| r ef er ence
| r ef er ence_syst em
| schema
| sensor
| si g_cl ass
| si g_r ef er ence
| si gnat ur e
| t cphdr
| udphdr
+- - - - - - - - - - - - - - - - - - +
16 r ows i n set ( 0. 00 sec)
exi t ;

V. Instalar o ADODB:

# cp adodb462. t gz / var / www/
# cd / var / www/
# t ar - xvzf adodb462. t gz
# r mr f adodb462. t gz

VI. Instalar e configurar o BASE:

1. Instalar:

# cp base- 1. 2. t ar . gz / var / www/ ht ml
# cd / var / www/ ht ml
# t ar xvzf base- 1. 2. t ar . gz
# r mf base- 1. 2. t ar . gz
# mv base- 1. 2 base ( r enomear base- 1. 2 par a si mpl esment e base)
# cd / var / www/ ht ml / base
# cp base_conf . php. di st base_conf . php

2. Editar o ficheiro /var/www/html/base/base_conf.php e introduzir os seguintes
parmetros:

$BASE_ur l pat h = " / base";
$DBl i b_pat h = "/ var / www/ adodb/ ";
$DBt ype = "mysql " ;
$al er t _dbname = " snor t ";
$al er t _host = "l ocal host " ;
$al er t _por t = "";
$al er t _user = "snor t " ;
$al er t _passwor d = "passwor d_do_snor t _conf ";
/ * Ar chi ve DB connect i on par amet er s */
$ar chi ve_exi st s = 0; # Set t hi s t o 1 i f you have an ar chi ve DB

VII. Iniciar o Snort

1. Activar o Snort para iniciar a recolha de trfego, atravs da execuo do seguinte
comando:

# snor t - c <f i chei r o de conf i gur ao>

5

Por exemplo, para o ficheiro de configurao do Snort / et c/ snor t / snor t . conf , o
arranque do Snort efectuado pelo seguinte comando:
# snor t - c / et c/ snor t / snor t . conf

2. Consultar o BASE, executando num browser:

ht t ps: / / <ender eo. i p>/ base/ ht ml

Na pgina inicial de setup do BASE clicar no link setup page e de seguida no boto
setup AG. Nesta altura possvel aceder e consultar os logs do Snort acedendo
simplesmente ao endereo ht t ps: / / <ender eo. i p>/ base/ ht ml .

VIII. Instalar o Guardian

O Guardian um programa que funciona em conjunto com o Snort. A sua funo consiste na
actualizao automtica das regras do iptables, com base nos alertas gerados pelo Snort. A
actuao conjunta do Snort e do Guardian torna possvel dotar o Snort de mecanismos de
reaco em caso de intruso e preveno de ataques futuros. De seguida so apresentados os
passos para instalao deste programa:

1. Efectuar o download do Guardian em http://www.chaotic.org/guardian/.

2. Executar os seguintes comandos:
# mv guar di an- x- x. t ar . gz / usr / sr c
# t ar - xvzf guar di an- x- x. t ar . gz
# cd guar di an- x- x
# cd scr i pt s
# l s

A directoria scripts dever ter os seguintes scripts:

f r eebsd_bl ock. sh f r eebsd_unbl ock. sh i pchai n_bl ock. sh
i pchai n_unbl ock. sh i pt abl es_bl ock. sh i pt abl es_unbl ock. sh

O programa Guardian utiliza sempre os scripts denominados guardian_block.sh e
guardian_unblock.sh. Assim, devero ser copiados para ficheiros com esses nomes os
correspondentes ao filtro de pacotes que pretendemos utilizar. No caso concreto do iptables
que o mais frequentemente utilizado, devero realizar-se os seguintes comandos:

# cp i pt abl es_bl ock. sh / usr / bi n/ guar di an_bl ock. sh
# cp i pt abl es_unbl ock. sh / usr / bi n/ guar di an_unbl ock. sh
# chmod 755 / usr / bi n/ guar di an_bl ock. sh / usr / bi n/ guar di an_unbl ock. sh

3. Copiar o script e ficheiro de configurao do Guardian para os locais correspondentes,
atravs dos seguintes comandos:
# cd . .
# cp guar di an. pl / usr / bi n

6
# chmod 755 / usr / bi n/ guar di an. pl
# cp guar di an. conf / et c/

4. Configurar os seguintes parmetros no ficheiro /etc/guardian.conf:
I nt er f ace et h0 - i nt er f ace et h0, a que vai t er os t er mi nai s
bl oqueados
Al er t Fi l e / var / adm/ secur e - mudar par a / var / l og/ snor t / al er t
Ti meLi mi t 86400 - mudar par a um val or em segundos que pr et endemos
que o ender eo I P f i que bl oqueado pel a firewall. O val or
99999999 r emove est a opo.

5. Criar o arquivo de log do Guardian, atravs do comando:
#t ouch / var / l og/ guar di an. l og

6. Criar o ficheiro guardian.ignore com os endereos IP que se pretende ignorar:
# t ouch / et c/ guar di an. i gnor e

7. Iniciar o Guardian
# guar di an. pl - c / et c/ guar di an. conf
OS shows Li nux
War ni ng! Host I pAddr i s undef i ned! At t empt i ng t o guess. .
Got i t . . your Host I pAddr i s 192. 168. 1. 1
My i p addr ess and i nt er f ace ar e: 192. 168. 1. 1 et h0
Loaded 3 addr esses f r om/ et c/ guar di an. i gnor e
Becomi ng a daemon. .

Verses:
V 1.0 Documento inicial

Você também pode gostar