Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Описание

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:

  1. Обнаружение DDoS-атак.
  2. Отслеживание перебора паролей.
  3. Обнаружение точек доступа, имитирующих SSID.
  4. Обнаружение точек доступа, имитирующих MAC-адрес.
  5. Отключение клиентов от вражеских ТД.

Лицензирование

Информация

Функционал 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.

Для включения сервиса используйте следующие команды: 

Блок кода
languagevb
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:

Блок кода
languagevb
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. В данном случае профиль содержит настройки параметров по умолчанию.

Блок кода
languagevb
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') и максимально быстро обнаруживает угрозы.

В результате сканирования ТД распределяет все ТД в эфире на три группы:

  1. "Недоверенные" ТД – точки, которые присутствуют в эфире, но о них более ничего не известно;
  2. "Доверенные" ТД – точки, которые установлены и управляются оператором;
  3. "Вражеские" ТД – точки, которые несут угрозу для остальных ТД в сети – это ТД, которые имитируют MAC-адрес или SSID исходной ТД.

Для однозначного выявления всех "недоверенных" ТД эфире, в Beacon-пакет ТД, использующих сервис WIDS, добавляется динамически изменяющаяся зашифрованная подпись. Расшифровать пакет могут лишь те точки, на которых настроен идентичный общий ключ 'Shared key'  в конфигурации сервиса. Если подписи в пакете нет, либо при его декодировании получен не ожидаемый результат, то ТД, от которой был получен пакет, будет считаться "недоверенной". Иначе – "доверенной".

Если "недоверенная" ТД имеет MAC-адрес или SSID, совпадающий с текущими значениями на сканирующей ТД, то такая точка будет считаться "вражеской", о чем будет сообщено администратору, посредством отправки с ТД соответствующей нотификации на контроллер.

Раскрыть


Блок кода
languagevb
wlc# sh wlc journal wids attack mitm detected-rogue
2024-12-02T07:47:59+00:00 AP 68:13:e2:03:00:20 detected rogue AP with MAC e8:28:c1:ed:47:70, RSSI: -15, channel: 6, SSID: wids_test, AP location: default-location, reason: fake SSID


Настройки сканирования выполняются в профиле WIDS. Ниже представлен пример настройки пассивного сканирования со временем сканирования одного канала 110 мс и интервалом между сканированием 30 с, и сканированием в обоих частотных диапазонах:

Блок кода
languagevb
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.

Блок кода
languagevb
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. На ТД локации. Для этого необходимо указать профиль в настройках конкретной локации. Если одновременно профиль задан в общих настройках и в локации – будет использоваться профиль из локации.

Блок кода
languagevb
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 в индивидуальном профиле ТД. Если одновременно профиль задан в общих настройках и/или в локации и в индивидуальном профиле ТД – будут использоваться настройки из индивидуального профиля ТД.

Блок кода
languagevb
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 (эта ТД будет считаться "доверенной"):

Блок кода
languagevb
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-адресов и использовать ее на нужном уровне.

Пример настройки пустого списка:

Блок кода
languageactionscript3
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' будут отправляться не только "вражеским" ТД, но и всем "недоверенным".

Пример настройки подавления угроз от "вражеских" ТД:

Блок кода
languagevb
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' и задать значение в минутах.

Блок кода
languagevb
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 ТД будет отправлять нотификации на контроллер с указанной периодичностью.

Раскрыть


Блок кода
languagevb
wlc(config-wlc-wids-profile)# do sh wlc journal wids attack mitm our-attacks-information-update 
2024-11-02T20:43:26+07:00 AP 68:13:e2:20:a2:10 attacked AP 68:13:e2:0e:85:51 on channel 1, interface: wlan0, AP location: default-location1, description: broadcast-count 1012, unicast-count 1
2024-11-02T20:43:26+07:00 AP 68:13:e2:20:a2:10 attacked AP e0:d9:e3:48:74:90 on channel 1, interface: wlan0, AP location: default-location1, description: broadcast-count 1012, unicast-count 1

2024-11-02T20:43:34+07:00 AP e8:28:c1:fc:d4:60 attacked AP e8:28:c1:d7:3c:22 on channel 1, interface: wlan0, AP location: default-location1, description: broadcast-count 777, unicast-count 0
2024-11-02T20:43:34+07:00 AP e8:28:c1:fc:d4:60 attacked AP 68:13:e2:21:1e:21 on channel 1, interface: wlan0, AP location: default-location1, description: broadcast-count 777, unicast-count 0


