Snort – Gerenciamento de redes

Autor: woshington rodrigues <woshington.rod at gmail.com>

Gerenciamento de redes

Estamos na era da informação, vivendo uma época de rápidas mudanças,
onde o futuro é imprevisível. Nosso mundo está se tornando cada dia
mais globalizado e há uma interdependência gritante dos países
subdesenvolvidos com relação aos países de primeiro mundo, sistema de
redes de computadores, que aos poucos foi tomando seu espaço.

O que antes era apenas um meio de comunicação estratégica para os
militares e algumas universidades americanas, tornou-se a grande rede
mundial. O que tempos atrás servia para o compartilhamento de
impressoras de grande porte e modens de conexão com a internet, hoje é
ferramenta obrigatória em qualquer empresa e se alastrou por todo o
mundo.

Isto é convergência digital, quando um grande servidor perde a conexão,
todos os clientes ficam isolados, este tipo de problema pode acarretar
enormes prejuízos, diante do fato de que é de absoluta necessidade e
comodidade o uso de redes de computadores e o enorme volume de
informações e pessoas que lidam com ela.

É imperativo o uso de ferramentas de gerenciamento de redes. O
gerenciamento provê ao cliente maior segurança no transporte de dados,
menor taxa de erros, todo o tráfego é monitorado e analisado por
ferramentas de gerenciamento. Assim como um supermercado precisa de um
gerente para supervisionar os outros funcionários, a chegada de
mercadorias e outras funções mais, uma rede de computadores também
precisa ser gerenciada para evitar gargalos, recursos mal utilizados,
desperdício de equipamentos. Através deste recurso pode-se adequar o
uso da rede apenas para as finalidades da empresa. É possível
acompanhar cada passo do funcionário junto ao desempenho de suas
funções referentes ao uso da rede, isto facilita em muito o trabalho
dos gerentes, o rendimento aumenta, pois o serviço torna-se prioridade
sobre qualquer outra coisa, afinal o funcionário tendo consciência de
estar sendo monitorado zelará pela boa condução de suas atribuições de
maneira que não possa haver reclamações acerca do seu trabalho.

O gerenciamento de redes se estende aos mais diversos
equipamentos. Estamos falando de impressoras, roteadores, computadores,
dentre outros equipamentos. Na maioria das vezes é utilizado o
protocolo SNMP, que foi o pioneiro no tema, sendo o mesmo gratuito.
Mais um ponto para a sua popularidade, a arquitetura de gerenciamento é
baseado em 4 pontos fundamentais que listo a seguir.

Estação de gerenciamento, que é a interface do gerente humano
com a rede em si. Já o agente de gerenciamento responde às solicitações
de informações e de ações da estação de gerenciamento, além de fornecer
informações importantes que por ventura não tenham sido solicitadas
pela estação.

Temos também a MIB (Management Information Base), a base de informações
gerenciais contém uma coleção de objetos que possuem funções
predefinidas para a solução dos mais diversos tipos de problemas que
possam vir a ocorrer em cada equipamento da rede e por último o
protocolo a ser utilizado, trabalho normalmente feito pelo nosso
conhecido protocolo SNMP (Simple Network Management Protocol).

Importante salientar que todo este estudo é baseado em arquiteturas de
redes TCP/IP, por ser a arquitetura mais utilizada, o protocolo SNMP já
possui versões posteriores, tais quais o SNMPv2, embora já existam
estudos referentes ao SNMPv3, o protocolo SNMP define mensagens que são
trocadas entre agentes e gerentes. São 5 os tipos de mensagens
definidas no SNMP, veja a seguir:

  • get-request-PDU: mensagem enviada pelo gerente ao agente, solicitando o valor de uma variável;
  • get-next-request-PDU: mensagem utilizada pelo gerente para
    solicitar o valor da próxima variável depois de uma ou mais variáveis
    que foram especificadas;
  • set-request-PDU: mensagem enviada pelo gerente ao agente para solicitar que seja alterado o valor de uma variável;
  • get-response-PDU: mensagem enviada pelo agente ao gerente, informando o valor de uma variável que lhe foi solicitado;
  • trap-PDU: mensagem enviada pelo agente ao gerente, informando um evento ocorrido.

O SNMP é um protocolo que opera sobre o protocolo de transporte UDP,
que por si só é um protocolo não orientado à conexão, o próprio SNMP é
um protocolo não orientado a conexão, por essa razão possui vários
tipos de mensagens do tipo pergunta e resposta. No total são 4 desse
tipo.

