| Оглавление |
|---|
Описание
WIPS/WIDS – внутренний сервис точки доступа (ТД) по обнаружению и предотвращению вторжений в беспроводную сеть.
| Информация |
|---|
Функционал WIDS/WIPS доступен на следующих ТД: WEP-3ax – начиная с версии ПО 1.14.0. WEP-30L, WEP-30L-Z, WOP-30L, WOP-30LS, WOP-30LI – начиная с версии ПО 2.6.0. |
Данный механизм анализирует трафик в радио-окружении ТД, делает вывод о наличии в сети угроз безопасности, оповещает о них администратора контроллера и, при необходимости, предпринимает действия для подавления этих угроз.
Поддержан следующий функционал WIDS/WIPS:
- Обнаружение DDoS-атак.
- Отслеживание перебора паролей.
- Обнаружение точек доступа, имитирующих SSID.
- Обнаружение точек доступа, имитирующих MAC-адрес.
- Отключение клиентов от вражеских ТД.
Лицензирование
| Информация |
|---|
Функционал WIDS/WIPS активируется лицензией WLC-WIDS-WIPS. Информация о загрузке и применении лицензии описана в статье Активация функционала по лицензии. |
Проверить наличие лицензии можно с помощью команды show licence:
| Блок кода |
|---|
wlc# show licence Feature Source State Value Valid from Expiries -------------------------------- -------- ----------- -------------------------------- -------------------- -------------------- WLC Boot Active true -- -- WLC Boot Candidate true -- -- WLC-WIDS-WIPS File Active true -- -- WLC-WIDS-WIPS File Candidate true -- -- |
В случае отсутствия лицензии конфигурирование WIDS/WIPS доступно, но функционал не активирован.
Управление
Активация сервиса
| Подсказка |
|---|
Включить сервис можно только в общих настройках WIDS. Если в общих настройках сервис выключен, то он не работает на всех ТД контроллера и включить его на отдельной ТД или в конкретной локации нельзя. |
Предусмотрена возможность выключения сервиса в определенной локации или на конкретной ТД с помощью команды wids-disable. При этом команда no wids-disable в локации или в индивидуальном профиле ТД не означает, что сервис включен, если одновременно с этим он выключен в общих настройках WIDS.
Для включения сервиса используйте следующие команды:
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# wlc wlc(config-wlc)# wids wlc(config-wlc-wids)# enable wlc(config-wlc-wids)# shared-key ascii-text 0123456789 wlc(config-wlc-wids)# do commit wlc(config-wlc-wids)# do confirm |
| Подсказка |
|---|
Для включения сервиса обязательно должен быть задан общий ключ доверенных ТД 'shared-key'. |
Все настройки сканирования и детектирования атак содержатся в профиле WIDS. По умолчанию в общих настройках WIDS используется профиль с названием default-wids, это можно увидеть в полной конфигурации контроллера с помощью команды sh ru full wlc wids:
| Блок кода | ||
|---|---|---|
| ||
wlc# sh ru full wlc wids wids wids-profile default-wids shared-key ascii-text encrypted CCE5513EE45A1EAC450A enable exit |
Чтобы проверить параметры профиля используйте команду sh ru full wlc wids-profile. В данном случае профиль содержит настройки параметров по умолчанию.
| Блок кода | ||
|---|---|---|
| ||
wlc# sh ru full wlc wids-profile
wids-profile default-wids
prevention-mode none
attack-stats-trap-send-period 10
scan
mode none
interface all
passive interval 20
passive time 110
sentry time 200
exit
bruteforce-detection
threshold 25
interval 5
no mac-ban enable
mac-ban timeout 1800
no enable
exit
dos-detection
interval 1
trap-send-period 20
threshold leap 250
threshold assoc 500
threshold reassoc 500
threshold disassoc 500
threshold probe 500
threshold beacon 500
threshold blockack 500
threshold blockack-req 500
threshold ps-poll 500
threshold auth 500
threshold deauth 500
threshold rts 500
threshold cts 500
no enable
exit
exit |
Порядок применения настроек
Существуют 3 варианта применения настроек:
1. На все ТД контроллера.
2. На ТД локации.
3. На конкретную ТД.
| Подсказка |
|---|
Приоритет применения настроек следующий: настройки индивидуального профиля, настройки локации, общие настройки сервиса. |
В общих настройках сервиса задается общий ключ доверенных ТД, выбирается профиль настроек WIDS, а также белые и черные списки для более точной настройки "доверенных" и "вражеских" ТД. Все эти настройки можно переопределить на уровне локации, а также на конкретной ТД через индивидуальный профиль.
Настройка сервиса на точке доступа и логика работы
Атака "Человек посередине" (Man-in-the-Middle, MITM)
Атака, при которой используются методы перехвата данных, позволяющие внедриться в существующее подключение или процесс связи.
Обнаружение вредоносных ТД
Для определения вредоносных точек доступа необходимо настроить сканирование. Сканирование может быть пассивным или активным.
В пассивном режиме сканирования точка доступа периодически (через время, заданное в параметре 'passive interval') и кратковременно (на время, заданное в параметре 'passive time') меняет свой текущий радиоканал, на котором работает с клиентами, на очередной канал из общего списка, чтобы обнаружить другие ТД в эфире. Качество услуги, предоставляемой клиенту в момент сканирования, практически не деградирует.
В активном режиме сканирования не предусмотрена работа ТД с клиентами. ТД всё время сканирует весь список радиоканалов (продолжительность сканирования одного канала задается в параметре 'sentry time') и максимально быстро обнаруживает угрозы.
В результате сканирования ТД распределяет все ТД в эфире на три группы:
- "Недоверенные" ТД – точки, которые присутствуют в эфире, но о них более ничего не известно;
- "Доверенные" ТД – точки, которые установлены и управляются оператором;
- "Вражеские" ТД – точки, которые несут угрозу для остальных ТД в сети – это ТД, которые имитируют MAC-адрес или SSID исходной ТД.
Для однозначного выявления всех "недоверенных" ТД эфире, в Beacon-пакет ТД, использующих сервис WIDS, добавляется динамически изменяющаяся зашифрованная подпись. Расшифровать пакет могут лишь те точки, на которых настроен идентичный общий ключ 'Shared key' в конфигурации сервиса. Если подписи в пакете нет, либо при его декодировании получен не ожидаемый результат, то ТД, от которой был получен пакет, будет считаться "недоверенной". Иначе – "доверенной".
Если "недоверенная" ТД имеет MAC-адрес или SSID, совпадающий с текущими значениями на сканирующей ТД, то такая точка будет считаться "вражеской", о чем будет сообщено администратору, посредством отправки с ТД соответствующей нотификации на контроллер.
| Раскрыть | |||||
|---|---|---|---|---|---|
|
Настройки сканирования выполняются в профиле WIDS. Ниже представлен пример настройки пассивного сканирования со временем сканирования одного канала 110 мс и интервалом между сканированием 30 с, и сканированием в обоих частотных диапазонах:
| Блок кода | ||
|---|---|---|
| ||
wlc# configure
wlc(config)# wlc
wlc(config-wlc)# wids-profile test_wids_profile
wlc(config-wlc-wids-profile)# scan
wlc(config-wlc-wids-profile-scan)# mode passive
wlc(config-wlc-wids-profile-scan)# interface all
wlc(config-wlc-wids-profile-scan)# passive time 110
wlc(config-wlc-wids-profile-scan)# passive interval 30
wlc(config-wlc-wids-profile-scan)# do commit
wlc(config-wlc-wids-profile-scan)# do confirm
wlc(config-wlc-wids-profile-scan)#
wlc(config-wlc-wids-profile-scan)# do sh ru wlc wids-profile test_wids_profile
wids-profile test_wids_profile
scan
mode passive
passive interval 30
passive time 50
exit
exit |
Профиль можно применить:
1. На все ТД контроллера. Для этого необходимо указать профиль в общих настройках WIDS.
| Блок кода | ||
|---|---|---|
| ||
wlc(config)# wlc wlc(config-wlc)# wids wlc(config-wlc-wids)# wids-profile test_wids_profile wlc(config-wlc-wids)# do commit wlc(config-wlc-wids)# do confirm wlc(config-wlc-wids)# |
2. На ТД локации. Для этого необходимо указать профиль в настройках конкретной локации. Если одновременно профиль задан в общих настройках и в локации – будет использоваться профиль из локации.
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# wlc wlc(config-wlc)# ap-location default-location wlc(config-wlc-ap-location)# wids wlc(config-wlc-ap-location-wids)# wids-profile test_wids_profile wlc(config-wlc-ap-location-wids)# wlc(config-wlc-ap-location-wids)# wlc(config-wlc-ap-location-wids)# do commit wlc(config-wlc-ap-location-wids)# do confirm wlc(config-wlc-ap-location-wids)# |
3. На конкретную ТД. Для этого необходимо указать профиль WIDS в индивидуальном профиле ТД. Если одновременно профиль задан в общих настройках и/или в локации и в индивидуальном профиле ТД – будут использоваться настройки из индивидуального профиля ТД.
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# wlc wlc(config-wlc)# ap 68:13:e2:03:00:10 wlc(config-wlc-ap)# ap-location default-location wlc(config-wlc-ap)# override wids wlc(config-wlc-ap-wids-override)# wids-profile default-wids wlc(config-wlc-ap-wids-override)# do commit wlc(config-wlc-ap-wids-override)# do confirm wlc(config-wlc-ap-wids-override)# |
Для более гибкой работы сервиса, есть возможность явно указать список ТД, которые должны считаться "доверенными" ТД (white-list) или "вражескими"(black-list). Эти списки настраиваются в object-group, а применяются также на 3 уровнях – в общих настройках, в локации или индивидуально на ТД.
| Подсказка |
|---|
Приоритет применения списков следующий: настройки индивидуального профиля, настройки локации, общие настройки сервиса. В случае если на одном уровне задан только список одного вида (белого или черного), противоположный список будет использован со следующего уровня. Например, если в индивидуальном профиле ТД задан только черный список, то белый список будет взят из настроек локации. Если он не задан в локации, то будет взят из общих настроек сервиса. |
Ниже представлен пример настройки списков для всех ТД контроллера, в котором в черном списке задан MAC-адрес e4:5a:d4:e8:d9:20 (эта ТД будет считаться "вражеской"), а в белом списке задан MAC-адрес e8:28:c1:d7:3c:20 (эта ТД будет считаться "доверенной"):
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# object-group mac AP1 wlc(config-object-group-mac)# mac address e4:5a:d4:e8:d9:20 wlc(config-object-group-mac)# ex wlc(config)# object-group mac AP2 wlc(config-object-group-mac)# mac address e8:28:c1:d7:3c:20 wlc(config-object-group-mac)# ex wlc(config)# wlc(config)# wlc wlc(config-wlc)# wids wlc(config-wlc-wids)# black-list AP1 wlc(config-wlc-wids)# white-list AP2 wlc(config-wlc-wids)# do commit wlc(config-wlc-wids)# do confirm wlc(config-wlc-wids)# wlc(config-wlc-wids)# do sh ru object-groups mac object-group mac AP1 mac address e4:5a:d4:e8:d9:20 ff:ff:ff:ff:ff:ff exit object-group mac AP2 mac address e8:28:c1:d7:3c:20 ff:ff:ff:ff:ff:ff exit wlc(config-wlc-wids)# wlc(config-wlc-wids)# do sh ru wlc wids wids wids-profile test_wids_profile shared-key ascii-text encrypted CCE5513EE45A1EAC450A enable white-list AP2 black-list AP1 exit |
| Подсказка |
|---|
Если требуется задать пустой список, то необходимо создать пустую группу MAC-адресов и использовать ее на нужном уровне. |
Пример настройки пустого списка:
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# object-group mac noAP wlc(config-object-group-mac)# exit wlc(config)# wlc wlc(config-wlc)# wids wlc(config-wlc-wids)# black-list noAP wlc(config-wlc-wids)# do commit wlc(config-wlc-wids)# do confirm wlc(config-wlc-wids)# wlc(config-wlc-wids)# do sh ru object-groups mac noAP object-group mac noAP exit wlc(config-wlc-wids)# wlc(config-wlc-wids)# do sh ru wlc wids wids wids-profile test_wids_profile shared-key ascii-text encrypted CCE5513EE45A1EAC450A enable white-list AP2 black-list noAP exit |
Предотвращение угроз (WIPS)
Для настройки подавления угроз от вредоносных ТД, которые имитируют SSID или MAC-адрес сканирующей ТД, используется параметр prevention-mode. В случае активации режима 'Rogue', исходная ТД будет отправлять пакеты типа 'Deauthentification' от имени "вражеской" ТД ее клиентам. При использовании режима 'All' форсированные пакеты 'Deauthentification' будут отправляться не только "вражеским" ТД, но и всем "недоверенным".
Пример настройки подавления угроз от "вражеских" ТД:
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# wlc wlc(config-wlc)# wids-profile test_wids_profile wlc(config-wlc-wids-profile)# prevention-mode rogue wlc(config-wlc-wids-profile)# do commit wlc(config-wlc-wids-profile)# do confirm wlc(config-wlc-wids-profile)# |
Применить профиль можно в общих настройках WIDS для всех ТД контроллера, в локации или индивидуально на ТД.
При активации режима подавления можно настроить период отправки на контроллер сообщений, содержащих статистику срабатываний функционала подавления угроз (WIPS). Для этого необходимо использовать параметр 'attack-stats-trap-send-period' и задать значение в минутах.
| Блок кода | ||
|---|---|---|
| ||
wlc(config-wlc-wids-profile)# attack-stats-trap-send-period 10 wlc(config-wlc-wids-profile)# do commit wlc(config-wlc-wids-profile)# do confirm wlc(config-wlc-wids-profile)# |
При срабатывании функционала WIPS ТД будет отправлять нотификации на контроллер с указанной периодичностью.
| Раскрыть | |||||
|---|---|---|---|---|---|
|
Атака "Отказ в обслуживании" (denial-of-service, DoS)
Атака создана для значительного затруднения работы сети или системы путем загрузки служебными запросами, которые исчерпывают ресурсы сети или системы для обслуживания пользователей.
DoS-атака определяется превышением лимита, который задается параметром 'threshold' для управляющих фреймов разных типов в радиоэфире. В профиле также задается интервал времени, в течение которого идет подсчет фреймов (параметр 'interval'). Если за это время заданный лимит превышен, то на контроллер будет сгенерировано и отправлено сообщение об обнаружении атаки. Период отправки таких сообщений настраивается в параметре 'trap-send-period'.
Также администратором задается параметр 'threshold leap', который показывает, насколько должно измениться количество пакетов по сравнению с предыдущим периодом, чтобы было отправлено сообщение о DoS-атаке на контроллер.
Пример настройки профиля WIDS с активацией режима обнаружения DoS-атаки при превышении количества любого типа пакетов 700 на интервале 5 секунд, а также при резком увеличении количества пакетов более чем на 500, с периодом отправки нотификаций – 30 секунд:
| Блок кода | ||
|---|---|---|
| ||
wlc# wlc# configure wlc(config)# wlc wlc(config-wlc)# wids-profile test_wids_profile wlc(config-wlc-wids-profile)# dos-detection wlc(config-wlc-wids-profile-dos-detection)# wlc(config-wlc-wids-profile-dos-detection)# interval 5 wlc(config-wlc-wids-profile-dos-detection)# trap-send-period 30 wlc(config-wlc-wids-profile-dos-detection)# threshold leap 500 wlc(config-wlc-wids-profile-dos-detection)# threshold assoc 700 wlc(config-wlc-wids-profile-dos-detection)# threshold reassoc 700 wlc(config-wlc-wids-profile-dos-detection)# threshold disassoc 700 wlc(config-wlc-wids-profile-dos-detection)# threshold probe 700 wlc(config-wlc-wids-profile-dos-detection)# threshold beacon 700 wlc(config-wlc-wids-profile-dos-detection)# threshold blockack 700 wlc(config-wlc-wids-profile-dos-detection)# threshold blockack-req 700 wlc(config-wlc-wids-profile-dos-detection)# threshold ps-poll 700 wlc(config-wlc-wids-profile-dos-detection)# threshold auth 700 wlc(config-wlc-wids-profile-dos-detection)# threshold deauth 700 wlc(config-wlc-wids-profile-dos-detection)# threshold rts 700 wlc(config-wlc-wids-profile-dos-detection)# threshold cts 700 wlc(config-wlc-wids-profile-dos-detection)# enable wlc(config-wlc-wids-profile-dos-detection)# wlc(config-wlc-wids-profile-dos-detection)# do commit wlc(config-wlc-wids-profile-dos-detection)# do confirm |
Применить профиль можно в общих настройках WIDS для всех ТД контроллера, в локации или индивидуально на ТД.
| Раскрыть | |||||
|---|---|---|---|---|---|
|
Атака "Перебор паролей" (Bruteforce)
Метод атаки с угадыванием паролей учетных данных для входа в систему, ключей шифрования и прочей информации для получения несанкционированного доступ к данным, системам или сетям. Метод заключается в переборе всех возможных комбинаций для получения правильного пароля.
ТД считает количество неудачных попыток авторизации пользователя при Personal- или Enterprise-авторизации в течении периода, определенного в параметре 'interval'. Если общее количество таких попыток за указанное время превышает заданный порог 'threshold', то считается, что производится атака перебора паролей и на контроллер отправляется сообщение о Bruteforce-атаке.
При включении опции mac-ban enable ТД дополнительно считает количество неудачных попыток авторизации для каждого клиента в отдельности и блокирует доступ клиента к сервису по его MAC-адресу, если количество неудачных попыток авторизации для него превышено, а также оповещает об этом контроллер. По истечению времени блокировки, заданному в параметре mac-ban timeout, клиент вновь может делать попытки подключения к ТД, при этом ТД также оповещает контроллер о том, что клиент был разблокирован.
Пример настройки профиля WIDS с активацией режима обнаружения атаки "перебор паролей" при превышении порога 10 попыток на интервале времени 5 секунд, с блокировкой клиентов на 60 секунд:
| Блок кода | ||
|---|---|---|
| ||
wlc# configure wlc(config)# wlc wlc(config-wlc)# wids-profile test_wids_profile wlc(config-wlc-wids-profile)# bruteforce-detection wlc(config-wlc-wids-profile-bf-detection)# enable wlc(config-wlc-wids-profile-bf-detection)# threshold 10 wlc(config-wlc-wids-profile-bf-detection)# interval 5 wlc(config-wlc-wids-profile-bf-detection)# mac-ban enable wlc(config-wlc-wids-profile-bf-detection)# mac-ban timeout 60 wlc(config-wlc-wids-profile-bf-detection)# do commit wlc(config-wlc-wids-profile-bf-detection)# do confirm |
Применить профиль можно в общих настройках WIDS для всех ТД контроллера, в локации или индивидуально на ТД.
| Раскрыть | |||||
|---|---|---|---|---|---|
|