Атака "Отказ в обслуживании" (denial-of-service, DoS)

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

DoS-атака определяется превышением лимита, который задается параметром 'threshold' для управляющих фреймов разных типов в радиоэфире. В профиле также задается интервал времени, в течение которого идет подсчет фреймов (параметр 'interval'). Если за это время заданный лимит превышен, то на контроллер будет сгенерировано и отправлено сообщение об обнаружении атаки. Период отправки таких сообщений настраивается в параметре 'trap-send-period'.

Также администратором задается параметр 'threshold leap', который показывает, насколько должно измениться количество пакетов по сравнению с предыдущим периодом, чтобы было отправлено сообщение о DoS-атаке на контроллер.

Пример настройки профиля WIDS с активацией режима обнаружения DoS-атаки при превышении количества любого типа пакетов 700 на интервале 5 секунд, а также при резком увеличении количества пакетов более чем на 500, с периодом отправки нотификаций – 30 секунд:

Блок кода
languagevb
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 для всех ТД контроллера, в локации или индивидуально на ТД.

Раскрыть


Блок кода
languagevb
wlc(config-wlc-wids-profile-dos-detection)# do sh wlc journal wids attack dos 
2024-11-02T20:01:43+07:00 AP 68:13:e2:20:a2:70 detected DoS attack on wlan0: a sharp increase in the number of packets with type 'Probe request' (from 20 to 640), AP location: default-location. Found 23 attacks for last detection period, attack time from AP: 2024-11-02T17:31:41+04:30
2024-11-02T20:01:43+07:00 AP 68:13:e2:20:a2:70 detected DoS attack on wlan0: too many packets with type 'Beacon' (count 720 when constraint 700), AP location: default-location. Found 30 attacks for last detection period, attack time from AP: 2024-11-02T17:31:41+04:30


Атака "Перебор паролей" (Bruteforce)

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

ТД считает количество неудачных попыток авторизации пользователя при Personal- или Enterprise-авторизации в течении периода, определенного в параметре 'interval'. Если общее количество таких попыток за указанное время превышает заданный порог 'threshold', то считается, что производится атака перебора паролей и на контроллер отправляется сообщение о Bruteforce-атаке.

При включении опции mac-ban enable ТД дополнительно считает количество неудачных попыток авторизации для каждого клиента в отдельности и блокирует доступ клиента к сервису по его MAC-адресу, если количество неудачных попыток авторизации для него превышено, а также оповещает об этом контроллер. По истечению времени блокировки, заданному в параметре mac-ban timeout, клиент вновь может делать попытки подключения к ТД, при этом ТД также оповещает контроллер о том, что клиент был разблокирован.

Пример настройки профиля WIDS с активацией режима обнаружения атаки "перебор паролей" при превышении порога 10 попыток на интервале времени 5 секунд, с блокировкой клиентов на 60 секунд:

Блок кода
languagevb
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 для всех ТД контроллера, в локации или индивидуально на ТД.

Раскрыть


Блок кода
languagevb
wlc# sh wlc journal wids attack bruteforce too-much-authentication-fail-detected 
2024-11-02T19:38:46+07:00 AP e8:28:c1:fc:d4:60 detected too much authorization failed on wlan0-vap1, SSID: wids_test, last client MAC: 60:ab:67:ba:89:24, AP location: default-location

wlc#  sh wlc journal wids attack bruteforce client-was-banned 
2024-11-11T15:14:49+07:00 AP 68:13:e2:20:a2:70 banned client 60:ab:67:ba:89:24, SSID: wids_test1_Ent, interface: wlan0-va0, auth-method: enterprise, eap-method: PEAP, captive-portal: disabled, AP location: default-location

wlc#  sh wlc journal wids attack bruteforce client-was-unbanned 
2024-11-11T15:15:51+07:00 AP 68:13:e2:20:a2:70 unbanned client 60:ab:67:ba:89:24, SSID: wids_test1_Ent, interface: wlan0-va0, auth-method: enterprise, eap-method: PEAP, captive-portal: disabled, AP location: default-location