Voltando a questão inicial… O que é gerenciamento? Essa é uma
pergunta muito ampla que remete a várias respostas, em um conceito
geral, gerenciar é administrar, fazer a gestão, desempenhar a função de
gerente. Em nosso caso esse gerenciamento é a mesma coisa, só que feito
em redes de computadores.

IDS e IPS, gerenciamento e segurança de redes

O Snort é uma ferramenta open source utilizada para
detecção e prevenção de intrusão, é um sistema de detecção de intrusão
desenvolvido pela SourceFire (IDS/IPS), é também o IDS/IPS
mais utilizado no mundo e líder mundial com mais de 1 milhão de
downloads e cerca de 250.000 usuários registrados. É o padrão quando se
fala em IPS. Este tipo de sistema age no sentido de alertar sobre
tentativas de invasões e até mesmo tentativas de escanear a sua rede,
mas antes de detalhar o Snort irei expor aqui o que são as ferramentas
de detecção de intrusão.

Esta área vem se estabelecendo como uma das mais crescentes no
setor em virtude do aumento de ataques a redes que normalmente contém
informações caras e sigilosas. Para proteger esses dados as corporações
estão dispostas a implementar estes programas de detecção de intrusão,
afinal de contas fica bem mais barato investir no gerenciamento da rede
do que pagar por auditorias, arcar com os prejuízos do desvio e perda
de informações.

Fica evidente a necessidade do sistema de IDS. O IDS detecta em tempo
real possíveis intrusões, além disso é também capaz de reagir aos
ataques tomando medidas cabíveis. O sistema analisa todos os pacotes
que trafegam na rede e fazem comparações entre os pacotes recebidos e
assinaturas de ataques, informações importantes são reportadas todos os
dias pelo IDS, tais como:

  • Quantas tentativas de ataques sofremos por dia;
  • Qual o tipo de ataque mais usado;
  • Qual a origem dos ataques.

Com todas essas informações fica mais fácil prover uma defesa contra
todos esses ataques, existem basicamente 2 tipos de IDS, que são os
baseados em redes (NIDS). Sistemas NIDS analisam o tráfego de toda a
rede e podem ser instalados em vários pontos da rede, protegendo as
estações.

Os sensores espalhados pela rede reportam a informação a uma estação
central, rodam em modo stealth (invisível), desta forma um possível
invasor não consegue detectá-los.

Os NIDS funcionam de maneira passiva e consomem poucos recursos da
rede, ficam espalhados por ela apenas esperando um ataque, quando
ocorre, emite o alerta. Contudo os NIDS não conseguem ainda processar
informações de dados criptografados e tem problemas com switches.

O outro tipo de IDS é o HIDS, que funciona baseado em host
(computadores individuais), portanto é mais preciso e consegue analisar
melhor os efeitos da tentativa de ataque. Enquanto que o NIDS não
consegue prever as consequências do ataque, os HIDS tem um maior grau
de detecção, pois operam no sistema operacional e conseguem analisar
pacotes criptografados antes de serem criptografados ou depois de
decriptografados detectam trojans ou outros tipos de ataques que
envolvam problemas de integridade nos programas. Em contrapartida esse
sistema não consegue perceber intrusões na rede inteira e consome mais
recursos do computador.

A maioria dos usuários mal intencionados que tentam invadir
sistemas normalmente se aproveitam de falhas no sistema operacional ou
de algum aplicativo específico que a vítima se utilize. Existem 6 tipos
principais de intrusão, que são os seguintes:

  • Tentativas de arrombar;
  • Ataques mascarados;
  • Penetração do sistema de controle de segurança;
  • Vazamento;
  • Negação de serviço;
  • Uso malicioso;

Quanto as técnicas de descoberta de intrusão, podemos dividi-las em dois grupos, que são:

a) Descoberta de anomalias: estatui que toda atividade de
intrusão é necessariamente anômala, ou seja, fora do normal, a respeito
disso existem alguns problemas tais como:

  • Falso positivo: ocorre quando o IDS classifica um processo como processo suspeito e na verdade é um processo legítimo;
  • Falso negativo: é o contrário do falso positivo, quando um processo suspeito é caracterizado como um processo legítimo.
  • Subversão: acontece quando o sistema de IDS é alterado para acusar a ocorrência de falso negativo.

