Sunday, December 8, 2013

Aplicando Filtro e Monitorando pacotes em Juniper Parte 2


 No artigo anterior nos falamos sobre filtro no JUNOS e como monitorar o trafico passante pela interface. Ação comum e necessária em trobleshooting de redes.
 Hoje vou mostrar um filtro um pouco mais elaborado. A idéia dessa filtro é bloquear o acesso http ao device e permitir  o resto.
  Vamos a config:

root@Sinapse# edit firewall family inet

[edit firewall family inet]
root@Sinapse# show
filter Block_HTTP {
    term port-80 {
        from {
            source-address {
                192.168.62.0/24;
            }
            protocol tcp;
            destination-port http;
        }
        then {
            reject;
        }
    }
    term Permit_all_else {
        then accept;
    }
}


 Vamos lá. Foi criado um filtro chamado Block_HTTP e dentro desse filtro foram criados dois term. O primeiro term bloqueia acessos vindo da rede 192.168.62.0/24 com protocolo tcp na porta http.
O segundo term não permite nada específico. Porém, a não adicao desse term, causaria todas as portas serem bloqueadas.
Não podemos esquecer que, assim como nas ACL do IOS, os term do  JUNOS também possui um deny any implícito. Desta forma, adicionar um filtro permitindo, após um único filtro bloqueando, é fundamental.


Agora vamos ver os tráfico passando pela interface:









root@Sinapse> monitor traffic detail interface em0 matching "port  80"
Address resolution is ON. Use <no-resolve> to avoid any reverse lookup delay.
Address resolution timeout is 4s.
Listening on em0, capture size 1514 bytes

Reverse lookup for 192.168.62.100 failed (check DNS reachability).
Other reverse lookup failures will not be reported.
Use <no-resolve> to avoid reverse lookups on IP addresses.

02:51:15.038586  In IP (tos 0x0, ttl 128, id 13151, offset 0, flags [DF], proto: TCP (6), length: 52) 192.168.62.151.58473 > 192.168.62.100.http: S 3234236900:3234236900(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>
02:51:15.295991  In IP (tos 0x0, ttl 128, id 13152, offset 0, flags [DF], proto: TCP (6), length: 52) 192.168.62.151.58474 > 192.168.62.100.http: S 1097943701:1097943701(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>
02:51:16.327213  In IP (tos 0x0, ttl 128, id 13154, offset 0, flags [DF], proto: TCP (6), length: 52) 192.168.62.151.58475 > 192.168.62.100.http: S 2398065096:2398065096(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>
02:51:16.581450  In IP (tos 0x0, ttl 128, id 13155, offset 0, flags [DF], proto: TCP (6), length: 52) 192.168.62.151.58476 > 192.168.62.100.http: S 2117150508:2117150508(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>
02:51:17.982157  In IP (tos 0x0, ttl 128, id 13157, offset 0, flags [DF], proto: TCP (6), length: 52) 192.168.62.151.58473 > 192.168.62.100.http: S 3234236900:3234236900(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>

 Como existem outros fluxos passando pela interface, fiz um filtro para capturar apenas a porta 80. O monitor é como o tcpdump e como tal é muito flexível.

 E assim concluo esse artigo. Simples mas de importância em um trobleshooting. A medida que for estudando sobre esse magnífico JUNOS, vou postando mais configurações aqui.

No comments:

Post a Comment