Você está na página 1de 7

17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

AutomatizandoFirewallcomIDSSnorteSnortSam

Autor:ViniciusRauppAlves<viniciusrauppalvesatgmail.com>
Data:23/01/2013

Introduo

Snortumsistemadedetecodeintrusos(IDS),oqualusaseussensoreseumconjuntoderegraspara
monitorartodootrfegodaredeegeraralertasdepossveisameaasseguranadeseussistemas.Coma
ajudadopluginSnortSam,serpossvelautomatizarbloqueiosdeendereosIPemseufirewall.

NestetutorialsermostradocomoinstalareconfiguraroSnort.Comoestepacotesgeraalertasde
ameaas,sernecessriaaajudadopluginSnortSampararecebloseexecutarumaregradefirewallpara
bloquearoendereoIPdocomputadormalintencionado.

ParavisualizarosalertasdoSnortutilizaremosumainterfaceamigveldeumsistemaWebchamadoBASE
(BasicAnalysisandSecurityEngine),conectadaaumabasededadosemMySQL.

Abaixo,osistemaoperacionaleversesdospacotesutilizados:

S.O.DebianSqueeze6.0.5
Snort2.9.2.2
SnortSam2.70
FirewallIPtables
BASE1.4.5
MySQL5.1

Paraprocederainstalaodospacotesfoiutilizadoumservidorcomduasplacasderedeatuandocomo
firewall/roteador,recebendoInternetporumaplacaedistribuindoparaaredeinternaatravsdaoutraplaca.

EndereosIPsdofirewall:

eth0=10.0.0.5obtidoporDHCP=Internet(WAN)
eth1=192.168.1.1IPfixoRedeinterna(LAN)

Deformaresumida,parautilizaroSnortcomoSnortSam,sernecessrio:

1. BaixarocdigofontedoSnort
2. AplicarpatchSnortSamsobreofontedoSnort
3. CompilareinstalarSnort

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 1/7
17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

4. BaixarcdigofontedoSnortSam
5. CompilareinstalarSnortSam.

InstalaodoSnort

IniciepelosprocedimentosdecompilaoeinstalaodoSnort,paraistoprecisoinstalaralgumas
dependnciasviaaptget:

#aptgetinstallylibfontafmperllibgcrypt11libgnutls26libgpgerror0libhtmlformatperllibhtml
parserperlautoconfautomake#aptgetinstallylibhtmltagsetperllibhtmltreeperllibltdl7
libmailtoolsperllibmysqlclient16libmysql++devlibpcap0.8libpcre3

#aptgetinstallylibprelude2libtasn13liburiperllibwwwperloinkmasterlibpcapdevlibpcre3
devlibxml2devbisonflexlibpreludedevlibdumbnetdev

Outrasdependncias
Instalandolibdnet:

#wgethttp://libdnet.googlecode.com/files/libdnet1.12.tgz
#tarzxvflibdnet1.12.tgz
#cdlibdnet1.12
#./configureprefix=/usrenableshared
#make
#makeinstall

InstalandoDAQ:

#cd..
#wgethttp://www.snort.org/downloads/1623Odaq0.6.2.tar.gz
#tarzxvfdaq0.6.2.tar.gz
#cddaq0.6.2
#./configure
#make
#makeinstall

Atualizandoasbibliotecas(importanteparaquenoocorraalgunserros):

#echo>>/etc/ld.so.conf/usr/lib
#ldconfig

PreparandooSnort:

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 2/7
17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

#cd..
#wgethttp://www.snort.org/dl/snortcurrent/snort2.9.2.2.tar.gz
#tarzxvfsnort2.9.2.2.tar.gz
#cdsnort2.9.2.2

DownloadeaplicaodopatchSnortSam:BaixeopatchcompatvelcomaversodoSnort,nocaso
2.9.2.2:

#wgethttp://www.snortsam.net/files/snortplugin/snortsam2.9.2.2.diff.gz

DescompactenamesmapastadocdigofontedoSnorteapliqueopatch:

#gunzipsnortsam2.9.2.2.diff.gz
#patchp1<snortsam2.9.2.2.diff