b) Descoberta de abusos: não tem a capacidade de descobrir novo
ataques, contudo podem descobrir todos os ataques possíveis a partir de
um padrão já conhecido. Analisa todas as possibilidades de uma
assinatura. Abaixo os tipos de ataque que um sistema pode sofrer.

  • Risco: exposição acidental ou impossível de prever da informação,
    violação da integridade das operações devido ao mau uso de algum
    equipamento ou aplicações mal desenvolvidas.
  • Vulnerabilidade: alguma falha conhecida do aplicativo, equipamento ou sistema que coloque em risco o sistema.
  • Ataque: é a efetivação de uma ameaça.
  • Penetração: é a arte de invadir e obter acesso a um sistema computacional tendo poder sobre os arquivos.

Snort – gerenciamento de redes

Agora que já ficou claro sobre o que é um IDS, falarei sobre um IDS em específico, apresento aqui… o SNORT!

Ferramenta do tipo NIDS, ou seja, é um IDS que opera
na rede, é open source, leve possui o maior registro de assinaturas
dentre os demais IDS. O código fonte do programa é otimizado, feito em
módulos na linguagem de programação C. Sua documentação é de domínio
público, sofre atualizações constantemente, opera em redes TCP/IP e se
manifesta de 3 formas distintas:

  • Sniffer: simplesmente captura os pacotes e os mostra na tela.
  • Packet Logger: este módulo registra os pacotes capturados no disco rígido.
  • Network Intrusion Detection System: esta ação consegue
    analisar o tráfego mais as regras definidas pelo usuário e tomar
    atitudes de acordo com a conveniência e as regras estipuladas.

Cito aqui os pontos fortes do Snort.

Extremamente flexível:

  • Algoritmos de inspeção baseados em regras.
  • Sem falsos positivos inerentes.
  • Controle total do refinamento das regras.

Metodologias de detecção multi-dimensional:

  • Assinaturas (impressões digitais) do ataque.
  • Anomalias no protocolo.
  • Anomalias no comportamento.

Imensa adoção (comunidade SNORT):

  • Dezenas de milhares de instalações (42 mil).
  • Algumas das maiores empresas do mundo (Microsoft, Intel, PWC).
  • Milhares de contribuidores fazendo regras para novas vulnerabilidades.

Infra-estrutura de suporte da comunidade open source:

  • Rápida respostas às ameaças.
  • Velocidade de inovação.
  • Velocidade de refinamento.

Cito agora os pontos fracos.

Performance modesta:

  • Menos de 30mbps para redes de até 10Mbps.

Interface gráfica limitada:

  • Configuração do sensor.
  • Gerenciamento de regras.
  • Implementação lenta e cansativa (pelo menos 10 dias). Capacidade analítica limitada.

Sem suporte comercial:

  • Dependência de pessoas "capacitadas", nem sempre estáveis…
  • Gastos significativos com recursos humanos.

O Snort habilita a placa de rede para o módulo promíscuo,
aceitando todas os pacotes e capturando-os, sua arquitetura funciona em
3 etapas que são:

  • decodificador de pacotes, que é organizado em torno da arquitetura de protocolos.
  • arquitetura de detecção, basicamente formada pelo Chain
    Headers (Cabeçalho de Regra) e Chain Options (Cabeçalho de Opções). O
    Chain Headers possui os atributos normais a uma regra e o Chain Options
    contém os padrões de ataques a serem analisados nos pacotes capturados.
  • arquitetura de armazenamento de regras – é examinada pela
    arquitetura de detecção de forma recursiva, para cada pacote de dados
    capturado. Quando o cabeçalho da regra for idêntico ao cabeçalho do
    pacote capturado, os dados contidos no pacote são comparados com o
    cabeçalho das opções da regra. Se a ocorrência de um ataque for
    identificada, uma ação específica definida na regra é disparada.

O Snort é compatível com praticamente todos os sistemas operacionais mais conhecidos, segue a lista: Linux, OpenBSD, FreeBSD, NetBSD, Solaris, SunOS, HP-UX, AIX, IRIX, Tru64, MACOS, Win32.

O Snort tem suporte a redes Ethernet, SLIP, PPP (Point to Point
Protocol) e está sendo desenvolvido o módulo ATM (Assinchronous
Transfer Mode). Foi desenvolvido a partir da biblioteca Libpcap.

