Network: Классическая архитектура сетевых устройств на базе Cisco IOS (NFP: control plane, management plane, data plane), защита компонентов

nfp
Network foundation protection (NFP). Подход разделения устройства на ряд компонентов позволяет проще реализовать защиту каждого компонента на основе функций, которые реализуют данные компоненты и их угроз. Защита всех компонентов позволяет говорить и защите системы в целом.
Примеры компонентов устройств на основе Cisco IOS архитектуры:
    • Management plane – протоколы/трафик управления устройством (ssh, https). Проблемы с management plane, по аналогии с другими  компонентам могут быть критичными для всех компонентов – напр. устройство не настроено, устройство злонамеренно сброшено или перенастроено (легкий доступ).
    • Control plane – протоколы, которые сетевые устройства используют для передачи трафика (напр. протоколы маршрутизации, коммутации).
    • Data plane – трафик пользователей/транзитный трафик, который передается на основе control plane информации.
Команда autosecure в Cisco IOS настраивает безопасные дефолты для всех трех компонентов. При этом, если у вас плохой дизайн сети (напр.  вы не реализуете отказоустойчивость) даже идеальное одно устройство по всем аспектам (включая настройку) вам не поможет избежать всех проблем.
management plane

Защита management plane подразумевает защиту доступа к устройству.
    • IP access – trusted hosts для доступа на устройство
    • Использовать OOB (out-of-band), напр. по отдельному каналу или разделению по vlan с пользовательским трафиком. OOB не помогает вам избежать простоя при падении, а лишь помогает сократить время восстановления когда падение произошло.
    • Шифрование management трафика, особенно если передается он inband, а не по отдельному каналу (OOB). Если протокол не реализует шифрование – можно использовать ipsec. Примеры:
      • Syslog
      • NTP на всех девайсах
      • SNMPv3 with security
      • Radius
    • Disable unused ports/sevices – Implicit deny/whitelisting/default deny: теория в security, пример практики в cisco ios nfp architecture. Особенно использующие udp протокол т.к. они не часто по факту используются для легитимных действий, но часто используются для нелигитимных – напр. Dos; bootp, dhcp, dns, cdp/lldp, finger, pad, small servers, https/s. Это автоматически делает команда autosecure Cisco IOS.
Disabling Global Services
After enabling this feature (through the auto secure command), the following global services are disabled on the router without prompting the user:
- Finger--Collects information about the system (reconnaissance) before an attack. If enabled, the information can leave your device vulnerable to attacks.
- PAD--Enables all packet assembler and disassembler (PAD) commands and connections between PAD devices and access servers. If enabled, it can leave your device vulnerable to attacks.
- Small Servers--Causes TCP and User Datagram Protocol (UDP) diagnostic port attacks: a sender transmits a volume of fake requests for UDP diagnostic services on the router, consuming all CPU resources.
- Bootp Server--Bootp is an insecure protocol that can be exploited for an attack.
- HTTP Server--Without secure-http or authentication embedded in the HTTP server with an associated ACL, the HTTP server is insecure and can be exploited for an attack. (If you must enable the HTTP server, you are prompted for the proper authentication or access list.)
- Identification Service--An insecure protocol, defined in RFC 1413, that allows one to query a TCP port for identification. An attacker can access private information about the user from the ID server.
- CDP--If a large number of Cisco Discovery Protocol (CDP) packets are sent to the router, the available memory of the router can be consumed, causing the router to crash.
- NTP--Without authentication or access-control, Network Time Protocol (NTP) is insecure and can be used by an attacker to send NTP packets to crash or overload the router. (If you want to turn on NTP, you must configure NTP authentication using Message Digest 5 (MD5) and the ntp access-group command. If NTP is enabled globally, disable it on all interfaces on which it is not needed.)
- Source Routing--Provided only for debugging purposes, so source routing should be disabled in all other cases. Otherwise, packets may slip away from some of the access control mechanisms that they should have gone through.

