Este artigo discute os aspectos de proteção do plano de controle dos roteadores Huawei NE Series. Exemplos são dados para o NE40e, com o software: VRP V800R008. Em outros tipos de roteadores (por exemplo, NE5k) e com uma versão diferente do software, a configuração pode ser um pouco diferente.
Para um estudo mais detalhado desse problema, também posso me familiarizar com o RFC 6192 (Protecting the Router Control Plane).
No VRP, existem várias maneiras de diagnosticar e proteger automaticamente o plano de controle dos roteadores. No entanto, dada a escassez e a opacidade da documentação, recomendo que você ainda adote o método tradicional de proteção: criar listas brancas para os protocolos e serviços necessários e fechar o restante do tráfego.
A seção principal da política é a seguinte:
cpu-defend policy 1 process-sequence whitelist user-defined-flow blacklist cp-acl ip-pool enable whitelist disable blacklist acl 3900 blacklist ipv6 acl 3950 application-apperceive disable ip urpf loose
process-sequence determina a sequência da política: lista branca (que está desativada no nosso caso), fluxo definido pelo usuário, lista negra (regra 3900 para IPv4 e 3950 para IPv6).
Considerando que nós mesmos determinaremos os protocolos permitidos, o restante do tráfego será filtrado por uma lista negra - não há necessidade de análise de aplicação .
O mecanismo URPf (encaminhamento de caminho reverso de difusão ponto a ponto) é ativado em um nível flexível conservador.
As listas negras para IPv4 e IPv6 são as seguintes:
acl number 3900 description --- ACL For IPv4 Discard --- rule 5 deny tcp rule 10 deny udp rule 15 deny ip # acl ipv6 number 3950 description --- ACL For IPv6 Discard --- rule 5 deny tcp rule 10 deny udp rule 15 deny ipv6
A política deve ser aplicada em cada slot:
slot 1 cpu-defend-policy 1 # slot 2 cpu-defend-policy 1 …
Por padrão, os seguintes mecanismos de proteção estão habilitados:
udp-packet-defend enable fragment-flood enable abnormal-packet-defend enable tcpsyn-flood enable attack-source-trace enable
É recomendável que você feche todos os protocolos e serviços não utilizados na seção ma-defender . Esta opção pode ser ativada globalmente e por slots. Por exemplo:
system-view ma-defend global-policy protocol OSPF deny protocol RIP deny
ou
system-view ma-defend slot-policy 1 protocol … deny
A seguir, descreve uma política definida pelo usuário . As regras gerais estão resumidas na tabela abaixo. Valores para velocidade / prioridade são indicados, como exemplo, e não afirmam ser "a verdade suprema". O número máximo de elementos em uma política definida pelo usuário é 64.
Tipo de tráfego | Velocidade | Prioridade | Número da regra |
---|
BGP | 1 Mb / s | Alta | 3901 |
Ldp | 1 Mb / s | Alta | 3902 |
IS-IS | N \ a | N \ a | N \ a |
VRRP | 1 Mb / s | Alta | 3904 |
Bfd | 1 Mb / s | Alta | 3905 |
Mcast | 1 Mb / s | Alta | 3906 |
Ssh | 512 Kb / s | Médio | 3907 |
FTP | 5 Mb / s | Baixo | 3908 |
DNS | 512 Kb / s | Baixo | 3909 |
SNMP | 1 Mb / s | Médio | 3910 |
TACACS + | 1 Mb / s | Baixo | 3911 |
NTP | 512 Kb / s | Baixo | 3912 |
ICMP, rastreamento, ping-lsp | 512 Kb / s | Baixo | 3913 |
Em seguida, considere os filtros da ACL para os respectivos protocolos / serviços.
3901. O protocolo BGP.
A regra para filtrar o BGP pode parecer de uma forma simplificada:
acl number 3901 rule permit tcp destination-port eq bgp rule permit tcp source-port eq bgp
ou, para cada festa separadamente:
acl ip-pool BGP-Peers ip address 10.1.1.1 0.0.0.0 acl number 3901 rule permit tcp source-pool BGP-Peers 0 destination-port eq bgp rule permit tcp source-pool BGP-Peers 0 source-port eq bgp
3902. O protocolo LDP.
rule 5 permit tcp source-pool Lo0_P2P destination-port eq 646 rule 10 permit tcp source-pool Lo0_P2P source-port eq 646 rule 15 permit udp source-pool Lo0_P2P destination-port eq 646 rule 20 permit udp source-pool Lo0_P2P source-port eq 646
3904. VRRP
acl ip-pool VRRP_Peers ip address 10.1.1.1 0.0.0.0 acl number 3904 rule permit 112 source-pool VRRP_Peers
3905. BFD
acl number 3343 rule permit udp source-pool Lo0_P2P destination-port eq 3784 rule permit udp source-pool Lo0_P2P source-port eq 3784
3906. Todos os MCAST (IGMP, PIM, MSDP)
acl number 3906 rule permit 103 rule permit igmp rule permit udp destination-port eq 639 rule permit udp source-port eq 639 rule permit tcp destination-port eq 639 rule permit tcp source-port eq 639
3907. SSH
acl number 3907 description ### SSH access ### rule 5 permit tcp source-pool MGMT source-port eq 22 rule 10 permit tcp source-pool MGMT destination-port eq 22 rule 15 permit tcp source-pool MGMT destination-port eq 830
3908. FTP. Dados FTP
acl port-pool ftp eq 20 eq 21 acl number 3908 rule 10 permit tcp source-pool MGMT source-port-pool ftp rule 15 permit tcp source-pool MGMT destination-port-pool ftp
3909. DNS
acl ip-pool DNS ip address 1.1.1.1 0.0.0.0 ip address 8.8.8.8 0.0.0.0 acl number 3909 rule 5 permit udp source-pool DNS source-port eq dns
3910. SNMP
acl number 3909 rule 5 permit udp source-pool SNMP source-port eq snmp rule 10 permit udp source-pool SNMP destination-port eq snmp
3911. TACACS +
acl number 3911 rule 5 permit tcp source-pool TACACS source-port eq tacacs rule 10 permit udp source-pool TACACS source-port eq tacacs-ds
3912. NTP
acl number 3911 rule 5 permit udp source-pool NTP source-port eq ntp rule 10 permit udp source-pool NTP destination-port eq ntp
3913. ICMP
acl number 3342 rule permit icmp icmp-type echo rule permit icmp icmp-type echo-reply rule permit icmp icmp-type ttl-exceeded rule permit icmp icmp-type port-unreachable rule permit icmp icmp-type Fragmentneed-DFset rule permit icmp rule permit udp destination-port range 33434 33678 rule permit udp destination-port eq 3503
3951. BGP para IPv6
acl ipv6 number 3951 rule 5 permit tcp destination-port eq bgp
3952. ICMPv6
acl ipv6 number 3952 rule 30 permit icmpv6 rule 35 permit udp destination-port range 33434 33678
Para usar folhas, é necessário vinculá-las à política de defesa da CPU da seguinte maneira:
cpu-defend policy 1 ... user-defined-flow 1 acl 3901 user-defined-flow 2 acl 3902 user-defined-flow 4 acl 3904 user-defined-flow 5 acl 3905 user-defined-flow 6 acl 3906 user-defined-flow 7 acl 3907 user-defined-flow 8 acl 3908 user-defined-flow 9 acl 3909 user-defined-flow 10 acl 3910 user-defined-flow 11 acl 3911 user-defined-flow 12 acl 3912 user-defined-flow 13 acl 3913 user-defined-flow 51 ipv6 acl 3951 user-defined-flow 52 ipv6 acl 3952 car blacklist cir 0 cbs 0 car user-defined-flow 1 cir 1000 car user-defined-flow 2 cir 1000 car user-defined-flow 4 cir 1000 car user-defined-flow 5 cir 1000 car user-defined-flow 6 cir 1000 car user-defined-flow 7 cir 512 car user-defined-flow 8 cir 5000 car user-defined-flow 9 cir 512 car user-defined-flow 10 cir 1000 car user-defined-flow 11 cir 1000 car user-defined-flow 12 cir 512 car user-defined-flow 13 cir 512 car user-defined-flow 51 cir 10000 car user-defined-flow 52 cir 512 priority user-defined-flow 1 high priority user-defined-flow 2 high priority user-defined-flow 4 high priority user-defined-flow 5 high priority user-defined-flow 6 high priority user-defined-flow 7 middle priority user-defined-flow 8 low priority user-defined-flow 9 low priority user-defined-flow 10 middle priority user-defined-flow 11 low priority user-defined-flow 12 low priority user-defined-flow 13 low priority user-defined-flow 51 high priority user-defined-flow 52 low
Para definir alertas em lixeiras, você pode usar a seguinte função:
cpu-defend policy 1 ... alarm drop-rate user-defined-flow 7 threshold 100 interval 60
aqui o valor do limiar é definido em pacotes e o intervalo em segundos.
As estatísticas sobre a operação dos filtros CoPP podem ser encontradas na seção cpu-defender do visor ...
Depois de concluir as configurações, vale a pena verificar o roteador.
Concluindo, quero observar que a Huawei (como qualquer fornecedor moderno) oferece todos os métodos necessários para proteger o plano de controle de seus roteadores. E as mensagens que aparecem periodicamente sobre vulnerabilidades encontradas mostram que essas ferramentas não devem ser negligenciadas.