Netflow para conversor syslog

1

Existe alguma maneira de converter o netflow v9 em syslog?

Qual seria a melhor maneira de ter a seguinte ideia funcionando?

Procedimento:

1) O roteador envia o UDP com a seguinte estrutura:

templateId=259: id=259, fields=11
    field id=8 (ipv4 source address), offset=0, len=4
    field id=225 (natInsideGlobalAddress), offset=4, len=4
    field id=12 (ipv4 destination address), offset=8, len=4
    field id=226 (natOutsideGlobalAddress), offset=12, len=4
    field id=7 (transport source-port), offset=16, len=2
    field id=227 (postNAPTSourceTransportPort), offset=18, len=2
    field id=11 (transport destination-port), offset=20, len=2
    field id=228 (postNAPTDestinationTransportPort), offset=22, len=2
    field id=234 (ingressVRFID), offset=24, len=4
    field id=4 (ip protocol), offset=28, len=1
    field id=230 (natEvent), offset=29, len=1

2) Dentro de cada pacote UDP existe um arquivo (Sim, um arquivo dentro de cada pacote UDP), também alguns campos importantes como timestamp e count (número de conjuntos de fluxos dentro do pacote)

3) Dentro de cada conjunto de fluxos há o ID, comprimento e, em seguida, a seqüência de fluxo (usando o modelo mostrado acima).

A idéia geral é ter um binário (o desempenho é uma obrigação, então provavelmente um binário C, multithreaded), que ouve o tráfego UDP e envia a saída como syslog para um servidor que terá o cuidado de escrevê-los no disco. (escrever no disco pode ser feito pelo próprio conversor de fluxo de rede se houver uma maneira de ler os registros gravados).

Alguma ideia de como conseguir isso?

Obrigado.

marc

    
por Marc Riera 01.02.2013 / 11:31

1 resposta

0

Se bem entendi, você deseja monitorar um fluxo do NetFlow para sessões que correspondam a um modelo específico e, em seguida, enviar um evento syslog pré-definido com os detalhes? Não conheço nenhuma ferramenta que faça exatamente isso, mas há duas possibilidades que conheço:

  1. Escreva o seu. O grande gargalo será a análise do NetFlow, mas o uso de uma biblioteca NetFlow de código aberto, como flowd , será uma grande ajuda lá. Isso cuidará de todas as informações de versão e deverá fornecer uma estrutura de dados conveniente para a formação de sua mensagem syslog. Esta será a sua melhor opção em termos de desempenho, porque não estará realizando outras tarefas.

  2. Adquirindo um coletor do NetFlow pronto para uso com funcionalidade de alerta. Os detalhes exatos da configuração variam de produto para produto, mas em geral você estará definindo um filtro restrito e definindo um limite muito baixo para que você receba um alerta (que geralmente é um evento de syslog) para cada sessão. A sobrecarga do restante do produto reduzirá potencialmente a velocidade e os produtos comerciais terão um custo, mas provavelmente será mais fácil implantá-los. (divulgação completa: eu trabalho em uma empresa que vende um coletor NetFlow)

por 18.03.2013 / 21:03