Disabling Per Interface Services
After enabling this feature, the following per interface services are disabled on the router without prompting the user:
- ICMP redirects--Disabled on all interfaces. Does not add a useful functionality to a correctly configured to network, but it could be used by attackers to exploit security holes.
- ICMP unreachables--Disabled on all interfaces. Internet Control Management Protocol (ICMP) unreachables are a known cause for some ICMP-based denial of service (DoS) attacks.
- ICMP mask reply messages--Disabled on all interfaces. ICMP mask reply messages can give an attacker the subnet mask for a particular subnetwork in the internetwork.
- Proxy-Arp--Disabled on all interfaces. Proxy-Arp requests are a known cause for DoS attacks because the available bandwidth and resources of the router can be consumed in an attempt to respond to the repeated requests that are sent by an attacker.
- Directed Broadcast--Disabled on all interfaces. Potential cause of SMURF attacks for DoS.
- Maintenance Operations Protocol (MOP) service--Disabled on all interfaces.

 

CONTROL plane

Защита control plane подразумевает защиту протоколов маршрутизации и cpu устройства от атак подмены/флуда, в том числе, направленного на само устройство.
    • L3 routing protocols (OSPF, EIGRP) – на routing protocols возможны атаки mitm/dos (как с stp), рекомендуется использовать аутентификацию и не включать на пользовательских интерфейсах анонсы.
    • Cpu cycles расходуются при обработке служебных пакетов, которые должны быть обработаны на cpu, флуд такими пакетами может «положить» устройство или как минимум не дать обрабатывать mgmt/data трафик. Примеры:
      • management protocols,
      • протоколов маршрутизации
      • пакеты с ip options/истекшим ttl
      • другие исключения из cef
    • COPP/CPPR/selective packet discard – защищают от атак на control plane. Помимо задания acl trusted hosts можно задать, что на management трафик типа ssh/https/pps/snmp будет накладываться определенный rate limit (напр. разрешаем 100 pps ssh трафика; syslog 200 pps; IPv6 ND 10 pps; etc) или прямой запрет. Cpu в итоге не будет ни при каких условиях обрабатывать больше трафика, чем указано в rate limit.
      • Так же можно настроить SPD – selective packet discard (близкий аналог WRED), который позволяет приоритизировать одни пакеты над другими (напр. stp, routing, management над другими).
      • COPP – control plane policing – применяется ко всему logical control plane интерфейсу (по сути, ко всему устройству), а не к физическим/l3 интерфейсам. В итоге, независимо от интерфейса, на который пришел пакет, процессор устройства может быть защищен.
      • CPPR – control plane protection – позволяет более детальную классификацию трафика, большую в сравнении с COPP. Можно применить три разных интерфейса:
        • Host subinterface – обрабатывает трафик к одному физическому или логическому интерфейсу устройства
        • Transit subinterface – обрабатывает определенный data plane трафик,  который требует ресурсы cpu (примеры выше в cpu cycles)
        • Logical control plane interface – общий интерфейс перед cpu, но за всеми интерфейсами (логическими/физическими), аналог интерфейса COPP
DATA plane

Защита data plane подразумевает защиту пользовательского (транзитного для устройства) трафика
    • Block at device – блокируйте трафик на основе ваших политик (напр. если корпоративная политики не разрешает tftp – блокируйте in/out его ACL), при этом ACL лучше всего размещать как можно ближе к источнику  на направление in
      • минимизация влияния трафика на сеть
      • минимизация влияния трафика на локальное устройство – отсутствие lookup на самом девайсе для выбора out интерфейса
      • минимизация влияния трафика на другие девайсы
    • Reduce DoS – уменьшайте шансы dos атаки. Подробнее в DOS.
    • Reduce Spoofing – напр. фильтрация на основе acl по внутренним адресам на аплинке, ipg/dai/port security
    • Badwidth mgmt – rate limit/qos определенных видов трафика (напр. количество icmp трафика) lol
    • Use IPS – для того чтобы отловить конкретный malicious трафик
    • L2 protection

Leave a Reply