O log que o Snort gera é de difícil compreensão e alguns usuários tem
dificuldade em entendê-lo, por esse motivo criaram uma ferramenta com
interface gráfica via GUI para facilitar para o usuário. Estas
ferramentas são baixadas separadamente e algumas delas podem ser
encontradas no site do Snort.

Confiram a seguir alguns comandos do Snort.

Alguns comandos do Snort

Sniffer Mode

Mostra somente os cabeçalhos dos pacote TCP/IP na tela:

# snort -v

Mostra somente os cabeçalhos do IP, TCP, UDP e ICMP:

# snort -vd

Mostra todos os cabeçalhos e os dados contidos neles também:

# snort -vde

Packet Logger Mode

O Snort gera um arquivo chamado log.txt de todos os pacotes vistos por
ele. Considerando que o diretório "dirdolog" já existe, caso contrário
deve-se criá-lo.

# snort-dev-l/dirdolog/log.txt

Faz com que o Snort capture cabeçalhos TCP/IP, data link e
dados relacionados ao host 192.168.1.0 (Classe C) e armazene o
resultado no subdiretório log:

Obs.: os dados recolhidos serão armazenados em arquivos correspondentes/nomeados com cada endereço IP capturado.

# snort -dev -l ./log -h 192.168.1.0/24

Snort executado com a opção (-b) faz a captura total dos pacotes ao invés de capturar somente cabeçalhos ou somente dados.

# snort -l ./log -b

Uma vez criado o arquivo com a opção (-b), pode-se usar qualquer
sniffer que suporta formato binário tcpdump, tais como snort, tcpdump
ou ethereal para manipular os dados recolhidos:

# snort -dv -r packet.log

De posse do arquivo binário gerado pela opção (-b), pode-se
então criar novas filtragens do tipo BPF interface. No nosso exemplo
estamos fazendo somente a filtragem dos pacotes de ICMP contido no
arquivo binário.

# snort -dvr packet.log icmp

Network Intrusion Detection Mode – (NIDS)

O arquivo de configuração do Snort chama-se snort.conf.
Este arquivo contém as regras e ações a serem tomadas para cada pacote
recolhido e confrontado com ele. O resultado do NIDS será gerado no
diretório /var/log/snort ou outro diretório previamente estipulado.

# snort -b -A fast -c snort.conf

# snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf

O arquivo snort.conf deve estar presente no diretório corrente ou deve ser digitado o diretório onde ele se encontra.

A opção -v acima faz com que o Snort mostre os resultados
também no monitor. Isso causa com que o Snort fique um pouco lento,
podendo até perder alguns pacotes por causa disso.

A opção -e serve para capturar cabeçalhos do data link layer.

Envia alertas para o syslog, opção (-s):

# snort -c snort.conf -l ./log -s -h 192.168.1.0/24

Cria arquivo log no diretório default e envia alertas.

# snort -c snort.conf -s -h 192.168.1.0/24

Gera arquivo de log no formato binário e envia alerta para o Windows Workstation:

# snort -c snort.conf -b -M WORKSTATIONS

Cria arquivo binário, usa alerta rápido e cria arquivo log no /var/log/snort:

# snort -c snort.conf -b -A fast -l /var/log/snort

Gera arquivo de log no formato binário e usa alerta rápido:

# snort -b -A fast -c snort.conf

Gera arquivos no formato ASCII a partir de um arquivo no formato binário:

# snort -d -c snort.conf -l ./log -h 192.168.1.0/24 -r snort.log

A opção (-O) simplesmente oculta seu endereço IP. Essa opção se
torna muito útil nos casos em que queremos enviar arquivos de logs para
newsgroup ou qualquer outro lugar publico.

# snort -d -v -r snort.log -O -h 192.168.1.0/24

Há de se destacar a utilidade dos sistemas detectores de
intrusão e a rápida ascensão destas ferramentas no âmbito da
informática. Muito se fala atualmente em segurança, em vírus, malwares
e trojans. A sociedade aos poucos está mudando, as empresas passam a se
preocupar mais com a proteção a seus dados e a prova maior disso é o
alto número de ferramentas destinadas a segurança que surgiram no
mercado. O Snort é apenas mais uma que se soma a essas.

Brevemente espero trazer outras dicas da operacionalização do Snort já com o apoio de uma ferramenta gráfica.


http://www.vivaolinux.com.br/artigo/Snort-Gerenciamento-de-redes

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s