Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
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