Nesta página
Exemplo: Configuração de um filtro de firewall sem estado para proteger um sistema lógico contra inundações de ICMP
Este exemplo mostra como configurar um filtro de firewall sem estado que protege contra ataques de negação de serviço do ICMP em um sistema lógico.
Requisitos
Neste exemplo, nenhuma configuração especial além da inicialização do dispositivo é necessária.
Visão geral
Este exemplo mostra um filtro de firewall sem estado chamado protect-RE que policia pacotes ICMP. Isso icmp-policer limita a taxa de tráfego dos pacotes ICMP a 1.000.000 bps e o tamanho da explosão para 15.000 bytes. Pacotes que excedem a taxa de tráfego são descartados.
O policial é incorporado à ação de um termo de filtro chamado icmp-term.
Neste exemplo, um ping é enviado de um roteador físico conectado diretamente para a interface configurada no sistema lógico. O sistema lógico aceita os pacotes ICMP se eles forem recebidos a uma taxa de até 1 Mbps (limite de largura de banda). O sistema lógico derruba todos os pacotes de ICMP quando essa taxa é excedida. A burst-size-limit
declaração aceita rajadas de tráfego de até 15 Kbps. Se as rajadas excederem esse limite, todos os pacotes serão descartados. Quando a taxa de fluxo diminui, os pacotes de ICMP são novamente aceitos.
Topologia
Figura 1 mostra a topologia usada neste exemplo.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet policer input icmp-policer set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30 set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k set logical-systems LS1 firewall policer icmp-policer then discard
Procedimento
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, veja Use o editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar um filtro de firewall ICMP em um sistema lógico:
Configure a interface no sistema lógico.
[edit] user@host# set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet address 10.0.45.2/30
Habilite explicitamente os pacotes de ICMP a serem recebidos na interface.
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term from protocol icmp user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then accept
Crie o policial.
[edit] user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding bandwidth-limit 1m user@host# set logical-systems LS1 firewall policer icmp-policer if-exceeding burst-size-limit 15k user@host# set logical-systems LS1 firewall policer icmp-policer then discard
Aplique o policial em um termo de filtro.
[edit] user@host# set logical-systems LS1 firewall family inet filter protect-RE term icmp-term then policer icmp-policer
Aplique o policiador na interface lógica do sistema.
[edit] user@host# set logical-systems LS1 interfaces ge-0/0/2 unit 0 family inet policer input icmp-policer
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit] user@host# commit
Resultados
Confirme sua configuração emitindo o show logical-systems LS1
comando.
user@host# show logical-systems LS1 interfaces { ge-0/0/2 { unit 0 { family inet { policer { input icmp-policer; } address 10.0.45.2/30; } } } } firewall { family inet { filter protect-RE { term icmp-term { from { protocol icmp; } then { policer icmp-policer; accept; } } } } policer icmp-policer { if-exceeding { bandwidth-limit 1m; burst-size-limit 15k; } then discard; } }
Verificação
Confirme se a configuração está funcionando corretamente.
Verificar se o ping funciona a menos que os limites sejam excedidos
Propósito
Certifique-se de que a interface lógica do sistema esteja protegida contra ataques DoS baseados em ICMP.
Ação
Faça login em um sistema que tenha conectividade ao sistema lógico e execute o ping
comando.
user@R2> ping 10.0.45.2 PING 10.0.45.2 (10.0.45.2): 56 data bytes 64 bytes from 10.0.45.2: icmp_seq=0 ttl=64 time=1.316 ms 64 bytes from 10.0.45.2: icmp_seq=1 ttl=64 time=1.277 ms 64 bytes from 10.0.45.2: icmp_seq=2 ttl=64 time=1.269 ms
user@R2> ping 10.0.45.2 size 20000 PING 10.0.45.2 (10.0.45.2): 20000 data bytes ^C --- 10.0.45.2 ping statistics --- 4 packets transmitted, 0 packets received, 100% packet loss
Significado
Quando você envia um ping normal, o pacote é aceito. Quando você envia um pacote de ping que excede o limite do filtro, o pacote é descartado.