CompilareinstalaroSnort:

#./configureprefix=/usr/local/snortwithmysqlwithdaqlibraries=/usr/local/lib/daq/disable
preludedisablerzbsaac
#make
#makeinstall

Casoencontrealgumerroderazorbackoulibtool,faaosprocedimentosabaixo:

1.Editeoarquivo"configure.in",comenteaslinhas:15261557,quetratasobreorazorbackeparacorrigir
olibtool.
2.Editeoarquivo"autojunk.sh"acrescentandooparmetro:"force",nalinhaondeconstaocomando
libtoolize
3.Porltimo,torneoarquivo"autojunk"executveleexecute:

#chmod+xautojunk.sh
#./autojunk.sh

Repitaoprocessodecompilaoeinstalao.

CrieapastaparaosarquivosdeconfiguraodoSnortecopieosarquivosdeconfiguraofornecidosna
pastadocdigofonte:

#mkdir/etc/snort
#cpsrcpacotesnort/etc/*.*/etc/snort/

Editeoarquivo/etc/snort/snort.conf,localizeealtereaslinhasparaquefiqueconformeabaixo:

varRULE_PATH/etc/snort/rules
varSO_RULE_PATH/etc/snort/so_rules
varPREPROC_RULE_PATH/etc/snort/preproc_rules

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 3/7
17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

dynamicpreprocessordirectory/usr/local/snort/lib/snort_dynamicpreprocessor
dynamicengine/usr/local/snort/lib/snort_dynamicengine/libsf_engine.so

#dynamicdetectiondirectory/usr/local/lib/snort_dynamicrules

#LinhasnecessriasparaenviarosalertasparaobancodedadosMysql.
outputdatabase:log,mysql,user=snortpassword=senhasnortdbname=snorthost=localhost
outputdatabase:alert,mysql,user=snortpassword=senhasnortdbname=snorthost=localhost

#LinhanecessriaparaenviarosalertasespecficosaodaemonSnortSam.
outputalert_fwsam:127.0.0.1:898/password

Em"Customizeyourrulesite",comentetodasregrascomaexceoda"icmpinfo.rules",poisseranica
regrausadaemnossosteste.Salveefecheoarquivodeconfigurao.

Crieousurio"snort"paraosistema:

#useraddsnortd/var/log/snorts/bin/falsecSNORT_IDS

Crieumapastaparaoslogs:

#mkdir/var/log/snort
#chownRsnort/var/log/snort

FaaodownloaddopacotederegrasdoSnortnositeoficial(necessriocriarumacontanosite):

http://www.snort.org/snortdownloads

Edescompacteem/etc/snort/.

Faaumprimeiroteste,executeocomandoparaqueoSnortmostrenatelaospacotesdaredecapturados,
masantes,coloqueainterfaceeth0nomodopromscuo:

#ifconfigeth0promisc
#/usr/local/snort/bin/snortvieth0

InstalaodoMySQLeBASE

InstalaodoMySQL:

#aptgetinstallmysqlservery

OinstaladorirpedirumasenhadeacessorootaoMySQL(coloqueasenhaquepreferir).Acesseoconsole
deadministraodoMySQLecoloqueasenhacriadanahoradainstalao:

#mysqlurootp

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 4/7
17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

UseoscomandosabaixoparacriarabasededadoseusurioparaoSnort:

mysql>createdatabasesnort
mysql>grantallonsnort.*tosnort@localhostidentifiedby'senhasnort'
mysql>flushprivileges
mysql>exit

Crieastabelasimportandooarquivo"create_mysql"encontradodentrodocdigofontedoSnort:

#cdsrcpacotesnort/schema
#mysqlurootpsnort<create_mysql

InstalaroBASE:

#aptgetinstallacidbasey

OinstaladorirperguntarqualsenhaserusadaparaacessarabasededadossnortnoMySQL,digite
"senhasnort",confirmeasenhadigitandoanovamente.

AcrescenteoacidbasenoApache:

#nano/etc/apache2/sitesenabled/000default

Posicioneocursorantesdatag</VirtualHost>,aperteCtrl+Reinsiraocaminho
/etc/acidbase/apache.conf.

