Utilizando o Pulled Pork para gerenciamento de updates de regras do Snort IDS

O que é o Pulled Pork ?

Pulled Pork é um gerenciador de regras do snort escrito no bom e velho PERL . Ele faz o update de forma automatica das regras em plain-text e as shared object rules .

Qual a diferença entre ele e o oinkmaster?

A grande diferença entre os dois é o update das Shared Object Rules (SO_Rules)

O que são as SO_Rules (Shared Object rules) ?

Shared Object Rules são regras para detecção de situação mais complexas que não se consegue detectar com as regras plain-text. Essas regras são bem mais complexas de serem desenvolvidas e precisam ser compiladas de acordo com seu sistema operacional, vale lembrar que para os sistemas mais conhecidos o VRT já lança as regras pré-compiladas .

Entendendo o Pulled Pork

Basicamente o pulledpork se divide nos seguintes arquivos de configuração:

1-) disablesid.conf

Assinaturas que deseja manter desativada quando fizer o update. SID significa Signature ID o qual é único para cada regras

2-) pulledpork.conf

Esse arquivo contém as opções de configurações que serão utilizadas quando utilizar a chamada com a opção -c . Abaixo descrição dos campos:

Nome do arquivo que deseja baixar do snort.org

rule_file=snortrules-snapshot-2.8_s.tar.gz

Seu Oinkcode , lembrando que para ter o seu basta se cadastrar no site http://www.snort.org (para entender mais leia nosso post sobre assinaturas http://snort.org.br/index.php?option=com_content&task=view&id=24&Itemid=31 )

oinkcode=SEU_OINK_CODE

Diretório onde sera feito o download e descompactar as regras (cuidado para não apontar para um diretório com pouco espaço) .

temp_path=/tmp

Caminho do comando tar que será utilizado para descompactar as regras que foram baixadas .

tar_path=/bin/tar

Diretório onde ficam suas regras texto .

rule_path=/etc/snort/rules/

Local onde estar o sid-map .

sid_msg=/usr/local/etc/snort/sid-msg.map

Caminho onde hospeda as suas regras dinamicas (SO_Rules), caso não conheça sugiro a leitura http://vrt-sourcefire.blogspot.com/2009/01/using-vrt-certified-shared-object-rules.html

sorule_path=/usr/local/lib/snort_dynamicrules/

Caminho do binário do snort que está fazendo o update.

snort_path=/opt/bin/snort

Local do seu arquivo de configuração do snort (snort.conf)

config_path=/etc/snort/snort.conf

Local onde será colocado o apontamento das .rules texto que se referenciarão as shared objects do /usr/local/lib/snort_dynamicrules/ (caso não conheça das so_rules sugiro novamente a leitura http://vrt-sourcefire.blogspot.com/2009/01/using-vrt-certified-shared-object-rules.html )

sostub_path=/home/spooker/snort/so_rules/

Distribuição que está utilizando, como citei ele já possui pre-compilado para as opções abaixo:
#CentOS-4.6,CentOS-5.0,Debian-Lenny,FC-5,FC-9,FreeBSD-7.0,RHEL-5.0,Ubuntu-6.01.1,Ubuntu-8.04

distro=Ubuntu-8.04

Versão do snort que está rodando
#2.8.0.1,2.8.0.2,2.8.1,2.8.2,2.8.2.1,2.8.2.2,2.8.3,2.8.3.1,2.8.3.2,2.8.4,2.8.4.1

snort=2.8.4.1

Caminho do arquivo de PID do processo.

pid_path=/var/run/snort_eth0.pid

3-) pulledpork.pl

Script principal que pode ser invocado com todas opções em linha de comando bem como utilizar das configurações dos arquivos citados acima .

Utilizando o Pulled Pork

# perl pulledpork.pl listará as opções da ferramenta

Para nosso caso utilizaremos somente a opção -c apontando para o arquivo de configuração e o -i para o disablesid.conf visto que configuramos as opções no pulledpork.conf

# perl pulledpork.pl -c pulledpork.conf -i disablesid.conf

http://code.google.com/p/pulledpork/
_____ ____
`—-,\ )
`–==\\ / Pulled_Pork v0.2.5
`–==\\/
.-~~~~-.Y|\\_ Copyright (C) 2009 JJ Cummings
@_/ / 66\_ cummingsj@gmail.com
| \ \ _(”)
\ /-| ||’–’ Rules give me wings!
\_\ \_\\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Checking latest MD5….
Rules tarball download….
Prepping files for work….
Done!
Copying rules files….
Done!
Copying Shared Object Rules….
Done!
Running in Rule Dump mode with config file: /etc/snort/snort.conf

=== Removido ===

Disabling your chosen SID’s….
Disabled 1 rules in /etc/snort/rules/web-iis.rules
Disabled 1 rules in /etc/snort/rules/exploit.rules
Disabled 1 rules in /etc/snort/rules/rpc.rules
Disabled 2 rules in /etc/snort/rules/backdoor.rules
Done
Generating sid-msg.map…
Done
Fly Piggy Fly!

Pronto !!! Você está atualizado, agora basta adicionar ao crontab !!

Site: http://code.google.com/p/pulledpork/

Espero que seja útil .

Happy Snorting!

Rodrigo Montoro(Sp0oKeR)

2 respostas para “ Utilizando o Pulled Pork para gerenciamento de updates de regras do Snort IDS ”

  1. bi0os disse:

    legaz .. vou colocar isto em prática uma certa hora .. vlw!

  2. David disse:

    Excelente artigo, desconhecia o Pulled Pork, 5 estrelas na descrição detalhada.

    Abraço e continuação de um bom trabalho

Deixe uma resposta.