ProCurve Security

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

Содержание

[править] Базовые настройки безопасности

[править] Отображение паролей в конфигурационном файле

По умолчанию следующие настройки хранятся во flash и не видны в конфигурационном файле коммутатора:

  • Локальные пароли и (опционально) имена пользователей с уровнем доступа manager и operator, которые используются для доступа к коммутатору;
  • Локальные имя пользователя и пароль 802.1X port-access. Эта возможность используется для аутентификации коммутатора;
  • Открытые ключи SSH;
  • SNMP security credentials;
  • Пароли (shared secrets) для RADIUS и TACACS+

Для того чтобы эти настройки сохранялись в конфигурационном файле коммутатора, необходимо выполнить команду:

switch(config)# include-credentials 

[править] Безопасность передней панели (front-panel)

На передней панели коммутатора есть две кнопки: Reset и Clear. С их помощью можно выполнять такие действия:

  • Clear Password — сбросить пароли с помощью кнопки Clear;
    • Reset-on-clear — сбросить пароли с помощью кнопки Clear и перезагрузить коммутатор;
  • Factory Reset — сбросить все настройки на коммутаторе с помощью кнопок Reset и Clear;
  • Password Recovery — восстановить пароли с помощью one-time-use пароля, который предоставляет ProCurve Customer Care.

Независимо от того, какие настройки включены или выключены на передней панели, кнопка Reset будет перегружать коммутатор.

Просмотр информации о настройках безопасности передней панели (настройки по умолчанию):

switch# show front-panel-security
Clear Password		- Enabled
  Reset-on-clear	- Disabled
Factory Reset		- Enabled
Password Recovery	- Enabled

Icon-caution.gif

  • Настройки безопасности передней панели хранятся во flash памяти коммутатора и не появляются в конфигурационном файле.
  • Удаление стартового конфигурационного файла не восстанавливает настройки безопасности передней панели в значение по умолчанию.

Отключение функции сброса пароля:

switch(config)# no front-panel-security password-clear

Включение функции перезагрузки после сброса пароля:

switch(config)# front-panel-security password-clear reset-on-clear

При включении reset-on-clear, функция сброса пароля тоже будет включена.

Отключение функции сброса настроек коммутатора:

switch(config)# no front-panel-security factory-reset

Отключение функции восстановления пароля:

switch(config)# no front-panel-security password-recovery

Icon-caution.gif

Обязательно должна быть включена одна из двух функций: factory-reset или password-recovery

[править] Авторизованные менеджеры (authorized IP managers)

Базовые настройки по защите доступа к коммутатору предполагают как минимум настройку паролей для уровня manager и operator.

Функция авторизованные менеджеры позволяет добавить еще один критерий — указание IP-адресов с которых разрешен доступ к коммутатору. До запроса пароля на доступ с правами operator или manager, будет учитываться с какого IP-адреса осуществляется доступ к коммутатору.

Доступ будет разрешен только с IP-адресов указанных в команде ip authorized-managers.

Основная страница: Доступ к коммутатору ProCurve

[править] Централизованная аутентификация при доступе к коммутатору

Основная страница: Доступ к коммутатору ProCurve

[править] Настройка SNMPv3

Основная страница: SNMP на коммутаторе

[править] Настройка SSH и SSL

Основная страница: Доступ к коммутатору ProCurve

[править] Безопасный управляющий VLAN (secure management VLAN)

Основная страница: Доступ к коммутатору ProCurve

[править] ACL на коммутаторах ProCurve

ACL могут применяться к портам, транкам (аггрегированным каналам), VLAN.

ACL бывают статические и динамические:

  • Статические ACL настраиваются на коммутаторе и хранятся в конфигурационном файле коммутатора. После применения (к порту, транку или VLAN) ACL "зафиксирован" в конкретном месте до тех пор пока его не удалят.
  • Динамические ACL настраиваются на внешнем источнике (например, на RADIUS сервере или ProCurve IDM). Динамические ACL применяются только к портам по результатам аутентификации клента. ACL будет активным только на время сессии клиента. После окончания сессии ACL динамически удаляется.

Коммутаторы ProCurve поддерживают несколько вариантов статических ACL:

  • Routed ACL (RACL)
  • VLAN ACL (VACL)
  • Port-based ACL

Note-icon.gif

Разделение на RACL, VACL и Port-based ACL связано с тем, куда применяется ACL и на какой тип трафика он может влиять. Создаются все три типа ACL одинаковыми командами, но применяются разными.

Суммарная таблица со сравнением ACL различных типов:

Название ACL Фильтрация трафика ip routing К чему применяется Направление трафика
Routed ACL (RACL)
  • Маршрутизируемый трафик, который входит или выходит из статического VLAN
  • Трафик пришедший в одну подсеть и выходящий из другой подсети в VLAN с несколькими подсетями
  • Коммутируемый трафик предназначенный коммутатору или сгенерированный им
Включен К VLAN in и out
VLAN ACL (VACL)
  • Коммутируемый трафик входящий в статический VLAN и предназначенный хостам в этом же VLAN
Включен или отключен К VLAN in
Port-based ACL
  • Фильтрует трафик независимо от того маршрутизируемый он или коммутируемый
  • Трафик предназначенный коммутатору
Включен или отключен К портам, транкам in


Note-icon.gif

На коммутаторах ProCurve при создании ACL параметр log можно указывать только для записей deny. То есть лог-сообщения будут отправляться только когда трафик совпадет с запрещающим правилом.

[править] Стандартные, расширенные и именованные ACL

[править] Применение ACL

[править] Routed ACL (RACL)

Применение RACL к VLAN:

switch(config)# vlan <vid> ip access-group <acl-id> <in | out>

ACL, который применяется как RACL может быть применен:

  • К нескольким статическим VLAN;
  • Фильтровать входящий трафик, исходящий трафик, оба направления (применить ACL дважды).

RACL примененный в направлении out, не фильтрует IP-трафик сгенерированный коммутатором (например, широковещательный трафик и multicast).

[править] VLAN ACL (VACL)

Применение VACL к VLAN:

switch(config)# vlan <vid> ip access-group <acl-id> vlan

ACL, который применяется как VACL, может быть применен к нескольким статическим VLAN.

[править] Port-based ACL

Применение port-based ACL к порту:

switch(config)# interface <port-list | trk-name> ip access-group <acl-id> in

[править] Редактирование ACL

[править] Вставка правил в ACL

Для того чтобы вставить новое правило в ACL, необходимо указать в начале правила номер строки в которую необходимо вставить правило.

Например, если есть ACL test с такими правилами:

sw(config)# sh access-list config 

ip access-list extended "test" 
   10 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   20 permit ospf 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   30 deny tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 80 
   40 permit tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 3389 
   exit 

Если необходимо вставить правило между 20 и 30 правилами, то необходимо написать соответствующий номер перед добавляемым правилом:

sw(config)# ip access-list extended test
sw(config-ext-nacl)# 25 permit tcp any any eq 8080

Результат вставки правила:

sw(config-ext-nacl)# sh access-list config 

ip access-list extended "test" 
   10 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   20 permit ospf 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   25 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 8080 
   30 deny tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 80 
   40 permit tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 3389 

[править] Перенумерация правил в существующем ACL

Если все правила в ACL идут по порядку и нет возможности вставить новое правило между существующими, то можно выполнить перенумерацию строк в ACL.

Для этого используется команда: sw(config)# ip access-list resequence <имя-ACL> <номер первого правила> <шаг>

Например, если есть ACL test с такими правилами (правила набраны просто для количества и могут быть неприменимы для реальных ситуаций):

sw(config)# sh access-list config 

ip access-list extended "test" 
   1 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   2 permit ospf 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   3 deny tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 80 
   4 permit tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 3389 
   5 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 23 
   6 permit udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 1234 
   7 deny tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 443 
   8 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 443 
   9 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   exit 

Пример перенумерации правил (первое правило будет с номером 10 и шаг будет 10):

sw(config)# ip  access-list resequence test 10 10

В результате ACL test теперь выглядит так:

sw(config)# sh access-list config 

ip access-list extended "test" 
   10 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   20 permit ospf 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   30 deny tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 80 
   40 permit tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 3389 
   50 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 23 
   60 permit udp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 1234 
   70 deny tcp 10.0.1.1 0.0.0.0 10.0.1.100 0.0.0.0 eq 443 
   80 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 443 
   90 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   exit 

[править] Просмотр настроек ACL и счетчиков срабатывания

Просмотр настроек ACL в наиболее удобном виде:

sw(config)# sh access-list config 

ip access-list extended "test" 
   20 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   30 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 23 
   40 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
   exit 

Просмотр конкретного ACL в более расширенном виде:

sw(config)# sh access-list test 

Access Control Lists

  Name: test
  Type: Extended
  Applied: Yes

 SEQ  Entry
-----------------------------------------------------------------------------
 20   Action: permit 
      Src IP: 0.0.0.0           Mask: 255.255.255.255   Port(s): 
      Dst IP: 0.0.0.0           Mask: 255.255.255.255   Port(s): 
      Proto : ICMP (type: -  code: -)
      TOS   : -                 Precedence: -

 30   Action: permit 
      Src IP: 0.0.0.0           Mask: 255.255.255.255   Port(s): 
      Dst IP: 0.0.0.0           Mask: 255.255.255.255   Port(s): eq 23
      Proto : TCP 
      TOS   : -                 Precedence: -

 40   Action: deny 
      Src IP: 0.0.0.0           Mask: 255.255.255.255   Port(s): 
      Dst IP: 0.0.0.0           Mask: 255.255.255.255   Port(s): 
      Proto : IP 
      TOS   : -                 Precedence: -

Просмотр статистики срабатывания:

sw(config)# sh statistics aclv4 test port 1 

 HitCounts for ACL test 

  Total 

(      2)    20 permit icmp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 
(    118)    30 permit tcp 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eq 23
(      5)    40 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 

Просмотр примененных ACL:

sw(config)# sh access-list ports 1 

Access Lists for Port 1

  Inbound  : test
  Type     : Extended

[править] Безопасность портов

На коммутаторах ProCurve есть несколько функций с помощью которых можно контролировать доступ к портам коммутатора на основании MAC-адреса хоста:

  • MAC Lockdown,
  • MAC Lockout,
  • Port Security

Icon-caution.gif

MAC Lockdown и Port Security не могут быть настроены одновременно на одном порту коммутатора.

[править] Port security

Port security — функция коммутатора, позволяющая указать MAC-адреса хостов, которым разрешено передавать данные через порт. После этого порт не передает пакеты, если MAC-адрес отправителя не указан как разрешенный. Кроме того, можно указывать не конкретные MAC-адреса, разрешенные на порту коммутатора, а ограничить количество MAC-адресов, которым разрешено передавать трафик через порт.

Используется для предотвращения:

Основная страница: Port security

[править] MAC Lockdown

MAC Lockdown — функция коммутатора, позволяющая указать статическое соответствие между MAC-адресом, портом коммутатора и VLAN. После этого хосту с указанным MAC-адресом разрешено появляться только на указанном интерфейсе и в соответствующем VLAN.

Используется для предотвращения:

  • перемещения хоста с определенного для него порта,
  • подмены MAC-адреса.

Кроме того, функция контролирует процесс запоминания MAC-адресов коммутатором.

Когда MAC-адрес устройства закреплен за определенным портом (и определенным VLAN), вся информация которая отправлена на этот MAC-адрес будет отправлена через указанный порт. Если устройство подключено к другому порту, то оно не может получать данные. Трафик передается только через указанный порт независимо от того подключено к нему устройство или нет.

MAC Lockdown обеспечивает отправку трафика предназначенного определенному MAC-адресу только через указанный порт. Эта функция не предотвращает отправку трафика с указанного MAC-адреса с других портов, однако она предотвращает возвращение этих портов на другие порты, кроме указанного в соответствии MAC Lockdown.

Конкретная пара MAC-адрес/VLAN может быть присвоена только одному порту.

Рекомендованное ограничение для MAC Lockdown — 500 MAC-адресов на коммутатор.

Настройка MAC Lockdown:

switch(config)# static-mac <mac-address> [vlan <vid>] interface <port-id>

Если при задании соответствия не указывается VLAN, то коммутатор считает, что это привязка для VLAN 1.

Просмотр информации о настроенных адресах MAC Lockdown:

switch(config)# show static-mac

[править] MAC Lockout

MAC Lockout — функция коммутатора, позволяющая указать MAC-адрес хоста на который и с которого будет запрещено передавать трафик. Указанный MAC-адрес будет запрещен на всём коммутаторе, а не на отдельных портах.

Рекомендованное ограничение для MAC Lockout:

  • 16 MAC-адресов на коммутатор, если количество VLAN <= 1024.
  • 8 MAC-адресов на коммутатор, если количество VLAN > 1024.

Настройка MAC Lockout:

switch(config)# lockout-mac <mac-address>

Посмотреть какие адреса запрещены на коммутаторе:

switch(config)# show lockout-mac

[править] Instrumentation monitor

Instrumentation monitor — функция коммутатора, которая позволяет:

  • обнаруживать некоторые аномалии в работе коммутатора. Аномалии могут быть следствием или признаком атаки на сеть;
  • при обнаружении аномалий отправлять сообщение администратору (log, SNMP).

Доступные параметры для обнаружения аномалий:

  • mac-address-count — количество MAC-адресов в таблице коммутации. Для защиты от атак использующих заполнение таблицы коммутации (после заполнения таблицы коммутатор работает как хаб).
  • ip-address-count — количество выученых IP-адресов получателей в IP forwarding table.
  • system-resource-usage — процент использования системных ресурсов.
  • system-delay — время ответа (в секундах) CPU на обработку новых событий в сети, таких как BPDU пакет или пакеты другого протокола.
  • mac-moves — среднее количество MAC-адресов передвигающихся с одного порта на другой за минуту.
  • learn-discards — количество отклоненных событий запоминания MAC-адреса за минуту (отклоняются для того чтобы освободить ресурсы).
  • ip-port-scans — количество пакетов в минуту, которые были отправлены на закрытые TCP/UDP порты коммутатора.
  • arp-requests — количество ARP-запросов обработанных за минуту.
  • login-failures — количество неудачных попыток залогиниться на коммутатор или неудачных попыток SNMP-аутентификации в минуту.
  • port-auth-failures — количество неудачных попыток клиента пройти аутентификацию в минуту.

Предопределенные значения для 3 уровней (low, medium, high):

Название параметра Low Medium High
mac-address-count 100 1000 10000
ip-address-count 100 1000 10000
system-resource-usage (%) 10 50 90
system-delay (сек) 1 3 5
mac-moves (/мин) 10 100 1000
learn-discards (/мин) 10 100 1000
ip-port-scans (/мин) 1 10 100
arp-requests (/мин) 100 1000 10000
login-failures (/мин) 1 10 100
port-auth-failures (/мин) 1 10 100

[править] Настройка instrumentation monitor

Включение instrumentation monitor:

switch(config)# instrumentation monitor [<threat-parameter> | all] 
                                        [low | med | high | <threshold-value>] 
                                        [log] [trap]

Если включить instrumentation monitor командой

switch(config)# instrumentation monitor all

то по умолчанию будут такие параметры:

  • для всех параметров задан уровень medium,
  • включено логирование сообщений,
  • не отправляются SNMP trap.

Для любого параметра можно указать другое значение уровня реагирования (в соответствующих единицах измерения):

switch(config)# instrumentation monitor system-resource-usage 60
switch(config)# instrumentation monitor mac-address-count 300

Просмотр настроек instrumentation monitor:

switch(config)# show instrumentation monitor configuration

Просмотр статистики по информации собранной instrumentation monitor:

switch(config)# show instrumentation monitor

Instrumentation monitor автоматически регулирует частоту отправки повторяющихся сообщений.

[править] BPDU filtering и BPDU protection

[править] BPDU filtering

Порт на котором настроена функция BPDU filtering:

  • Игнорирует полученные BPDU и не отправляет свои BPDU;
  • Постоянно находится в состоянии forwarding;
  • Не участвует в работе spanning-tree.

Настройка BPDU filtering:

switch(config)# spanning-tree <port-list | all> bpdu-filter

Посмотреть настройки spanning-tree:

switch(config)# show spanning-tree config

