1. Защита от несанкционированного сбора информации.
Как же можно защитится и максимально усложнить жизнь потенциальному взломщику? Первое что необходимо сделать, это изменить дефолтовые настройки оборудования. К сожалению (или к щастью производители выпускают на рынок беспроводное сетевое оборудование с достаточно слабыми настройками безопасности, незаботясь о том, что в компании может быть мало квалифицированный администратор. Их политика направлена на упрощение установки и использования, что бьёт по безопасности целой сети. Такие утилиты как NetStumbler и Kismet, послав широковещательный пакет с пустым значением SSID, могут узнать немало конфиденциальной информации о точке доступа, у которой настройки по умолчанию. Если в качестве значения SSID стоит ANY, то AP (Access Point) с радостью будет отвечать на посланные ей броды. Перед использованием AP смените на ней значение SSID. Ещё одним слабым местом AP является непрерывная посылка в эфир сигналов определения местоположения, в которых содержиться имя SSID. Для повышения уровня безопасности стоит отключить посылку имени SSID в пакетах, используемых для определения местоположения.
Но проделав все эти манипуляции не надо думать, что Вы максимально защитились. Всё ещё существует большая вероятность, что взломщик сможет таки узнать заветное значение SSID. Ему достаточно перехватить значение SSID, которое передаёт легальный пользователь точке доступа. А что бы не ждать появления очередного юзера, взломщик может отправить на широковещательный адрес FF:FF:FF:FF:FF:FF ложный фрейм, который клиентами, которые подключены к атакуемой AP, может быть воспринят как фрейм который послала реальная AP для установки повторного соединения. В результате, клиенты отсоединятся от точки доступа и начнут повторно посылать запросы на соединение, в которых и будет SSID точки доступа. Такой ложный пакет генерируется утилитой essid_jack.
Ещё одним блефом обеспечения безопасности, является контроль доступа к AP с использованием фильтрации по MAC- адресу. К примеру с помошью утилиты AiroPeek NX можно узнать MAC- адреса всех подключённых к AP клиентов, поменять свой на один из них (можно использовать утилиту Bwmachak под Windows платформу или команду ifconfig для Linux систем) и свободно выдавать себя за легального пользователя. Не стоит и пренебрегать WEP (Wired Equivalent Privacy) шифрованием и протоколом SSL, применяя поверх HTTP.
Но так же не стоит думать, что это панацея от всех бед. WEP ключ могут украсть, перехватить, расшифровать наконец. Он не обеспечивает безопасную аутентификацию и вообще является слабым методом защиты передаваемых данных. После удачно проведённых атак на практике по взлому WEP алгоритма, был создан WEP-Plus. Он немного отличался от своего предшественника, был усовершенсвован алгоритм генерации вектора инициализации IV (Initialization Vector), но он всё равно был далёк от идеала. Что ж, алгоритмы не блещут криптостойкостью, но сеть нам нужна и перейти на более надёжные протоколы что-то мешат. Можно только посоветовать использовать 128-разрядный ключ и частую смену его самого.
2. Защита от взлома WEP ключа
В основе взлома лежит сбор как можно большего числа пакетов и их дальнейший анализ. Чо же можно предпринять в таком случае? Ответ прост - понизить трафик. Это не решит полностью проблему, но усложнить процесс взлома. На серверах может работать большое колличество служб, которыми никто не пользуется, но они постоянно посылают в сеть пакеты, даже если нет пользователей. Так же к разряду болтливых протоколов можно отнести RIP, STP, HSRP, VRRP, NetBIOS, IPX RIP и SAP, AppleTalk и т.д. Проанализируйте, что действительно необходимо вашей сети, а что нет. На многих AP по умолчанию вкючен к примеру STP протокол. Отключите всё неиспользуемое.
3. Защита от атаки "Человек посередине"
Настроить клиентские машины так, что бы они работали только на конкретной частоте. Взломщику придётся настроить работу ложной AP с такой же частотой как и оригинальная, это существенно усложнит его работу.
4. Защита протокола EAP-MD5.
Взломщик может перехватить логин и пароль пользователя применив атаку «человек посередине». Одним из способов воспрепятствовать такому положению дел, установить демон hostapd из пакета HostAP, который реализует минимальный сервер аутентификации. Когда сервер hostapd работает, клиенты, не поддерживающие стандарт 802.1х, не смогут посылать фреймы с данными через фальшивую точку доступа.
5. WIDS.
Для беспроводных сетей уже давно разработаны различные системы предотвращения атак. Это системы распознавания атак - WIDS разработанные специально для беспроводных сетей и комплекс ответных действий в случае обнаружения подозрительной активности - WIPS. AirDefense, AirMagnet Distributed, Newbury Networks, VigilantMinds AirXone, WildPackets RF Grabber - это небольшой список WIDS систем, которые призваны защитить WLAN. К примеру IBM предлагает Wireless Intrusion Detection Extensions (WIDE). Что же подсилу этой WIDS? Как заявляет сама IBM - это и обнаружение активных атак и слежение\анализ трафика и анализ произошедших событий и анализ данных за определённый момент времени и поиск\обнаружение ложных AP и мониторинг нарушения установленной сетевой политики. Кароче мастхев.
6. WPA.
В конце концов, если безопасность стоит на первом уровне, то существуют простоколы Wi-Fi Protected Access (WPA) или Wi-Fi Protected Access 2 (WPA2). В WPA входит более усовершенствованый протокол WEP, который учёл недостатки последнего, поэтому в нём используются смешанные ключи для каждого пакета. В WPA2 используется AES (Advanced Encryption Standard) стандарт с симметричным блочным шифрованим данных для защиты процессов проверки подлинности EAP (Extensible Authentication Protocol). AES основан на Counter-Mode/CBC-MAC Protocol (CCMP). А EAP сейчас разросся на EAP MD5, EAP-TLS, EAP-TTLS, LEAP и PEAP протоколы.
Протокол EAP Transport Layer Security (EAP-TLS) разработала Microsoft со свойственными ей цифровыми сертификатами. А вот Protected Extensible Authentication Protocol (PEAP) - это в свою очередь усовершенствованный EAP. Короче говоря, шифрует то, что не шифрует AEP , создаёт свой канал шифруя с помошью TLS. Всё это разработано в 802.11i версии. Связка WPA2 с протоколом EAP-TLS создаёт на сегодняшний день самую глубокую степень безопасности. Клиент и сервер подтверждают свою подлинность на основе цифровых сертификатов с реализацией открытого ключа PKI. Компания Microsoft разработала Small Business Server, который предоставляет базовые службы сертификатов. С его помощью можно организовать выдачу сертификатов клиентам, требуемые протоколом EAP-TLS. Кстате говоря Windows Vista и Longhorn уже поддерживают протокол WPA2.
7. Гроза хакера - RADIUS
RADIUS (http://www.freeradius.org) - Remote Authentication Dial-In User Service т.е. Служба Удаленной Аутентификации пользователей. Это практическая реализация модели ААА - аутентификация, авторизация и учет. Протокол был разработан для безопасного доступа к ресурсам сети и успешно применятся в беспроводных сетях. Детали реализации можно найти в в RFC 2138 (http://www.ietf.org/rfc/rfc2138.txt) и 2139 (http://www.ietf.org/rfc/rfc2139.txt.). Работает он следующим образом: пользователь передаёт запросы к NAS серверу (Network Access Server), который является клиентом RADIUS сервера. Есди в БД RADIUS сервера есть данные о переданной клиентом информации об аутентификации пользователя, то NAS серверу передаётся запрос об успешном соединении. Так же RADIUS-сервер может выступать в виде proxy-клиента для других RADIUS-серверов или других серверов аутентификации. Весь трафик между пользователем и RADIUS сервером шифруется ключём, который никогда не передаётся в откытом виде, так что прослушивание трафика ничего не даст.
Дефолтная структура передаваемых данных это атрибут-длина-значение (Attribute-Length-Value - ALV), но легко позвоялет и расширить их. Сами пакеты инкапсулируются в UDP поток. За сервером закреплены 1812 (доступ), 1813 (учет) и 1814 (proxy) порты. Возможны так же 1645 и 1646 порты - старые версии. Структура пакета следующая: заголовок, состоящий из четырёх частей и полезная нагрузка - атрибуты, значения.
Заголовок:
1) Код - 1 октет, содержит тип пакета, если его значение неверно, то сервер откидывает пакет;
2) Идентификатор - 1 октет, необходим для сопоставления ответа на ранее посланный запрос серверу;
3) Длина - 2 октета, содержит сумму длин полей идентификатора, аутентификатора и атрибутов;
4) Атентификатор - 16 октет, содержит значения запроса или ответа, используется для аутентификации и верификации.
С заголовком закончили, осталось поле для атрибутов. Существует шесть видов значений атрибутов:
1) INT - 4 октета, размер 32 бита;
2) ENUM - 4 октета, размер 32 бита;
3) STRING - 1-253 октета, плавающий размер;
4) IPADDR - 4 октета, размер 32 бита;
5) DATE - 4 октета, размер 32 бита;
6) BINARY - 1 октет, размер 1 бит.
Итак со структурой немного разобрались, теперь поговорим о наиболее важных моментах в настройке RADIUS'а касающихся именно безопасности. После установки (http://www.freeradius.org/getting.html) ищем следующий конфиг clients.conf и меняем дефолтные настройки для значения secret. Думаю не нужно говорить, что новое значение не должно быть типа qwerty.
Далее в radiusd.conf определяем способ аутентификации - LDAP, EAP-TLS либо UNIX password. Следующий конфиг users, в нём определяем параметры аутентификации пользователей: логин, пароль, разрешённые сервисы. Ограничте права доступа к этим конфигурационным файлам. Для предотвращения брутфорсинга неплохо было бы сделать ограничение по времени на безуспешное соединение. Неплохим усилением безопасности стало бы использование уникально для каждого клиента разделяемого секрета.
После устпешной настройки и запуска конект можно проверить с помошью утилиты radtest для UNIX like систем и NTRadPing (http://www.mastersoft-group.com/download/) для Windows систем.
Альтернативные RADIUS-сервера:
1) Cistron (http://www.radius.cistron.nl);
2) ICRADIUS (http://radius.innercite.com);
3) XtRADIUS (http://www.xtradius.com);
4) OpenRADIUS (http://www.openradius.net);
5) GNU-radius (http://www.gnu.org/software/radius/radius.html);
6) YARD RADIUS (http://sourceforge.net/projects/yardradius).
Утилиты для работы с сервером:
1) Accounting logparser (http://www.shenton.org/~chris/nasa-hq/dialup/radius) - перловый скрипт для анализа учетного протокола.;
2) RadiusReport (http://www.pgregg.com/projects/radiusreport) - тоже перловый анализатор протоколов;
3) RadiusSplit (http://www.pgregg.com/projects/radiussplit) - сортировщик учетных файлов;
4) RadiusContext () - анализа протоколов на Python'не.