Snort – Manual Básico de Utilização
Este manual foi desenvolvido por Gilliatt Borges Bastos e segue algumas referências da tradução do
manual oficial do Snort ( http://www.snort.org/docs/writing_rules/chap1.html#tth_chAp1 ).
Introdução
Este primeiro documento é uma pequena introdução das modalidades que o Snort pode
assumir, falaremos também sobre os comandos introdutórios que quase sempre não são
óbvios em sua utilização.
O Snort poderá assumir três modalidades a seguir:
Sniffer: Está modalidade simplesmente captura os pacotes e imprime continuamente no
console.
Packet logger: Registra os pacotes capturados no disco rígido.
Network intrusion detection system: Esta modalidade é a mais complexa e versátil,
permitindo que o Snort analise o tráfego da rede de encontro a regras definidas pelo
usuário, executando diversas ações baseadas em suas regras.
Modalidade Sniffer
Primeiramente, vamos começar pelos comandos básicos da modalidade Sniffer.
Se você quiser apenas imprimir os cabeçalhos dos pacotes TCP/IP na tela (Modalidade
Sniffer), tente o comando:
./snort -v
Este comando funcionará somente para capturar os cabeçalhos Ip, nada mais. Se você
quiser visualizar os dados da aplicação no trânsito,tente o seguinte comando:
./snort -vd
Isto instrui o Snort a indicar os dados do pacote como também os cabeçalhos. Se você
quiser uma exposição mais descritiva, mostrando a camada de ligação de dados e os
cabeçalhos tente este comando:
./snort –vde
Modalidade packet logger
Este primeiro comando mostra como utilizar o snort como um ótimo sniffer de pacotes,
agora vamos aprender a gravar os pacotes no disco rígido. Isto é muito importante se
você está querendo uma analise posterior do tráfego da rede.
Para começar a criar um arquivo de log com os pacotes analisados temos que especificar
um diretório válido, após especificar um diretório para armazenamento o Snort entrará em
modo packet logger automaticamente.
./snort –dev –l ./log
Naturalmente, isto supõe que há um diretório “log” no diretório atual. Se o diretório não
existir,o Snort finalizará com um erro.
Quando Snort está nesta modalidade, ele coleta os pacotes e coloca-os em uma
hierarquia de diretórios baseada no endereço IP do anfitrião.
Se você especificar apenas o parâmetro “-l”, você pode observar que o Snort usa às
vezes o endereço do computador remoto como diretório em que é colocado o pacote e às
vezes também se usa o host local, a fim de registrar à relativa rede local.
Você pode dizer ao Snort qual é a rede local com o comando:
./snort –dev –l ./log –h 192.168.1.0/24
Esta regra diz ao snort que você quer imprimir as ligações de dados e dos cabeçalhos do
TCP/IP assim como os dados da aplicação no diretorio /log e você quer os pacotes
relativos à rede 192.168.1.0 classe C. Todos os pacotes serão gravados no subdiretório
do diretório “log”, com os nomes de subdiretórios que estão sendo baseadas no endereço
do anfitrião (192.168.1.0) remoto.
Se você estiver em uma rede de alta velocidade ou você quer registrar pacotes em um
formato mais compacto para uma análise posterior, você deve considerar a modalidade
binária. Essa modalidade registra os pacotes “no formato tcpdump” em um único arquivo
binário no diretório de log.
./snort –l ./log –b
Como podemos ver, não precisamos nesta modalidade especificar uma rede local, porque
a modalidade binária registra todos os parâmetros, que elimina a necessidade de
especificar a formatação da estrutura de saída. Você também não necessita especificar o
modo verbose ou especificar os parâmetros –d ou –e, porque na modalidade binária o
pacote inteiro é registrado.
Tudo que realmente é preciso para colocar o Snort na modalidade binária e indicar o
diretório com o parâmetro “–l” e especificar o parâmetro –b para começar a registrar os
pacotes em binário.
Uma vez que os pacotes foram registrados em um arquivo binário, você pode ler os
pacotes em qualquer sniffer que aceite o formato binário do tcpdump, como o tcpdump ou
ethereal. O Snort também pode ler os pacotes usando parâmetro -r, que coloca na
modalidade playback. Se você quer ler um arquivo de log binário com Snort na
modalidade sniffer para imprimir os pacotes na tela, você pode utilizar o seguinte
comando:
./snort -dv -r packet.Log
Você pode manipular os dados do arquivo de diversas maneiras com a possibilidade de
filtrar os pacotes utilizando a relação de BPF que está disponível no Snort.
Para um exemplo, se você quiser somente ver os pacotes do ICMP do arquivo de log,
especifique simplesmente um filtro de BPF no comando e o Snort somente imprimirá os
pacotes ICMP do arquivo:
./snort -dvr packet.log icmp (Lista todos os pacotes icmp)
./snort -dvr packet.log tcp (Lista todos os pacotes tcp)
./snort -dvr packet.log udp (Lista todos os pacotes udp)
Para mais informações de como usar a relação BPF, leia o mainpages do snort e do
tcpdump.
Download

Snort Básico em Português