O que é esta configuração
É a configuração de inline J-Flow de um Juniper MX de borda que exporta IPFIX para dois servidores EdgeWarden ao mesmo tempo. O passo a passo genérico está em Como exportar IPFIX de um Juniper MX para o EdgeWarden. Aqui o foco é explicar o que cada linha faz e por que alguns valores diferem dos do guia.
Os endereços foram trocados por endereços de documentação: coletores 192.0.2.10 e 192.0.2.11, origem da exportação 198.51.100.1. Troque pelos seus antes de colar.
| Item | Guia | Esta configuração | Efeito |
|---|---|---|---|
| Active timeout do template | 60 s | 15 s | Flow longo exportado a cada 15 s: detecção mais cedo, mais exportação |
| Template e option refresh | 60 s | 10 s | Depois de reiniciar o coletor, os dados voltam a ser decodificados em até 10 s |
| Amostragem | 1:1000 | 1:500 | Mais precisão, cerca do dobro de flows |
| Coletores | 1 | 2 | Os dois recebem uma cópia de todos os flows |
| Tabelas de flow (IPv4 e IPv6) | 8 e 4 | 10 e 5 | 2.621.440 entradas IPv4 e 1.310.720 IPv6 |
Chassi e FPC
set chassis network-services enhanced-ip
set chassis fpc 0 sampling-instance EDGEWARDEN
set chassis fpc 0 inline-services flow-table-size ipv4-flow-table-size 10
set chassis fpc 0 inline-services flow-table-size ipv6-flow-table-size 5network-services enhanced-ip: modo de rede do chassi para as MPC Trio. Seshow chassis network-servicesjá mostraEnhanced-IP, a linha só deixa o modo explícito. Mudar esse modo exige reiniciar o roteador.sampling-instance EDGEWARDEN: associa a instância de amostragem à FPC 0. Sem essa linha a instância fica inativa e nada é exportado. Num MX com várias FPC, repita para cada FPC que tem interface amostrada.flow-table-size: cada unidade vale 256K entradas. 10 unidades dão 2.621.440 flows IPv4 simultâneos; 5 dão 1.310.720 IPv6. Desde o Junos 16.1R1 e 15.1F2 as tabelas nascem com só 1.024 entradas, pouco para um ataque com origens forjadas, em que cada origem vira um flow. O máximo por placa está no passo 3 do guia.
Antes do Junos 16.1R1 e 15.1F2, mudar flow-table-size reinicia a FPC. Nessas versões, faça a alteração em janela de manutenção.
Templates IPFIX
set services flow-monitoring version-ipfix template EDGEWARDEN flow-active-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN flow-inactive-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN nexthop-learning enable
set services flow-monitoring version-ipfix template EDGEWARDEN template-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN option-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN ipv4-template
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 flow-active-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 flow-inactive-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 nexthop-learning enable
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 template-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 option-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 ipv6-templateSão dois templates com os mesmos parâmetros: EDGEWARDEN para IPv4 e EDGEWARDEN-v6 para IPv6.
ipv4-templateeipv6-template: definem o conjunto de campos exportado em cada família (endereços, portas, protocolo, interfaces, ASN, next-hop, bytes e pacotes).flow-active-timeout 15: um flow que continua ativo, como o de um ataque, é exportado a cada 15 s. Somado ao ciclo de análise do EdgeWarden (10 s por padrão), o ataque aparece em cerca de 25 s, contra cerca de 70 s com 60 s. O custo: um flow longo gera 4 registros por minuto em vez de 1.flow-inactive-timeout 15: um flow sem pacotes há 15 s é encerrado e exportado, o que libera a entrada na tabela de flow.nexthop-learning enable: com ECMP, informa a interface de saída e o next-hop corretos. Sem isso, o MX informa o primeiro caminho em IPv4 e zera interface de saída e next-hop em IPv6. Exige Junos 15.1F2 ou mais novo.template-refresh-rate seconds 10: reenvia o template a cada 10 s. O coletor só decodifica os dados depois de receber o template; depois de reiniciar um dos servidores EdgeWarden, a espera é de no máximo 10 s, contra 600 s no padrão do Junos.option-refresh-rate seconds 10: reenvia o Options Template, que leva a taxa de amostragem. É por ele que a coluna Amostragem do EdgeWarden mostra detectado.
Instância de amostragem
A instância diz quanto amostrar, para onde exportar e com qual endereço de origem. Primeiro, a taxa:
set forwarding-options sampling instance EDGEWARDEN input rate 500
set forwarding-options sampling instance EDGEWARDEN input run-length 0input rate 500: amostra 1 de cada 500 pacotes que entram nas interfaces comsampling input. Esse 500 vai no cadastro do dispositivo no EdgeWarden.input run-length 0: depois de cada pacote sorteado, não amostra nenhum pacote seguido a mais. É o padrão, aqui explícito. Comrun-lengthmaior que 0, cada sorteio levaria vários pacotes em sequência e a proporção real deixaria de ser 1:500.
Família IPv4
set forwarding-options sampling instance EDGEWARDEN family inet output flow-inactive-timeout 15
set forwarding-options sampling instance EDGEWARDEN family inet output flow-active-timeout 60
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 version-ipfix template EDGEWARDEN
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 version-ipfix template EDGEWARDEN
set forwarding-options sampling instance EDGEWARDEN family inet output inline-jflow source-address 198.51.100.1
set forwarding-options sampling instance EDGEWARDEN family inet output inline-jflow flow-export-rate 10output flow-active-timeout 60eflow-inactive-timeout 15: no inline J-Flow, a exportação segue os timeouts do template (15 s e 15 s). Para não deixar dúvida sobre qual valor vale, remova essas duas linhas ou use nelas os mesmos valores do template.flow-server ... port 2055: um coletor por bloco de linhas. Com doisflow-server, o MX manda uma cópia de cada flow para cada servidor; não é balanceamento. Se um servidor cair, o outro continua recebendo tudo.autonomous-system-type origin: preenche os campos de ASN com o AS que originou o prefixo (o último do AS-path), e não com o AS vizinho (peer). É o que permite ao EdgeWarden mostrar de qual rede vem o tráfego. Depende de o MX ter as rotas BGP desses prefixos.no-local-dump: não grava uma cópia dos flows em arquivo de log no roteador. Essa cópia só serve para depuração e consome disco e CPU da Routing Engine.version-ipfix template EDGEWARDEN: exporta em IPFIX com o template IPv4.inline-jflow source-address 198.51.100.1: o IP de origem dos pacotes de exportação. É esse IP que você cadastra no EdgeWarden, e ele conta como um exportador na licença. Use a loopback, com rota até os coletores pela rede de dados: o MX não exporta flow inline pelafxp0.inline-jflow flow-export-rate 10: até 10 mil pacotes de exportação por segundo, valor que vale para a FPC inteira. O padrão é 1, pouco para uma borda sob ataque. Aqui ele está só na famíliainet; o passo 2 do guia repete o valor nainet6, e você pode fazer o mesmo.
Família IPv6
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-inactive-timeout 15
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-active-timeout 60
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 version-ipfix template EDGEWARDEN-v6
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 version-ipfix template EDGEWARDEN-v6
set forwarding-options sampling instance EDGEWARDEN family inet6 output inline-jflow source-address 198.51.100.1É o espelho da família IPv4, com duas diferenças que importam:
- O template é o
EDGEWARDEN-v6. - Coletores e
source-addresscontinuam em IPv4: os flows IPv6 viajam dentro de pacotes IPv4. Com o mesmosource-addressnas duas famílias, o MX ocupa uma vaga na licença e um único cadastro no EdgeWarden.
Interface de borda
set interfaces et-0/0/1 unit 467 description Peer1
set interfaces et-0/0/1 unit 467 vlan-id 467
set interfaces et-0/0/1 unit 467 family inet sampling input
set interfaces et-0/0/1 unit 467 family inet address 203.0.113.17/31
set interfaces et-0/0/1 unit 467 family inet6 sampling input
set interfaces et-0/0/1 unit 467 family inet6 address 2001:db8:467::1/127family inet sampling inputefamily inet6 sampling input: amostram o que entra pelo peer, que é por onde o ataque chega. Sem a linha dainet6, o tráfego IPv6 passa sem ser visto. Repita nas outras interfaces de trânsito e PTT e, se quiser ver ataques saindo de clientes, na entrada das interfaces deles.- O ifIndex que vai no flow é o da unidade lógica
et-0/0/1.467, não o da porta física. O EdgeWarden busca por SNMP o nome desse ifIndex e mostraPeer1na tela de Interfaces. Para conferir o número:show interfaces et-0/0/1.467 | match "SNMP ifIndex".
Duas linhas que não fazem parte da exportação
É comum encontrar estas linhas ao lado da configuração de flow. Nenhuma delas muda a exportação para o EdgeWarden:
set services inline-monitoring template EDGEWARDEN template-refresh-rate 10: o inline monitoring é outro recurso do Junos, que exporta trechos dos pacotes em IPFIX em vez de flows e tem instâncias próprias. O template do inline J-Flow é o deservices flow-monitoring; essa linha não o altera e pode sair.set chassis alarm management-ethernet link-down ignore: só silencia o alarme da porta de gerência desconectada.
Cadastro no EdgeWarden
Repita em cada um dos dois servidores:
- Em Configurações → Rede → Dispositivos, cadastre o MX com Endereço IP
198.51.100.1, Taxa de Amostragem de Flow500e os dados de SNMP. - Com o
option-refresh-ratede 10 s, a coluna Amostragem passa a mostrar detectado com 1:500 poucos segundos depois que os flows começam a chegar. - Siga a conferência no roteador e no EdgeWarden do guia para validar a exportação e a taxa.
Quem alcança a 2055/UDP pode injetar flows forjados e envenenar a detecção. Nos dois servidores, restrinja a porta aos IPs dos roteadores.
Configuração completa
Para colar de uma vez, sem as duas linhas que não fazem parte da exportação. Troque os endereços, a interface e a FPC pelos seus, cole em modo de configuração e rode commit check e commit confirmed 10 antes do commit.
set chassis network-services enhanced-ip
set chassis fpc 0 sampling-instance EDGEWARDEN
set chassis fpc 0 inline-services flow-table-size ipv4-flow-table-size 10
set chassis fpc 0 inline-services flow-table-size ipv6-flow-table-size 5
set services flow-monitoring version-ipfix template EDGEWARDEN flow-active-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN flow-inactive-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN nexthop-learning enable
set services flow-monitoring version-ipfix template EDGEWARDEN template-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN option-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN ipv4-template
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 flow-active-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 flow-inactive-timeout 15
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 nexthop-learning enable
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 template-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 option-refresh-rate seconds 10
set services flow-monitoring version-ipfix template EDGEWARDEN-v6 ipv6-template
set forwarding-options sampling instance EDGEWARDEN input rate 500
set forwarding-options sampling instance EDGEWARDEN input run-length 0
set forwarding-options sampling instance EDGEWARDEN family inet output flow-inactive-timeout 15
set forwarding-options sampling instance EDGEWARDEN family inet output flow-active-timeout 60
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.10 version-ipfix template EDGEWARDEN
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet output flow-server 192.0.2.11 version-ipfix template EDGEWARDEN
set forwarding-options sampling instance EDGEWARDEN family inet output inline-jflow source-address 198.51.100.1
set forwarding-options sampling instance EDGEWARDEN family inet output inline-jflow flow-export-rate 10
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-inactive-timeout 15
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-active-timeout 60
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.10 version-ipfix template EDGEWARDEN-v6
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 port 2055
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 autonomous-system-type origin
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 no-local-dump
set forwarding-options sampling instance EDGEWARDEN family inet6 output flow-server 192.0.2.11 version-ipfix template EDGEWARDEN-v6
set forwarding-options sampling instance EDGEWARDEN family inet6 output inline-jflow source-address 198.51.100.1
set interfaces et-0/0/1 unit 467 description Peer1
set interfaces et-0/0/1 unit 467 vlan-id 467
set interfaces et-0/0/1 unit 467 family inet sampling input
set interfaces et-0/0/1 unit 467 family inet address 203.0.113.17/31
set interfaces et-0/0/1 unit 467 family inet6 sampling input
set interfaces et-0/0/1 unit 467 family inet6 address 2001:db8:467::1/127Próximos passos
Para escolher outros valores de taxa e timeout, veja Amostragem e timeouts de NetFlow e IPFIX sem perder ataques. Se os flows não aparecerem, siga o checklist Nenhum flow aparece no EdgeWarden?. O passo a passo completo, com SNMP e as armadilhas do MX, está em Como exportar IPFIX de um Juniper MX para o EdgeWarden.