Принципы защиты сетевых устройств
Безопасность корпоративной сети начинается с защиты ее ключевых элементов — коммутаторов, маршрутизаторов и межсетевых экранов. При конфигурации защиты сетевого устройства принято разделять функционал на три уровня. Защита каждого из них критически важна для предотвращения атак и обеспечения отказоустойчивости.
Management Plane: Отвечает за управление самим устройством. Через нее проходит трафик, предназначенный для устройства (например, конфигурация, мониторинг, логи). Ключевые протоколы: SSH для безопасного доступа, SNMP для сбора статистики, syslog для аудита.
Control Plane: Обеспечивает работоспособность сетевой инфраструктуры, обрабатывая служебный трафик, имеющий первостепенное значение для поддержания функциональности сетевой инфраструктуры. Сюда входят протоколы маршрутизации (BGP, OSPF, EIGRP), протокол разрешения адресов (ARP), протоколы построения связующего дерева (STP) и т.д. Атака на эту плоскость может парализовать всю сеть.
Data Plane / Forwarding Plane: Обрабатывает основной пользовательский трафик, который транзитом проходит через устройство. Задача data plane — эффективная и безопасная пересылка пакетов согласно политикам.
Данное руководство содержит рекомендации по защите каждой из этих плоскостей. Для каждой функции представлено общее описание, ее важность для безопасности и, по возможности, практические шаги по настройке. В случаях, когда инструкции носят общий характер, даются указания, на какие аспекты следует обратить внимание и где искать информацию.
Все маршрутизаторы линейки ESR реализованы как программные платформы на базе универсальных вычислительных процессоров. Обработка сетевого трафика осуществляется полностью в программном режиме на универсальном процессоре без применения специализированной аппаратуры (ASIC, FPGA). Архитектура предусматривает изоляцию областей обработки данных: управляющий трафик (протоколы маршрутизации, управление, мониторинг) обрабатывается на выделенном MCPU (Management CPU), тогда как пользовательский трафик (data plane) обрабатывается на отдельных SCPU (Services CPU), что обеспечивает детерминированную производительность и защиту от влияния служебных процессов на пропускную способность.
Подробно ознакомиться с распределением CPU можно в документации Datasheet на требуемое устройство.
Защита плоскости управления (Control plane)
Control plane — отвечает за обмен служебной информацией между сетевыми устройствами для обеспечения связности, резервирования ресурсов, необходимых для передачи пользовательского трафика.
Важно, чтобы процессы происходящие в Management Plane и Data Plane не оказывали негативного влияния на Control Plane. Если событие в Data Plane, например, DoS-атака, повлияет на Control Plane, вся сеть может стать нестабильной. Предоставленная ниже информация о функциях и конфигурациях программного обеспечения ESR может помочь обеспечить отказоустойчивость Control Plane.
На устройствах ESR весь трафик Control plane обрабатывается на специально выделенном MCPU (Management CPU | Управляющий CPU).
Общие параметры защиты Control plane
Защита Control plane сетевого устройства имеет решающее значение, поскольку Control plane обеспечивает поддержание и работоспособность Management Plane и Data Plane. Если Control plane становится нестабильным во время инцидента безопасности, восстановить стабильность сети может быть невозможно.
Часто прибегают к запрету приема и передачи некоторых типов сообщений на интерфейсе, чтобы минимизировать нагрузку на процессор.
IP Redirects
Данной командой включается механизм отправки ICMP-сообщений о существовании более приоритетного маршрутизатора в данной IP-сети для конкретного destination IP.
Злоумышленник может использовать возможность маршрутизатора отправлять сообщения перенаправления ICMP путем непрерывной передачи пакетов на маршрутизатор, что заставляет маршрутизатор отвечать сообщениями перенаправления ICMP и приводит к негативному воздействию на MCPU и производительность маршрутизатора.
Что бы это предотвратить используйте отрицательную форму команды (no).
IP Unreachables
Данной командой включается отправка ICMP-пакетов о недоступности конечного адреса, фильтрация пакетов с помощью ACL инициирует передачу данных сообщений обратно к источнику фильтруемого трафика. Генерация этих сообщений может увеличить загрузку на MCPU, чем может воспользоваться злоумышленник.
Использование отрицательной формы команды (no) отключает возможность отправки ICMP-пакетов о недоступности конечного адреса
Ограничение влияния трафика Control plane на загрузку MCPU
Защита Control plane очень важна, поскольку производительность и работа сервисов зависят от качества Control plane traffic.
Что поднимают под Control Plane Traffic
Для правильной защиты устройства необходимо чётко различать типы трафика, которые обрабатываются Management CPU. Трафик, обрабатываемый процессором, можно разделить на две основные категории:
Трафик адресованный на само устройство.
Этот трафик предназначается непосредственно для IP-адресов самого устройства. Это будет означать, что пакет должен быть передан MCPU для обработки. К этому типу относится трафик, адресованный:
IP-адресам интерфейсов устройства.
Широковещательным (broadcast) адресам.
Многоадресным (multicast) адресам, на которые подписано устройство
- Трафик, который требует специальной обработки MCPU. Это транзитный трафик (с конечным пунктом назначения за пределами устройства), обработка которого требует вмешательства MCPU. Ниже приведены некоторые критичные типы такого трафика:
- Проверка обратного пути (uRPF): При использовании Unicast RPF в строгом режиме (strict mode) пакеты с невалидным источником могут обрабатываться CPU для дополнительных проверок, особенно в сочетании с ACL.
- IP-пакеты: Любые пакеты, содержащие IP-options (например, Record Route, Timestamp), всегда обрабатываются программно.
- Фрагментация: Первый пакет потока, требующий фрагментации, а также сами фрагментируемые пакеты обрабатываются MCPU.
- Истечение TTL: Пакеты с истёкшим временем жизни (TTL=1) требуют генерации ICMP-сообщений «Time Exceeded» (тип 11, код 0), что выполняется процессором.
- ICMP Unreachable: Пакеты, для которых необходимо отправить уведомление «Destination Unreachable» (например, при отсутствии маршрута, превышении MTU или блокировке ACL), формируются MCPU.
- Трафик, инициирующий ARP-запрос: Пакеты, адресованные next-hop, для которого отсутствует запись в ARP-таблице, ставят в очередь ARP-запрос, обрабатываемый MCPU.
- non-IP трафик: Весь трафик, не относящийся к IP (например, протоколы канального уровня, служебные протоколы), обрабатывается программно.
Команды для просмотра счетчиков и сессий предназначенных для MCPU описаны в разделах show ip firewall counters, show ip firewall sessions, show ipv6 firewall counters и show ipv6 firewall sessions
ACLs
ACL (Access Control Lists) — это набор правил, определяющих права доступа. Он нужен для обеспечения безопасности, фильтрации трафика, ограничения несанкционированного доступа.
При защите Control plane ACL применяются для ограничения доступа к инфраструктуре, разрешают доступ только с доверенных источников.
Внедрение ACL для контроля доступа к инфраструктуре только с доверенных источников, являются одним из наиболее важных средств контроля безопасности, применяемых в сетях. Они основаны на том, что почти весь сетевой трафик проходит через сеть, а не направляется непосредственно в неё.
ACL создаётся и применяется для определения разрешенных соединений от хостов или сетей к сетевым устройствам. Примерами таких соединений являются eBGP, SSH и SNMP. После разрешения необходимых сессий весь остальной трафик к инфраструктуре явно запрещается. После, явно разрешается весь транзитный трафик, проходящий через сеть и не направляющийся к устройствам инфраструктуры.
Рекомендуется внедрить данные ACL для защиты Control plane и Management Plane всех сетевых устройств.
Пример структуры ACL ограничивающий доступ к инфраструктуре.
-- Создаем ACL
ESR(config)# ip access-list extended Infrastructure
-- Разрешаем необходимые соединения для протоколов маршрутизации (BGP) и управления (SSH).
ESR(config-acl-ip)# rule 1
ESR(config-acl-ip-rule)# match protocol tcp
ESR(config-acl-ip-rule)# action permit
ESR(config-acl-ip-rule)# match source-address { <ADDR> <MASK> trusted-bgp-peer }
ESR(config-acl-ip-rule)# match source-port port-range 179
ESR(config-acl-ip-rule)# match destination-address { <ADDR> <MASK> local-bgp-address }
ESR(config-acl-ip-rule)# match destination-port port-range 179
ESR(config-acl-ip-rule)# enable
ESR(config-acl-ip-rule)# exit
ESR(config-acl-ip)# rule 2
ESR(config-acl-ip-rule)# action permit
ESR(config-acl-ip-rule)# match protocol tcp
ESR(config-acl-ip-rule)# match source-address { <ADDR> <MASK> trusted-management-network }
ESR(config-acl-ip-rule)# match source-port any
ESR(config-acl-ip-rule)# match destination-address any
ESR(config-acl-ip-rule)# match destination-port port-range 22
ESR(config-acl-ip-rule)# enable
ESR(config-acl-ip-rule)# exit
-- Запрещаем весь остальной трафик для устройств внутри инфраструктуры.
ESR(config-acl-ip)# rule 3
ESR(config-acl-ip-rule)# action deny
ESR(config-acl-ip-rule)# match destination-address { <ADDR> <MASK> infrastructure-address-space }
ESR(config-acl-ip-rule)# match protocol any
ESR(config-acl-ip-rule)# enable
ESR(config-acl-ip-rule)# exit
-- Разрешаем весь остальной трафик.
ESR(config-acl-ip)# rule 4
ESR(config-acl-ip-rule)# action permit После создания ACL, он должен быть применен ко всем интерфейсам, обращенным к устройствам, не входящим в инфраструктуру.
ESR(config)# interface <interface name> <number interface>
ESR(config-if-gi)# service-acl ip {input | output} InfrastructureОграничение доступа к MCPU (CPU Control Plane Protection)
Представленные методы используются для ограничения или контроля трафика Control plane, направляемого в MCPU, позволяют ограничивать трафик с высокой степенью детализации.
Важное замечание — методы позволяющие реализовать CPU Protection работают только в конфигурации firewall zone-pair на зону self, это означает что все интерфейсы на устройстве должны быть добавлены в firewall-зоны, только в этом случае для трафика попадающего на устройство через интерфейсы можно установить политики ограничения Control plane-трафика.
Пример конфигурации ограничивающий доступ к MCPU для протоколов icmp и ospf определенной зоны.
-- Создаем зону untrusted ESR(config)# security zone untrusted ESR(config-security-zone)# exit -- Запрещаем доступ для протоколов icmp и ospf в MCPU с зоны untrusted. ESR(config)# security zone-pair untrusted self ESR(config-security-zone-pair)# rule 1 ESR(config-security-zone-pair-rule)# action deny ESR(config-security-zone-pair-rule)# match source-address any ESR(config-security-zone-pair-rule)# match protocol icmp ESR(config-security-zone-pair-rule)# match protocol ospf ESR(config-security-zone-pair-rule)# enable ESR(config-security-zone-pair-rule)# exit| ESR(config-security-zone-pair)# rule 2 ESR(config-security-zone-pair-rule)# action permit ESR(config-security-zone-pair-rule)#exit ESR(config-security-zone-pair)# exit -- Добавляем зону на требуемый интерфейс. ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# security-zone untrusted
Пример ограничения скорости поступления трафика на MCPU до 10 pps, со всех хостов в подсети 192.168.1.0/24:
-- Создаем зону input ESR(config)# security zone input ESR(config-security-zone)# exit -- Ограничиваем скорость поступления пакетов в MCPU до 10 pps с подсети 192.168.1.0/24 зоны input. ESR(config)# security zone-pair input self ESR(config-security-zone-pair)# rule 1 ESR(config-security-zone-pair-rule)# match source-address prefix 192.168.1.0/24 ESR(config-security-zone-pair-rule)# action rate-limit total pps 10 ESR(config-security-zone-pair-rule)# enable ESR(config-security-zone-pair-rule)# exit -- Разрешаем весь остальной трафик. ESR(config-security-zone-pair)# rule 2 ESR(config-security-zone-pair-rule)# action permit ESR(config-security-zone-pair-rule)#exit ESR(config-security-zone-pair)# exit -- Добавляем зону на требуемый интерфейс. ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# security-zone input
Пример запрета прохождения фрагментированных пакетов через устройство:
Команда применима только в правилах между зонами any self и zone-pair <zone-name> any. Под действие правила попадают второй и последующие фрагменты пакета.
-- Создаем группу правил для пар зон безопасности any-self и добавляем правило на запрет прохождения фрагментированных пакетов. ESR(config)# security zone-pair any self ESR(config-security-zone-pair)# rule 1 ESR(config-security-zone-pair-rule)# match fragment ESR(config-security-zone-pair-rule)# action deny ESR(config-security-zone-pair-rule)# enable ESR(config-security-zone-pair-rule)# exit -- Разрешаем весь остальной трафик. ESR(config-security-zone-pair)# rule 2 ESR(config-security-zone-pair-rule)# action permit ESR(config-security-zone-pair-rule)#exit ESR(config-security-zone-pair)# exit
Integrated Network Attack Protection
Некоторый функционал защиты MCPU представлен в параметрах 'ip firewall screen', это набор обобщенных механизмов защиты от атак.
Более подробно можно ознакомиться с ним здесь.
Защита BGP
Border Gateway Protocol (BGP) — является основным протоколом распространения маршрутной информации в интернете. Многие организации часто использует BGP для доступа к глобальной сети. BGP часто становится мишенью для злоумышленников из-за его повсеместного распространения и простоты настройки. Однако существует множество специфических для BGP функций безопасности, которые можно использовать для повышения уровня защиты конфигурации BGP. В данном обзоре представлены наиболее важные функции безопасности BGP, а также рекомендации по настройке.
Аутентификация BGP-узлов с использованием MD5
Аутентификация узла с использованием криптографической хеш-функции MD5 создает уникальный отпечаток (хэш) данных каждого пакета, отправленного в рамках BGP-сессии.
Созданный хэш затем сохраняется в опции TCP type 19, которая была создана специально для этой цели в RFC 2385. Получающий пакет BGP-маршрутизатор использует тот же алгоритм и секретный ключ для повторной генерации дайджеста сообщения. Если полученный и вычисленный дайджесты не совпадают, пакет отбрасывается. Аутентификация узла с использованием MD5 настраивается с помощью команды authentication в команде конфигурации BGP-соседа. Пример:
-- Добавляем аутентификацию для всех соседей в данной AS.
ESR(config)# router bgp <AS>
ESR(config-bgp)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
-- Добавляем аутентификацию конкретного соседа.
ESR(config)# router bgp <AS>
ESR(config-bgp)# neighbor <ip-address>
ESR(config-bgp-neighbor)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }Конфигурация максимального количества маршрутов в RIB, полученных по протоколу BGP
Получение, обработка, хранение и инсталляция маршрутов BGP требует затрат ресурсов MCPU и памяти. Чем больше маршрутов должен хранить маршрутизатор, тем больше памяти потребляет BGP. Чтобы предотвратить исчерпание памяти, настройте максимальное количество инсталлируемых маршрутов. При получении маршрутов сверх установленного значения, новые маршруты не будут установлены в RIB и информация о них не будет сохранена. Пример:
-- Установка максимального количества маршрутов в RIB, полученных по протоколу BGP. global ESR(config)# ip protocols bgp max-routes <VALUE> VRF ESR(config)# ip vrf <NAME> ESR((config-vrf)# ip protocols bgp max-routes <VALUE>
Фильтрация BGP-префиксов с помощью route-map/prefix-list
Данный метод позволяет администратору сети разрешать или запрещать отдельные префиксы, отправляемые или получаемые по протоколу BGP. Правильным тоном сетевой безопасности является использование route-map/prefix-list для каждого из BGP-узлов, чтобы гарантировать, что сетевой трафик будет отправлен по заданным путям. В примере ниже показана конфигурация в которой используются route-map для ограничения маршрутов, которые изучаются и рекламируются. Входящий трафик, разрешенный списком route-map bgp_in, включает только маршрут по умолчанию, а единственным маршрутом, разрешенным для объявления списком bgp_out, является префикс 10.0.10.0/24.
-- Создаем bgp_out route-map ESR(config)# route-map bgp_out -- Указываем требуемые префиксы в правилах route-map для объявления ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# match ip address 10.0.10.0/24 ESR(config-route-map-rule)# exit ESR(config-route-map)# rule 2 ESR(config-route-map-rule)# action deny ESR(config-route-map-rule)# exit ESR(config-route-map)# exit -- Создаем bgp_in route-map ESR(config)# route-map bgp_in -- Указываем требуемые префиксы в правилах route-map для приема ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# match ip address 0.0.0.0/0 ESR(config-route-map-rule)# exit ESR(config-route-map)# rule 2 ESR(config-route-map-rule)# action deny ESR(config-route-map-rule)# exit ESR(config-route-map)# exit -- Добавляем правила route-map в требуемую address family конфигурации соседа ESR(config)# router bgp <AS> ESR(config-bgp)# neighbor <ip-address> ESR(config-bgp-neighbor)# address-family <af> unicast ESR(config-bgp-neighbor-af)# route-map bgp_in in ESR(config-bgp-neighbor-af)# route-mapbgp_out out
Защита IGP-протоколов
Способность устройств в сети корректно пересылать трафик и восстанавливаться после изменений в топологии или сбоев напрямую зависит от точности информации о текущей структуре сети. Такой информацией обычно обладают протоколы внутреннего шлюза (IGP). Такие протоколы автоматически обнаруживают соседние маршрутизаторы, участвующие в том же протоколе, а также определяют резервные маршруты, которые могут быть задействованы при отказе основного сетевого канала.
В следующих подразделах дается обзор ключевых механизмов безопасности, применяемых в протоколах IGP. При необходимости приводятся рекомендации и примеры настройки для таких протоколов, как RIPv2 (Routing Information Protocol версии 2), OSPF (Open Shortest Path First).
Защита протокола маршрутизации с использованием MD5
Данная защита предотвращает внедрение ложной маршрутной информации злоумышленником в сети. Для повышения безопасности используется аутентификация по паролю между устройствами, но поскольку эта информация передается в открытом виде, злоумышленник легко может обойти такой механизм безопасности.
При добавлении хеширования MD5 к процессу аутентификации, пароль более не передается по сети в открытом виде, а вместо него передается MD5-хеш комбинация содержимого пакета и секретного ключа (пароля). Также не рекомендуется использовать легкие пароли, используйте пароли с достаточной степенью случайности.
Пример конфигурации аутентификации маршрутизатора по протоколу MD5 для RIPv2. RIPv1 не поддерживает аутентификацию.
-- Создаем процесс RIP
ESR(config)# router rip
-- Добавляем аутентификацию в процесс
ESR(config-rip)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
ESR(config-rip)# authentication key-chain <KEYCHAIN>
ESR(config-rip)# authentication algorithm md5Пример конфигурации аутентификации маршрутизатора OSPF с использованием MD5.
-- Добавляем функционал аутентификации на интерфейс, добавленный в процесс OSPF
ESR(config)# interface <interface name> <number interface>
ESR(config-if-gi)# ip ospf authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
ESR(config-if-gi)# ip ospf authentication key-chain <KEYCHAIN>
ESR(config-if-gi)# ip ospf authentication algorithm md5Фильтрация маршрутов
Для уменьшения вероятности появления ложной информации о маршрутах в сети, используйте фильтрацию маршрутов. С помощью данного функционала возможно ограничивать передаваемую либо обрабатываемую информацию.
Для OSPF фильтрация маршрутов с подкомандой out ограничивает передаваемую информацию только для OSPF-маршрутов типов E1, E2, а с помощью подкоманды in ограничивает попадание выбранных маршрутов в RIB данного устройства. В LSDB данная информация все равно попадет и будет передана соседям.
Ниже приведен пример использования фильтрации маршрутов в OSPF с помощью route-map. В данном примере мы запрещаем добавление в RIB информации о маршруте 10.0.10.0/24, а также запрещаем передачу внешнего маршрута 192.168.1.0/24 соседям:
-- Создаем ospf_out route-map ESR(config)# route-map ospf_out -- Указываем требуемые префиксы в правилах route-map для объявления ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# match ip address 192.168.1.0/24 ESR(config-route-map-rule)# action deny ESR(config-route-map-rule)# exit ESR(config-route-map)# rule 2 ESR(config-route-map-rule)# action permit ESR(config-route-map-rule)# exit ESR(config-route-map)# exit ESR(config)# -- Создаем ospf_in route-map ESR(config)# route-map ospf_in -- Указываем требуемые префиксы в правилах route-map для приема ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# match ip address 10.0.10.0/24 ESR(config-route-map-rule)# action deny ESR(config-route-map-rule)# exit ESR(config-route-map)# rule 2 ESR(config-route-map-rule)# action permit ESR(config-route-map-rule)# exit ESR(config-route-map)# exit -- Добавляем правила route-map в требуемый процесс OSPF ESR(config)# router ospf <ID> [vrf <VRF>] ESR(config-ospf)# route-map ospf_in in ESR(config-ospf)# route-map ospf_out out
Пример использования фильтрации маршрутов в RIP с помощью route-map:
-- Создаем rip_out route-map ESR(config)# route-map rip_out -- Указываем требуемые префиксы в правилах route-map для объявления ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# match ip address 192.168.1.0/24 ESR(config-route-map-rule)# action deny ESR(config-route-map-rule)# exit ESR(config-route-map)# rule 2 ESR(config-route-map-rule)# action permit ESR(config-route-map-rule)# exit ESR(config-route-map)# exit -- Создаем rip_in route-map ESR(config)# route-map rip_in -- Указываем требуемые префиксы в правилах route-map для приема ESR(config-route-map)# rule 1 ESR(config-route-map-rule)# match ip address 10.0.10.0/24 ESR(config-route-map-rule)# action deny ESR(config-route-map-rule)# exit ESR(config-route-map)# rule 2 ESR(config-route-map-rule)# action permit ESR(config-route-map-rule)# exit ESR(config-route-map)# exit -- Добавляем правила route-map в требуемый процесс RIP ESR(config)# router rip ESR(config-rip)# route-map rip_in in ESR(config-rip)# route-map rip_out out
Конфигурация максимального количества маршрутов в RIB, полученных по IGP протоколам
Получение, обработка, хранение и инсталляция маршрутов IGP-протоколов требует затрат ресурсов MCPU и памяти. Чем больше маршрутов должен хранить маршрутизатор, тем больше памяти потребляет IGP-протокол. Чтобы предотвратить исчерпание памяти, настройте максимальное количество инсталируемых маршрутов. При получении маршрутов сверх установленного значения, новые маршруты не будут установлены в RIB, но информация о них будет сохранена в lsdb и разослана соседям. Пример:
-- Установка максимального количества маршрутов в RIB, полученных по протоколу OSPF. global ESR(config)# ip protocols ospf max-routes <VALUE> VRF ESR(config)# ip vrf <NAME> ESR((config-vrf)# ip protocols ospf max-routes <VALUE>
Passive interface
Команда предотвращает отправку приветственных пакетов IGP-протоколов на определенных интерфейсах, запрещая тем самым установление соседства, все еще рекламируя эти интерфейсы в OSPF-процессе.
При добавлении интерфейса в процесс OSPF, информация о нем начинает передаваться другим маршрутизаторам, а также через данный интерфейс начинают отправляться приветственные сообщения для попытки установления соседства.
Злоумышленник может воспользоваться этим, сформировать соседство OSPF, а затем рекламировать маршруты.
Пример использования passive-interface в OSPF:
-- Добавляем функционал passive-interface на интерфейс, добавленный в процесс OSPF ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# ip ospf passive-interface
Пример использования passive-interface в RIP:
-- Добавляем функционал passive-interface в процесс RIP ESR(config)# router rip ESR(config)# passive-interface <interface name> <number interface>
TTL-based Security Protections
Защита на основе TTL сравнивает значение TTL из полученных OSPF-пакетов с установленным допустимым значением, что предотвращает получение пакетов от неожиданных узлов.
ip ospf ttl-security-hops
Данной командой определяется значение параметра ttl в исходящих ospf-пакетах. Также во всех входящих ospf-пакетах будет осуществляться проверка, что значение TTL больше либо равно '255 - ttl-security-hops'.
Пример использования ip ospf ttl-security-hops в OSPF:
-- Добавляем функционал ip ospf ttl-security-hops на интерфейс, добавленный в процесс OSPF ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# ip ospf ttl-security-hops <VALUE>
Защита протоколов резервирования шлюза по умолчанию
Протоколы VRRP обеспечивают отказоустойчивость и резервирование для устройств, выступающих в роли шлюзов по умолчанию. Данные протоколы распространены в сетях двух или более устройств уровня 3 модели OSI, обеспечивают функциональность шлюза по умолчанию для сегмента сети или набора VLAN.
По умолчанию эти протоколы используют неаутентифицированную связь. Такой тип связи может позволить злоумышленнику выдать себя за устройство совместимое с FHRP и занять роль шлюза по умолчанию в сети. Такой захват позволяет злоумышленнику осуществить атаку типа «man-in-the-middle» и перехватить весь пользовательский трафик исходящий из сети.
Для предотвращения такого типа атак протокол VRRP включает возможность аутентификации с использованием MD5. В примере конфигурации ниже демонстрируется использование аутентификации MD5 для протокола VRRP:
-- Добавляем функционал аутентификации в VRRP-процесс
ESR(config)# interface <interface name> <number interface>
ESR(config-if-gi)# vrrp <ID>
ESR(config-vrrp)# authentication key ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }
ESR(config-vrrp)# authentication algorithm md5Защита плоскости передачи данных (Data Plane)
Что такое Data Plane
Data Plane (плоскость передачи данных) — это компонент сетевой архитектуры, отвечающий за фактическую передачу пользовательского трафика через сеть на основе правил, установленных Control Plane. В традиционных сетях Data Plane выполняет:
- пересылку пакетов согласно таблицам маршрутизации (FIB);
- коммутацию на канальном уровне;
- базовую проверку целостности данных;
- применение политик QoS и ACL.
Основные угрозы для Data Plane
- ARP/ND Spoofing — подмена ARP‑ответов или IPv6‑объявлений соседей для перенаправления трафика через узел злоумышленника.
- MAC Flooding — переполнение таблицы MAC‑адресов коммутатора, приводящее к рассылке трафика на все порты.
- DHCP Spoofing/Starvation — создание фальшивых DHCP‑серверов или исчерпание пула IP‑адресов.
- IP Spoofing — подделка IP‑адреса источника для обхода ACL или проведения DDoS‑атак.
- DoS/DDoS‑атаки — перегрузка полосы пропускания или ресурсов устройств.
- VLAN Hopping — несанкционированный доступ к другим VLAN через тегирование 802.1Q.
- Атака на STP — изменение топологии сети путём подмены BPDU‑пакетов.
Методы защиты Data Plane
Отключение интерфейсов
Для защиты интерфейсов на физическом уровне, рекомендуется отключать неиспользуемые интерфейсы командой shutdown
-- отключаем неиспользуемый интерфейс ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# shutdown
Это не позволит злоумышленнику подключиться к оборудованию даже если он получит физический доступ к сети. Также отключение интерфейсов обезопасит вас от проблем на сети в случаях ошибок коммутации.
Port Security
В текущей версии ПО данная функция поддерживается только на маршрутизаторе ESR-1000.
Port Security позволяет разрешать подключение только заранее определённых устройств по их MAC-адресам, блокируя все остальные попытки подключения, путем ограничения количества устройств, которые могут подключиться к определенному порту оборудования
На маршрутизаторах ESR функция port-security может работать в одном из следующих режимов
limited — при включении данного режима:
- с порта удаляются все выученные MAC-адреса;
- количество адресов, которое снова может запомнить порт, ограничивается текущей конфигурацией;
- MAC-адреса не сохраняются между аппаратными перезагрузками;
- время хранения MAC-адресов зависит от времени жизни динамических MAC-адресов в forwarding-таблице.
lock — при включении данного режима:
- на порту сохраняются все выученные MAC-адреса;
- порт не запоминает новые адреса;
- MAC-адреса сохраняются между аппаратными перезагрузками;
- время хранения MAC-адресов зависит от времени жизни динамических MAC-адресов в forwarding-таблице.
secure-delete-on-reset — при включении данного режима:
- с порта удаляются все выученные MAC-адреса;
- количество адресов, которое снова может запомнить порт, ограничивается текущей конфигурацией;
- MAC-адреса не сохраняются между аппаратными перезагрузками;
- время хранения MAC-адресов не зависит от времени жизни динамических MAC-адресов в forwarding-таблице.
secure-permanent — при включении данного режима:
- с порта удаляются все выученные MAC-адреса;
- количество адресов, которое снова может запомнить порт, ограничивается текущей конфигурацией;
- MAC-адреса сохраняются между аппаратными перезагрузками;
- время хранения MAC-адресов не зависит от времени жизни динамических MAC-адресов в forwarding-таблице.
Настройка Port Security
ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# port-security max <MAX> ESR(config-if-gi)# port-security mode <MODE> ESR(config-if-gi)# port-security unknown-sa-action discard
<MAX> — максимальное количество MAC-адресов, которое будет запоминаться портом, принимает значения [1..1024].
<MODE> — параметры команды для выбора режима port-security
unknown-sa-action discard — запрет на передачу пакетов с неизвестными MAC-адресами.
Защита STP
Root Guard
Предотвращает изменение корневого моста на неавторизованных устройствах.
Рекомендуется включать на всех портах доступа и интерфейсах, где корневой мост не должен устанавливаться
ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# spanning-tree guard root
BPDU Guard
Блокирует порты с включенным PortFast при получении BPDU
ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# spanning-tree bpduguard
PortFast
Ускоряет переход порта в состояние forwarding. Должен использоваться только на портах подключения конечных устройств
ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# spanning-tree portfast
BPDU Filter
Подавляет отправку и прием BPDU на портах
ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# spanning-tree bpdu <MODE>
<MODE> — режим работы:
- filtering — на интерфейсе с выключенным протоколом STP BPDU-пакеты фильтруются;
- flooding — на интерфейсе с выключенным протоколом STP нетегированные BPDU-пакеты передаются, тегированные — фильтруются.
Основные рекомендации по настройке
- Включить Root Guard на всех портах доступа;
- Настроить BPDU Guard на портах конечных устройств;
- Использовать PortFast только для подключения к конечным узлам;
- Ограничить обработку и распространение TCN с помощью фильтрации.
Ограничение распространения инвентарной информации по протоколу LLDP
Используя протокол LLDP, злоумышленники могут получить информацию о топологии сети и использовать её для дальнейшего планирования атаки.
По умолчанию на маршрутизаторах ESR протокол LLDP на всех интерфейсах выключен, включение осуществляется следующими командами:
ESR(config)# interface <interface name> <number interface> ESR(config-if-gi)# lldp transmit # Разрешить отправку LLDP ESR(config-if-gi)# lldp receive # Разрешить прием LLDP
Настройка таймеров работы протокола LLDP осуществляется следующими командами
ESR(config)# lldp hold-multiplier <N> ESR(config)# lldp timer <SEC>
hold-multiplier <N> — устанавливается количество периодов lldp-timer, в течение которых маршрутизатор хранит информацию, полученную по протоколу LLDP.
timer <SEC> — устанавливается период отправки LLDPDU.
Основные рекомендации по настройке
Для маршрутизаторов ESR рекомендуется отключать прием и передачу LLDP-пакетов на портах связи с оборудованием провайдеров
На остальных портах рекомендуется настроить таймеры для оптимизации нагрузки
Dynamic ARP Inspection
Функция контроля протокола ARP (ARP Inspection), предназначенная для защиты от атак с использованием протокола ARP, например ARP spoofing — перехват ARP-трафика.
С включенной функцией контроля ARP при приеме ARP-ответа производится сравнение старого и нового MAC-адресов, и при обнаружении его изменения запускается процедура верификации. Посылается ARP-запрос, требующий всем хозяевам IP-адреса сообщить свои MAC-адреса. Если выполняется атака, настоящая система, имеющая этот IP-адрес, ответит на запрос, и таким образом атака будет распознана. Если же изменение MAC-адреса было связано не с атакой, а со стандартными ситуациями, ответа, содержащего "старый" MAC-адрес, не будет, и по прошествии определенного таймаута система обновит запись в кэше.
ESR(config)# interface <interface name> <number interface> ESR(config)# ip arp inspection
Рекомендации по настройке
В типичной конфигурации все порты, подключённые к конечным устройствам, настраиваются как недоверенные, а порты, подключенные к другим коммутаторам или серверам, — как доверенные. Это позволяет проверять ARP-пакеты, поступающие от конечных пользователей, при этом не нагружая систему проверкой трафика между сетевым оборудованием.
Антиспуфинг
При включенной защите маршрутизатор проверяет пакеты на соответствие адреса источника и записей в таблице маршрутизации и в случае несоответствия пакет отбрасывается. Например, если пакет с адресом источника 10.0.0.1/24 приходит на интерфейс Gi1/0/1, а в таблице маршрутизации данная подсеть располагается за интерфейсом Gi1/0/2, то считается, что адрес источника был подменен.
Включение антиспуфинга на ESR
ESR(config)# logging firewall screen spy-blocking spoofing # включение логирования о спуфинг-атаках ESR(config)# ip firewall screen spy-blocking spoofing # включение механизма антиспуфинга
Настройка исключений для антиспуфинга
ESR(config)# ip firewall screen spy-blocking spoofing exclude <object-group>
<object-group> — список разрешенных для spoofing подсетей в Object Group.
Настройка механизмов защиты от сетевых атак
Алгоритмы настройки механизмов защиты от сетевых атак приведены в разделе "Настройка логирования и защиты от сетевых атак" документа "ESR-Series. Руководство по эксплуатации."
Подробная информация о командах для настройки политики использования паролей приведена в разделе "Управление логированием и защитой от сетевых атак" документа "ESR-Series. Справочник команд CLI."
Рекомендации
- Рекомендуется всегда включать защиту от ip spoofing.
- Рекомендуется всегда включать защиту от TCP-пакетов с неправильно выставленными флагами.
- Рекомендуется всегда включать защиту от фрагментированных TCP-пакетов с выставленным флагом SYN.
- Рекомендуется всегда включать защиту от фрагментированных ICMP-пакетов.
- Рекомендуется всегда включать защиту ICMP-пакетов большого размера.
- Рекомендуется всегда включать защиту от незарегистрированных IP-протоколов.
- Рекомендуется включать логирование механизма защиты от сетевых атак.
Пример настройки
Задача:
Настроить механизм защиты от сетевых атак в соответствии с рекомендациями.
Решение:
Включаем защиту от ip spoofing и логирование механизма защиты:
esr(config)# ip firewall screen spy-blocking spoofing esr(config)# logging firewall screen spy-blocking spoofing
Включаем защиту от TCP-пакетов с неправильно выставленными флагами и логирование механизма защиты:
esr(config)# ip firewall screen spy-blocking syn-fin esr(config)# logging firewall screen spy-blocking syn-fin esr(config)# ip firewall screen spy-blocking fin-no-ack esr(config)# logging firewall screen spy-blocking fin-no-ack esr(config)# ip firewall screen spy-blocking tcp-no-flag esr(config)# logging firewall screen spy-blocking tcp-no-flag esr(config)# ip firewall screen spy-blocking tcp-all-flags esr(config)# logging firewall screen spy-blocking tcp-all-flags
Включаем защиту от фрагментированных ICMP-пакетов и логирование механизма защиты:
esr(config)# ip firewall screen suspicious-packets icmp-fragment esr(config)# logging firewall screen suspicious-packets icmp-fragment
Включаем защиту от ICMP-пакетов большого размера и логирование механизма защиты:
esr(config)# ip firewall screen suspicious-packets large-icmp esr(config)# logging firewall screen suspicious-packets large-icmp
Включаем защиту от незарегистрированных IP-протоколов и логирование механизма защиты:
esr(config)# ip firewall screen suspicious-packets unknown-protocols esr(config)# logging firewall screen suspicious-packets unknown-protocols
Защита плоскости администрирования (Management Plane), сегментация, логирование и аудит
Аутентификация (Authentication)
Цель: гарантировать, что доступ получают только легитимные пользователи.
Рекомендации
- Использовать внешний AAA‑сервер (RADIUS или TACACS+), а не локальную базу пользователей
- Настроить резервный метод аутентификации (
localилиenable) на случай отказа AAA‑сервера - Настроить парольную политику для локальной базы пользователей
- Установить таймаут для сессий неактивных пользователей
- Отключить встроенную учётную запись admin
Настройка внешних AAA‑серверов
Алгоритмы настройки политики ААА приведены в разделе "Настройка AAA" документации "ESR-Series. Руководство по эксплуатации"
Подробная информация о командах для настройки политики AAA приведена в разделе "Настройка AAA" документации "ESR-Series. Справочник команд CLI".
Профили аутентификации для входа в систему и для повышения привилегий настраиваются командами:
aaa authentication enable { default | <NAME> } <METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ]
aaa authentication login { default | <NAME> } <METHOD 1> [ <METHOD 2> ] [ <METHOD 3> ] [ <METHOD 4> ]где <METHOD> определяет способы аутентификации:
- enable — аутентификация с помощью enable-паролей;
- local — аутентификация с помощью локальной базы пользователей;
- tacacs — аутентификация по протоколу TACACS;
- radius — аутентификация по протоколу RADIUS;
- ldap — аутентификация по протоколу LDAP.
Оптимальной считается комбинация из аутентификации по одному из протоколов RADIUS/TACACS/LDAP и локальной аутентификации.
В качестве внешнего ААА-сервера можно использовать различные продукты. Наибольший набор функциональных возможностей предоставляет настройка связки маршрутизаторов ESR с сервером контроля доступа NAICE по протоколу TACACS+
Если инфраструктура сети построена на базе MS Windows Server то можно воспользоваться ролью Network Policy and Access Services (NPS) для настройки взаимосвязи по протоколу RADIUS
Пример такой настройки описан в разделе: "Настройки AAA по протоколу RADIUS с MS Windows Server"
Локальная парольная политика
Подробная информация о командах для настройки политики использования паролей приведена в разделе "Настройка AAA" документации "ESR-Series. Справочник команд CLI".
Рекомендации
- Рекомендуется всегда включать требования на смену пароля по умолчанию пользователя admin.
- Рекомендуется ограничивать время жизни паролей и запрещать повторно использовать, как минимум, предыдущий пароль.
- Рекомендуется выставлять требования минимальной длины пароля больше 8 символов.
- Рекомендуется выставлять требования на использование строчных и прописных букв, цифр и спецсимволов.
Пример настройки
Задача:
- Настроить парольную политику с обязательным требованием смены пароля по умолчанию, временем действия пароля 1 месяц и запретом на использование 12 последних паролей.
- Задать минимальную длину пароля 16 символов, максимальную — 64 символа.
- Пароль должен содержать не менее 3 прописных букв, не менее 5 строчных букв, не менее 4 цифр и не менее 2 спецсимволов. Пароль в обязательном порядке должен содержать все 4 типа символов.
Решение:
Включаем запрос на смену пароля по умолчанию для пользователя admin:
esr(config)# security passwords default-expired
Устанавливаем время жизни пароля 30 дней и запрет на использование предыдущих 12 паролей:
esr(config)# security passwords lifetime 30 esr(config)# security passwords history 12
Устанавливаем ограничения на длину пароля:
esr(config)# security passwords min-length 16 esr(config)# security passwords max-length 24
Устанавливаем ограничения по минимальному количеству символов соответствующих типов:
esr(config)# security passwords upper-case 3 esr(config)# security passwords lower-case 5 esr(config)# security passwords special-case 2 esr(config)# security passwords numeric-count 4 esr(config)# security passwords symbol-types 4
Таймаут для сессий неактивных пользователей
Установить таймаут сессий неактивных пользователей для подключений через ssh и локальную консоль
esr(config)# line ssh esr(config-line-ssh)# exec-timeout 600 esr(config-line-ssh)# exit esr(config)# line console esr(config-line-console)# exec-timeout 300 esr(config-line-console)# exit
Встроенная учетная запись admin
- Встроенную учетную запись admin удалить нельзя, можно только отключить авторизацию для нее командой no admin login enable.
- Команда no username admin не удаляет пользователя admin, а сбрасывает его конфигурацию к значению по умолчанию. После применения этой команды пользователь admin не будет отображаться в конфигурации.
- Команда no password для пользователя admin также не удаляет пароль пользователя admin, а сбрасывает его в значение по умолчанию. После применения этой команды пароль пользователя admin перестаёт отображаться в конфигурации и становится ‘password'.
- Перед отключением авторизации для пользователя admin в конфигурации устройства необходимо настроить пользователя с уровнем привилегий 15, задать ENABLE-пароль для уровня привилегий 15 или настроить аутентификацию через внешний AAA‑сервер.
Авторизация (Authorization)
Цель: определить, какие действия может выполнять аутентифицированный пользователь.
Рекомендации
- Используйте privilege levels для разграничения доступа:
- Создайте роли с ограниченным набором команд.
- Назначьте пользователям соответствующие уровни привилегий.
- Примените авторизацию к выполнению команд.
Уровни привилегий пользователей
Интерфейс командной строки обеспечивает авторизацию пользователей и ограничивает доступ к командам на основании уровня привилегий, заданного администратором. В системе может быть создано необходимое количество пользователей. Необходимый уровень привилегий задается индивидуально для каждого из них. Для обеспечения безопасности командного интерфейса команды распределены между 1, 5, 10 и 15 уровнем привилегий:
- Уровни привилегий 1-4 разрешают доступ к устройству и просмотр оперативного состояния сетевой части функционала, но запрещают настройку.
- Уровни привилегий 5-9 разрешают доступ к устройству и просмотр оперативного состояния функционала безопасности, но запрещают настройку.
- Уровни привилегий 10-14 разрешают как доступ, так и настройку большей части функций устройства.
- Уровень привилегий 15 разрешает как доступ, так и настройку всех функций устройства.
Изменение уровня привилегий для поддерева команд
На маршрутизаторах ESR есть возможность переопределять уровень привилегий для отдельных команд, или целого поддерева. Это позволяет определить какой-либо уровень привилегий пользователей для выполнения специфичных задач.
Ниже представлен пример для переопределения команд необходимых для настройки пулов DHCP-серверов.
esr(config)# privilege config level 7 "ip dhcp-server pool" esr(config)# privilege config-dhcp-server level 7 "address-range" esr(config)# privilege config-dhcp-server level 7 "default-router" esr(config)# privilege config-dhcp-server level 7 "dns-server" esr(config)# privilege config-dhcp-server level 7 "domain-name" esr(config)# privilege config-dhcp-server level 7 "excluded-address-range" esr(config)# privilege config-dhcp-server level 7 "network" esr(config)# privilege config-dhcp-server level 7 "tftp-server" esr(config)# privilege root level 7 "commit" esr(config)# privilege root level 7 "configure" esr(config)# privilege root level 7 "confirm"
Авторизация выполнения команд
esr(config)# aaa authorization commands TACACS_COMMANDS tacacs local
Доступно только при аутентификации через TACASC-сервер
Учет (Accounting)
Цель: отслеживать действия пользователей для аудита и расследования инцидентов.
Рекомендации
Включить учет сессий пользователей
esr(config)# aaa accounting login start-stop <METHOD 1> [ <METHOD 2> ]
Параметры
<METHOD> — способы учета:
- tacacs — учет сессий по протоколу TACACS;
- radius — учет сессий по протоколу RADIUS.
Включить учет введенных команд
esr(config)# aaa accounting commands stop-only tacacs
Доступно только при аутентификации через TACASC-сервер
esr(config)# syslog cli-commands
Логируются все вводимые команды
Включить учет изменений конфигурации разделов AAA
esr(config)# logging aaa configuration
Включить учет изменений локальной базы пользователей
esr(config)# logging userinfo
Управляющие протоколы
С помощью протоколов управления осуществляется сбор информации и контроль работы устройства. В условиях современных киберугроз выбор и корректная настройка управляющих протоколов играют ключевую роль в обеспечении безопасности информационных и технологических систем.
SSHv2
Протокол SSH обеспечивает возможность безопасного, зашифрованного подключения к удаленному устройству. На устройствах ESR поддерживается только вторая версия протокола — SSHv2. Протокол функционирует поверх надежного транспортного уровня и обеспечивает высокий уровень аутентификации, а также широкие возможности шифрования передаваемых данных. В качестве транспортного протокола SSH использует исключительно TCP, что гарантирует корректную и последовательную доставку информации.
Пример конфигурации SSHv2 на устройствах ESR:
object-group network SSH ip address-range 192.168.0.2-192.168.0.3 exit ip ssh server ip ssh access-addresses SSH ip ssh authentication retries 3 ip ssh authentication timeout 60 ip ssh client source-ip 192.168.0.1
Также следует отметить, что на устройствах ESR для протокола SSH, помимо аутентификации по паролю, поддерживается аутентификация по открытым ключам. Для ее использования необходимо сгенерировать на клиентском хосте открытый ключ SSH, после чего загрузить его на устройство в каталог crypto:public-key/. Затем требуется выполнить привязку установленного ключа к соответствующей учётной записи пользователя на устройстве
Пример конфигурации пользователя для аутентификации по SSH с помощью публичного ключа:
username testuser password encrypted $6$gy7bqXI7jAVtBz5o$LQfm6egzLJony4JR5mJNdMvlHGUMtTlt.IjaFVzIlJlf7EIvre/rjeKPxBZjKOSJBkmRLB0xr9ZlGY5l3oSYG/ ssh pubkey ssh_pubkey exit
Рекомендуется использовать криптостойкие алгоритмы и отключить использование иных.
ip ssh authentication algorithm md5 disable ip ssh authentication algorithm md5-96 disable ip ssh authentication algorithm ripemd160 disable ip ssh authentication algorithm sha1 disable ip ssh authentication algorithm sha1-96 disable ip ssh authentication algorithm sha2-256 disable ip ssh encryption algorithm 3des disable ip ssh encryption algorithm aes128 disable ip ssh encryption algorithm aes128ctr disable ip ssh encryption algorithm aes192 disable ip ssh encryption algorithm aes192ctr disable ip ssh encryption algorithm aes256 disable ip ssh encryption algorithm arcfour disable ip ssh encryption algorithm arcfour128 disable ip ssh encryption algorithm arcfour256 disable ip ssh encryption algorithm blowfish disable ip ssh encryption algorithm cast128 disable ip ssh key-exchange algorithm dh-group-exchange-sha1 disable ip ssh key-exchange algorithm dh-group1-sha1 disable ip ssh key-exchange algorithm dh-group14-sha1 disable ip ssh key-exchange algorithm ecdh-sha2-nistp256 disable ip ssh key-exchange algorithm ecdh-sha2-nistp384 disable ip ssh key-exchange algorithm ecdh-sha2-nistp521 disable ip ssh host-key algorithm dsa disable ip ssh host-key algorithm ecdsa256 disable ip ssh host-key algorithm ecdsa384 disable ip ssh host-key algorithm ecdsa521 disable ip ssh host-key algorithm ed25519 disable
Telnet
При использовании протокола Telnet отсутствует шифрование данных, что делает использование данного протокола для удаленного управления небезопасным. Рекомендуется отключить возможность подключения к устройству через Telnet.
Пример команды для отключения Telnet-server на устройстве:
esr(config)# no ip telnet server
Использование протоколов SCP/SFTP для копирования файлов
Для копирования файлов используются протоколы FTP, TFTP, SCP, SFTP.
Архитектура протоколов FTP и TFTP не подразумевает использование шифрования при копировании файлов. В связи с этим для обеспечения безопасной передачи данных рекомендуется применять протоколы SCP и SFTP.
Копирование файлов устройства с помощью SCP возможно после включения SSH-сервера на устройстве.
Копирование файлов устройства с помощью SFTP возможно после включения SSH-сервера и установления mode sftp для пользователя на устройстве.
Пример конфигурации пользователя для загрузки файлов с помощью SFTP:
username testuser password encrypted $6$gy7bqXI7jAVtBz5o$LQfm6egzLJony4JR5mJNdMvlHGUMtTlt.IjaFVzIlJlf7EIvre/rjeKPxBZjKOSJBkmRLB0xr9ZlGY5l3oSYG/ mode sftp exit
NTP
NTP — это сетевой протокол, предназначенный для синхронизации времени между устройствами в компьютерных сетях. Он обеспечивает приведение системных часов клиентов к единому эталонному времени с высокой точностью.
При повышения безопасности функционала NTP-server/client рекомендуется включить аутентификацию при настройке пиринга:
key-chain ntp key 1 key-string ascii-text encrypted 92A01352B11A5CF31A695280 exit exit ntp enable ntp authentication key-chain ntp ntp authentication enable ntp authentication trusted-key 1 ntp server 192.168.0.1 key 1 exit
Ограничить список доверенных NTP-серверов и пиров, от которых будет разрешено получать NTP-запросы для синхронизации времени:
object-group network NTP_Servers ip address-range 192.168.52.1 exit ntp access-addresses NTP_Servers
Реализовать механизмы разграничения и контроля обработки служебных сообщений (control messages) с помощью механизмов Serve-only и Query-only:
Serve-only подразумевает обработку и ответ на NTP-query (запрос времени) от NTP-клиентов и одноранговых пиров. При этом сам NTP-сервер не будет пытаться синхронизироваться с временем, полученным в запросе от однорангового пира. Так же в данном режиме запрещены control message.
Query-only подразумевает обработку и ответ на NTP-query (запрос времени) от NTP-клиентов и одноранговых пиров. При этом сам NTP-сервер не будет пытаться синхронизироваться с временем, полученным в запросе от однорангового пира, но будет отвечать на control message.
Ниже представлен пример конфигурации:
object-group network NTP_Clients ip address-range 192.168.54.2 exit object-group network NTP_Monitor ip address-range 192.168.154.2 exit ntp object-group query-only NTP_Monitor ntp object-group serve-only NTP_Clients
SNMP
SNMP — это протокол, предназначенный для мониторинга и управления удалёнными сетевыми устройствами. На устройствах ESR поддерживаются версии SNMP v1, v2c и v3. В версиях SNMP v1 и v2c доступ к устройству осуществляется на основе строки community. При этом механизмы аутентификации и шифрования отсутствуют, что снижает уровень безопасности и делает такие версии уязвимыми к перехвату и несанкционированному доступу.
Для обеспечения защищенного мониторинга и управления рекомендуется использовать SNMP v3, поскольку данная версия поддерживает механизмы аутентификации и шифрования передаваемых данных.
Пример конфигурации доступа к устройству по SNMPv3:
snmp-server user testuser authentication algorithm md5 authentication access auth authentication key ascii-text encrypted 9DA117658F044DE2 privacy algorithm aes256 privacy key ascii-text encrypted 8CA60A7B8F044DE2 enable exit snmp-server host 192.168.0.2 version v3 user testuser exit
Рекомендуется ограничить доступ к устройству по SNMP, указав перечень доверенных клиентов (например, с использованием списков контроля доступа), которым разрешено взаимодействие с устройством по данному протоколу.
object-group network snmp ip address-range 192.168.0.2-192.168.0.3 exit snmp-server user testuser client-list snmp exit
Для повышения безопасности и упрощения управления доступом следует под каждую задачу использовать отдельную учетную запись, наделяя ее только теми правами, которые необходимы для выполнения конкретных функций. Это позволяет минимизировать риски несанкционированного доступа и облегчает аудит действий пользователей.
snmp-server view ISO
oid-tree 1.3 included
exit
snmp-server user testuser
access ro
view ISO
exitПротокол SNMP позволяет отправлять уведомления о событиях на устройстве в виде трапов. Для защиты передаваемой информации от несанкционированного доступа рекомендуется конфигурировать отправку трапов через SNMPv3 с включённой аутентификацией и шифрованием.
Пример конфигурации хоста для отправки SNMP Trap:
snmp-server user trap authentication algorithm md5 access ro authentication access auth authentication key ascii-text encrypted 9DA117658F044DE2 privacy algorithm aes256 view ONLY_TRAPS privacy key ascii-text encrypted 8CA60A7B8F044DE2 enable exit snmp-server host 192.168.0.2 version v3 user trap exit
Сегментация управления
Доступ к Management plane устройства может осуществляться как in-band, так и out-of-band через физический или логический интерфейс управления. Рекомендуется сегментировать плоскость управления, отделяя ее от остальных плоскостей сети, что повышает безопасность и снижает риск несанкционированного воздействия на управление устройством.
Использование VRF
Для разделения трафика управления от пользовательского и служебного рекомендуется выделить интерфейс и соответствующие протоколы управления в отдельный VRF. В этом случае весь трафик, связанный с управлением, будет полностью изолирован от остального сетевого трафика, что повышает безопасность и снижает риск воздействия на управление устройством.
Пример конфигурирования интерфейса в VRF:
ip vrf mgmt_vrf exit interface gigabitethernet 1/0/1 ip vrf forwarding mgmt_vrf ip firewall disable ip address 192.168.0.1/24 exit
Использование out-of-band интерфейса
При наличии на устройстве out-of-band интерфейса рекомендуется использовать его как интерфейс для управления устройством, т.к. данный интерфейс не участвует в обработке пользовательского и служебного трафика.
Использование jump-хостов
Для управления доступом к устройствам из недоверенных сетевых зон рекомендуется применять jump-хосты. Такие хосты выполняют роль промежуточных узлов между устройствами в недоверенных и доверенных зонах, обеспечивая дополнительный уровень изоляции критически важных ресурсов. Применение jump-хостов позволяет снизить риск несанкционированного доступа и повысить защиту инфраструктуры от потенциальных атак, ограничивая прямой доступ к управляемым устройствам из ненадежных сетевых сегментов.
Логирование и аудит
Уровни логирования
На каждом маршрутизаторе возможна настройка отправки логов на один или несколько syslog-хостов с указанием уровня логирования, что позволяет фильтровать события по важности (например, emerg, alert, crit, error и т.д.). Стоит отметить, что данные, хранящиеся в файловой системе tmpsys:syslog, не сохраняются при перезагрузке устройства. Этот тип файловой системы рекомендуется использовать для хранения оперативных логов.
Рекомендуется:
Ограничивать размер syslog-файла на устройстве и настраивать ротацию syslog-файлов на устройстве:
syslog file tmpsys:syslog/default info syslog max-files 3 syslog file-size 512
Настроить хранение сообщений о событиях в файл syslog на устройстве и передачу этих событий на внешний syslog-сервер:
syslog host SERVER remote-address 192.168.52.41 severity info exit
Включать нумерацию сообщений syslog:
syslog sequence-numbers
Рекомендуется включать добавление меток timestamp msec к syslog-сообщениям:
syslog timestamp msec
Не использовать файловую систему flash:syslog для хранения логов, так как это может привести к преждевременному выходу из строя устройства ESR.
Направлять логи на централизованные syslog-серверы с долговременным хранением, организовав ротацию и архивирование логов, чтобы предотвратить переполнение хранилища.
Хранить только необходимые уровни логов для уменьшения объема и сохранения производительности системы.
Отключение логирования для пользовательский сессий
Вывод логов при выполнении команд в console, SSH или Telnet-сессиях может значительно увеличивать нагрузку на CPU. В связи с этим рекомендуется отключать ведение логов для пользовательских сессий, чтобы снизить нагрузку на устройство и обеспечить стабильную работу системы.
Пример конфигурации:
syslog console severity none exit syslog monitor severity none exit
Конфигурация source-address для отправки логов на удаленный хост
При отправке логов на удаленные syslog-хосты важно указывать source-address — IP-адрес интерфейса устройства, с которого будут отправляться сообщения. Это позволяет: обеспечить корректную маршрутизацию логов через сеть, гарантировать, что syslog-хост будет получать сообщения от ожидаемого источника и повысить безопасность, ограничив возможность подмены адреса при передаче логов. Настройка source-address выполняется для каждого syslog-хоста индивидуально. Рекомендуется использовать адрес интерфейса, принадлежащего отдельной сети управления (Management VRF или выделенный интерфейс), чтобы изолировать трафик логов от основного пользовательского трафика.
Пример конфигурации:
syslog host testuser
remote-address 192.168.0.2
severity info
source-address 1.1.1.1
exit
interface loopback 1
ip address 1.1.1.1/32
exitОтключение неиспользуемых сервисов
Для снижения рисков безопасности следует отключать все неиспользуемые сервисы. Это уменьшает поверхность атаки и повышает устойчивость системы.
Примеры отключения сервисов:
- DHCP:
no ip dhcp-server - DNS:
no domain lookup enable - LLDP:
no lldp enable
Рекомендуется проверять конфигурацию устройств и отключать любые сервисы, не используемые в текущей инфраструктуре чтобы минимизировать возможности атак.



