Huawei: Защита плоскости управления

    В статье рассматриваются аспекты защиты плоскости управления маршрутизаторов Huawei NE Series. Примеры приведены для NE40e, с программным обеспечением: VRP V800R008. На других типах маршрутизаторов (например NE5k) и с другой версией ПО, конфигурация может несколько отличаться.


    Для более детального изучения данного вопроса, могу порекомендовать дополнительно ознакомиться с RFC 6192 (Protecting the router Control Plane).


    В VRP существует ряд способов автоматической диагностики и защиты плоскости управления маршрутизаторов. Однако учитывая скудность и непрозрачность документации, я рекомендую все-таки придерживаться традиционного метода защиты: создания белых списков на необходимые протоколы и службы и закрытия остального трафика.


    Основная секция политики выглядит следующим образом:


    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 определяет последовательность работы политики: белый список (который в нашем случае выключен), user-defined-flow, чёрный список (правило 3900 для IPv4 и 3950 для IPv6).


    Учитывая, что мы будем определять разрешённые протоколы сами, весь же остальной трафик будет фильтроваться чёрным списком – необходимости в application-apperceive анализе нет.


    Механизм URPf (Unicast Reverse Path Forwarding) включаем на консервативном loose уровне.


    Чёрные списки, для IPv4 и IPv6 выглядят следующим образом:


    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

    Политику необходимо применить на каждом слоту:


    slot 1
    cpu-defend-policy 1
    #
    slot 2
    cpu-defend-policy 1
    …

    «По умолчанию» включены следующие механизмы защиты:


    udp-packet-defend enable
    fragment-flood enable
    abnormal-packet-defend enable
    tcpsyn-flood enable
    attack-source-trace enable

    Все неиспользуемые протоколы и службы рекомендуется дополнительно закрыть в секции ma-defend. Данная опция может быть включена, как глобально, так и по слотам. Например:


    system-view
     ma-defend global-policy
     protocol OSPF deny
     protocol RIP deny

    или


    system-view
    ma-defend slot-policy 1
    protocol … deny

    Ниже описывается user-defined политика. Общие правила, собраны в таблице ниже. Значения по скорости\приоритету указаны, как пример и не претендуют на "истину в последней инстанции". Максимальное количество элементов в user-defined политике — 64.


    Вид трафика Скорость Приоритет Номер правила
    BGP 1 Mb/s High 3901
    LDP 1 Mb/s High 3902
    IS-IS N\a N\a N\a
    VRRP 1 Mb/s High 3904
    BFD 1 Mb/s High 3905
    MCAST 1 Mb/s High 3906
    SSH 512 Kb/s Middle 3907
    FTP 5 Mb/s Low 3908
    DNS 512 Kb/s Low 3909
    SNMP 1 Mb/s Middle 3910
    TACACS+ 1 Mb/s Low 3911
    NTP 512 Kb/s Low 3912
    ICMP, trace, lsp-ping 512 Kb/s Low 3913

    Далее рассмотрим ACL фильтры, для соответствующих протоколов\служб.


    3901. Протокол BGP.
    Правило, для фильтрации протокола BGP, может выглядеть либо в упрощённом виде:


    acl number 3901
     rule permit tcp destination-port eq bgp
     rule permit tcp source-port eq bgp

    либо же, для каждого пира отдельно:


    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. Протокол 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. All 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. FTP-data


    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 for 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

    Для применения листов, их нужно привязать к cpu-defend политике следующим образом:


    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

    для выставления предупреждений по трешхолдам, можно воспользоваться следующей функцией:


    cpu-defend policy 1
    ...
     alarm drop-rate user-defined-flow 7 threshold 100 interval 60

    тут значение threshhold выставляется в пакетах, а интервал в сек.


    Статистику по работе CoPP фильтров, можно посмотреть в секции display cpu-defend...
    После выполнения настроек, дополнительно стоит просканировать маршрутизатор.


    В заключение хочется отметить, что Huawei (как и любой современный вендор) предлагает все необходимые методы, для защиты плоскости управления своих маршрутизаторов. А периодически появляющиеся сообщения об найденных уязвимостях, показывают, что этими инструментами не стоит пренебрегать.

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 3

      0
      а у Хуавей именованых ACL нету?
        0
        Оно как-бы есть:
        [~TEST1]acl name ?
        STRING<1-64> Specify the ACL name (the name is a string of 1 to 64
        characters, which begins with a-z or A-Z)

        [~TEST1]acl number ?
        INTEGER<1000-1999> Interface access-list(add to current using rules)
        INTEGER<10000-10999> MPLS access-list (add to current using rules)
        INTEGER<2000-2999> Basic access-list(add to current using rules)
        INTEGER<3000-3999> Advanced access-list(add to current using rules)
        INTEGER<4000-4999> Specify a L2 ACL group(add to current using rules)
        INTEGER<6000-9999> Ucl access-list(add to current using rules)

        но в случае с cpu-defend не применимо:
        [~TEST1-cpu-defend-policy-1]user-defined-flow 14 acl ?
        INTEGER<2000-2999> Apply basic access-list
        INTEGER<3000-3999> Apply advance access-list
          0

          «Защита плоскости управления» чего-чего простите защита? Что за мода пошла переводить неперовимые, устоявшиеся термины и фразы, и главное для кого? Человеку, которы не понимает ни слова поманглийски и не знает такого термина как control plane, эта статья явно будет никчему

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое