ProCurve Security
Материал из Xgu.ru
- Автор: Наташа Самойленко
[править] Базовые настройки безопасности
[править] Отображение паролей в конфигурационном файле
По умолчанию следующие настройки хранятся во 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
|
Отключение функции сброса пароля:
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
Обязательно должна быть включена одна из двух функций: 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
|
Разделение на RACL, VACL и Port-based ACL связано с тем, куда применяется ACL и на какой тип трафика он может влиять. Создаются все три типа ACL одинаковыми командами, но применяются разными. |
Суммарная таблица со сравнением ACL различных типов:
Название ACL | Фильтрация трафика | ip routing | К чему применяется | Направление трафика |
---|---|---|---|---|
Routed ACL (RACL) |
| Включен | К VLAN | in и out |
VLAN ACL (VACL) |
| Включен или отключен | К VLAN | in |
Port-based ACL |
| Включен или отключен | К портам, транкам | in |
|
На коммутаторах 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
MAC Lockdown и Port Security не могут быть настроены одновременно на одном порту коммутатора. |
[править] Port security
Port security — функция коммутатора, позволяющая указать MAC-адреса хостов, которым разрешено передавать данные через порт. После этого порт не передает пакеты, если 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>
Чувствительность устанавливается глобально на весь коммутатор, а режим реагирования на превышение установленного уровня чувствительности может устанавливаться разным на разные порты. |
Просмотр настроек 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
- ProCurve / Cisco Interoperability Guide (pdf) (англ.)
ProCurve | ||
---|---|---|
Основы | ProCurve Adaptive Edge | ProCurve ProActive Defense | ProCurve Network Access Control | ProCurve Wireless | |
Программы | ProCurve Manager | ProCurve Identity Driven Manager | ProCurve Network Immunity Manager | ProCurve Mobility Manager | |
Устройства | ProCurve Switch | ProCurve Router | ProCurve ONE Module | ProCurve TMS Module | ProCurve NAC 800 | ProCurve Access Point | ProCurve WESM | |
Настройка | ||
Безопасность | ProCurve Security | Доступ к коммутатору ProCurve | DHCP snooping | Dynamic ARP Protection | IP Source Guard | Port security | Аутентификация при доступе к сети | 802.1X в ProCurve | Web-аутентификация в ProCurve | MAC-аутентификация в ProCurve | |
Канальный уровень | CDP | LLDP | VLAN в ProCurve | GVRP | STP в ProCurve | ProCurve Mesh | Агрегирование каналов | Зеркалирование трафика | QinQ | |
Сетевой уровень | RIP в ProCurve | OSPF в ProCurve | VRRP в ProCurve | XRRP в ProCurve | QoS в ProCurve | Multicast в ProCurve | PIM в ProCurve | |
Разное | Опция 82 DHCP | SNMP в ProCurve |