Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 15 Следующий »

Описание

WIPS/WIDS — внутренний сервис точки доступа (ТД) по обнаружению и предотвращению вторжений в беспроводную сеть.

Функционал WIDS/WIPS доступен на следующих точках доступа:

WEP-3ax – начиная с версии ПО 1.14.0.

WEP-30L, WOP-30L, WOP-30LS – начиная с версии ПО 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.

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

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

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

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

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

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

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

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 секунд:

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

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 секунд:

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

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
  • Нет меток