Permitaoacessoviaredelocalalterandoalinha:

allowfrom127.0.0.0/255.0.0.0

Para:

allowfrom192.168.1.0/255.255.255.0

Reinicieoservioapache2:

#invokerc.dapache2restart

Acesseapginadoacidbaseviaredelocal:http://192.168.1.1/acidbase

Paracompletarainstalao,surgirumapginacomumerro,masnormal.CliqueemSetupPageedepois
emCreate_ACID_AG.Apsfeitaainstalaocomsucesso,acessenovamenteoendereodapginado
acidbase.

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 5/7
17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

InstalaodoservioSnortSam

Executeoscomandos:

#wgethttp://www.snortsam.net/files/snortsam/snortsamsrc2.70.tar.gz
#tarzxvfsnortsamsrc2.70.tar.gz
#cdsnortsam
#chmod+xmakesnortsam.sh
#./makesnortsam.sh
#cpsnortsam/usr/local/bin

Crieumarquivo"snortsam.conf"em/etceadicioneasseguinteslinhasdeconfigurao:

defaultkeypassword
acceptlocalhost
keyinterval30minutes
dontblock192.168.1.1#redelocal
rollbackhosts50
rollbackthreshold20/30secs
rollbacksleeptime1minute
logfile/var/log/snort/snortsam.log
loglevel3
daemon
nothreads
#linhaimportanteparagerarosbloqueiosviaiptables
iptableseth0LOG
bindip127.0.0.1

Prafinalizarasconfiguraes,escolhaumarquivoderegrasdentrodapasta/etc/snort/rules/eacrescenteno
finaldaregraoparmetro"fwsam:src,5minutes",ondesrcoIPdeorigeme5minutesotempoemqueo
IPdeorigemserbloqueado.

Exemplo:Editeoarquivo"icmpinfo.rules",encontreedescomentearegracomadescrio"ICMPInfo
EchoReply".Acrescentenestaregraoparmetro"fwsam:src,5minutes"aofinaldalinha,comoabaixo:

alerticmp$EXTERNAL_NETany>$HOME_NETany(msg:"ICMPINFOEchoReply"icode:0itype:0
classtype:miscactivitysid:408rev:6fwsam:src,5minutes)

Testesfinais
Inicietodososservios:

#/usr/local/snort/bin/snortusnortieth0c/etc/snort/snort.confl/var/log/snortDq

ParadepurarerrosdoSnort,inicieoserviosemoparmetro"Dq".

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 6/7
17/03/13 Automatizando Firewall com IDS Snort e SnortSam [Artigo]

#/usr/local/bin/snortsam

ParadepurarerrosdoSnortSam,inicieoserviosnortsamdebugqueseencontranamesmapastado
pacote"snortsamsrc2.70.tar.gz"descompactadoecompiladoanteriormente.

AgorapeaparaalgumdeforadesuaredepingarparaseuservidoreacompanheviaBASEosalertas
geradospeloSnort.Tambmpossvelacompanharoslogspraanalisarosbloqueiosoupossveiserrosde
configurao:

#tailf/var/log/snort/snortsam.log

ComSnorteSnortSamtambmpossveltrabalhardeformadistribuda,vocpodeinstalarSnortemoutro
localestratgicodesuaredeeconfigurloparaqueenvieosalertasparaoDaemonSnortSamemseu
firewall,fazendocomqueeleapliquearegradebloqueio.

*Maslembrese,possvelqueoSnortgerefalsospositivos,entosejacautelosoaoacrescentaro
parmetrofwsamnasregras.

Referncias
SnorteBASEnoDebian:

http://www.aboutdebian.com/snort.htm
HowTo:TutorialSnortnoDebianSqueezecomBASEBlogCuidadoDigital

DocumentaodoSnorSam:

SnortSamDocumentationdoc.emergingthreats.net

http://www.vivaolinux.com.br/artigo/AutomatizandoFirewallcomIDSSnorteSnortSam

Voltarparaosite

www.vivaolinux.com.br/artigos/impressora.php?codigo=13710 7/7

Você também pode gostar