[править] BPDU protection

Если на порту настроена функция BPDU protection, то при получении BPDU, порт выключается.

Настройка BPDU protection:

switch(config)# spanning-tree <port-list | all> bpdu-protection

Настройка временного интервала в течение которого BPDU protection будет держать порт в заблокированном состоянии:

switch(config)# spanning-tree bpdu-protection-timeout <secs>

Посмотреть настройки bpdu-protection и состояние портов:

switch(config)# show spanning-tree bpdu-protection

[править] SNMP throttling

[править] DHCP snooping

DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP. Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику.

DHCP snooping регулирует только сообщения DHCP и не может повлиять напрямую на трафик пользователей или другие протоколы.

Основная страница: DHCP snooping

[править] Dynamic ARP Protection

Dynamic ARP Inspection (Protection) — функция коммутатора, предназначенная для защиты от атак с использованием протокола ARP. Например, атаки ARP-spoofing, позволяющей перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена.

Dynamic ARP Inspection (Protection) регулирует только сообщения протокола ARP и не может повлиять напрямую на трафик пользователей или другие протоколы.

Основная страница: Dynamic ARP Protection

[править] Connection-rate filtering (Virus Throttle)

Кроме названия connection-rate filtering к этой функции применяются также названия Virus Throttle и virus filtering.

[править] Настройка connection-rate filtering

  • Включить connection-rate filtering глобально на коммутаторе (включается при настройке чувствительности обнаружения);
  • Назначить connection-rate filtering к конкретным портам:
    • Действия, которые применяются при привышении порога чувствительности могут настраиваться для каждого порта отдельно;
  • (опционально) Настроить connection-rate ACL.

Включение connection-rate filtering:

switch(config)# connection-rate-filter sensitivity <low | medium | high | aggressive>

Значения соответствующие различным уровням чувствительности:

Уровень чувствительности обнаружения Частота запросов на соединение (сек) Количество новых адресов получателей Период блокирования (сек)
Low < 0.1 54 <30
Medium < 1.0 37 30-60
High < 1.0 22 60-90
Aggressive < 1.0 15 90-120

Отключение connection-rate filtering:

switch(config)# no connection-rate-filter

Назначение connection-rate filtering на порты:

switch(config)# filter connection-rate <port-list> <notify-only | throttle | block>

Icon-caution.gif

Чувствительность устанавливается глобально на весь коммутатор, а режим реагирования на превышение установленного уровня чувствительности может устанавливаться разным на разные порты.

Просмотр настроек connection-rate filtering:

switch(config)# show connection-rate-filter

Просмотр заблокированных хостов:

switch(config)# show connection-rate-filter all-host

Разблокирование компьютера

switch(config)# connection-rate-filter unblock host 10.0.2.1

[править] Применение connection-rate ACL

Создание connection-rate ACL:

switch(config)# ip access-list connection-rate-filter <name>
switch(cfg-crf-nacl)# <filter | ignore> ip <any | host <ip-addr> | <ip-addr> <acl-mask>
                                 <filter | ignore> <tcp | udp>  <any | host <ip-addr> | <ip-addr> <acl-mask>
                                 [source-port            [<operator> <port-id>]]
                                 [destination-port     [<operator> <port-id>]]

Применение ACL к VLAN (реально ACL будет применять только к тем портам в VLAN, на которых настроена connection-rate filtering):

switch(config)# vlan <vlan-id> ip access-group <name> connection-rate-filter 

[править] Зеркалирование трафика

Основная страница: Зеркалирование трафика

[править] Аутентификация при доступе к сети

На странице Аутентификация при доступе к сети описаны различные методы аутентификации при подключении к сети. Описана общая информация о методах, основные принципы их работы. Более подробная информация о каждом методе находится на соответствующих страницах:

Кроме того, на этой странице описаны те настройки и принципы работы, которые одинаковы для всех методов аутентификации и особенности взаимодействия различных методов между собой.

[править] Поиск неисправностей (troubleshooting)

Вывод сообщений отладки в текущую сессию:

switch# debug destination session

[править] Сравнение HP ProCurve и Cisco

Источник — «http://xgu.ru/wiki/ProCurve_Security»