Защита беспроводных сетей, WPA: теория и практика (часть первая)
Тема безопасности беспроводных сетей по-прежнему остается актуальной, хотя уже достаточно давно существуют надежные (на сегодняшний момент, конечно же) методы защиты этих сетей. Разумеется, речь идет о технологии WPA (Wi-Fi Protected Access).
Большинство существующего на данный момент Wi-Fi оборудования имеет поддержку данной технологии, но, к сожалению, до сих пор в нашей лаборатории попадаются экземпляры, не знающие о WPA. Это более чем странно - заканчивается 2005 год, а некоторые производители до сих пор считают, что технология WEP спасет пользователей беспроводной сети от утечки информации. WEP уже давно устарела. На смену этой технологии пришел WPA, а также на горизонте виднеется новый стандарт 802.11i (некоторые производители преподносят его, как WPA2).
Технология WPA, призванная временно (в ожидании перехода к 802.11i) закрыть бреши WEP, состоит из нескольких компонентов:
протокол 802.1x - универсальный протокол для аутентификации, авторизации и учета (AAA)
протокол EAP - расширяемый протокол аутентификации (Extensible Authentication Protocol)
протокол TKIP - протокол временнОй целостности ключей, другой вариант перевода - протокол целостности ключей во времени (Temporal Key Integrity Protocol)
MIC - криптографическая проверка целостности пакетов (Message Integrity Code)
протокол RADIUS
За шифрование данных в WPA отвечает протокол TKIP, который, хотя и использует тот же алгоритм шифрования - RC4 - что и в WEP, но в отличие от последнего, использует динамические ключи (то есть ключи часто меняются). Он применяет более длинный вектор инициализации и использует криптографическую контрольную сумму (MIC) для подтверждения целостности пакетов (последняя является функцией от адреса источника и назначения, а также поля данных).
RADIUS-протокол предназначен для работы в связке с сервером аутентификации, в качестве которого обычно выступает RADIUS-сервер. В этом случае беспроводные точки доступа работают в enterprise-режиме.
Если в сети отсутствует RADIUS-сервер, то роль сервера аутентификации выполняет сама точка доступа - так называемый режим WPA-PSK (pre-shared key, общий ключ). В этом режиме в настройках всех точек доступа заранее прописывается общий ключ. Он же прописывается и на клиентских беспроводных устройствах. Такой метод защиты тоже довольно секьюрен (относительно WEP), очень не удобен с точки зрения управления. PSK-ключ требуется прописывать на всех беспроводных устройствах, пользователи беспроводных устройств его могут видеть. Если потребуется заблокировать доступ какому-то клиенту в сеть, придется заново прописывать новый PSK на всех устройствах сети и так далее. Другими словами, режим WPA-PSK подходит для домашней сети и, возможно, небольшого офиса, но не более того.
В этой серии статей будет рассмотрена работа WPA совместно с внешним RADIUS-сервером. Но прежде чем перейти к ней, немного подробнее остановимся на механизмах работы WPA. А перед этим рассмотрим технологию WPA2.
Технология WPA являлась временной мерой до ввода в эксплуатацию стандарта 802.11i. Часть производителей до официального принятия этого стандарта ввели в обращение технологию WPA2, в которой в той или иной степени используются технологии из 802.11i. Такие как использование протокола CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol), взамен TKIP, в качестве алгоритма шифрования там применяется усовершенствованный стандарт шифрования AES (Advanced Encryption Standard). А для управления и распределения ключей по-прежнему применяется протокол 802.1x.
Как уже было сказано выше, протокол 802.1x может выполнять несколько функций. В данном случае нас интересуют функции аутентификации пользователя и распределение ключей шифрования. Необходимо отметить, что аутентификация происходит «на уровне порта» - то есть пока пользователь не будет аутентифицирован, ему разрешено посылать/принимать пакеты, касающиеся только процесса его аутентификации (учетных данных) и не более того. И только после успешной аутентификации порт устройства (будь то точка доступа или умный коммутатор) будет открыт и пользователь получит доступ к ресурсам сети.
Функции аутентификации возлагаются на протокол EAP, который сам по себе является лишь каркасом для методов аутентификации. Вся прелесть протокола в том, что его очень просто реализовать на аутентификаторе (точке доступа), так как ей не требуется знать никаких специфичных особенностей различных методов аутентификации. Аутентификатор служит лишь передаточным звеном между клиентом и сервером аутентификации. Методов же аутентификации, которых существует довольно много:
EAP-SIM, EAP-AKA - используются в сетях GSM мобильной связи
LEAP - пропреоретарный метод от Cisco systems
EAP-MD5 - простейший метод, аналогичный CHAP (не стойкий)
EAP-MSCHAP V2 - метод аутентификации на основе логина/пароля пользователя в MS-сетях
EAP-TLS - аутентификация на основе цифровых сертификатов
EAP-SecureID - метод на основе однократных паролей
рис.1, структура EAP-кадра
Кроме вышеперечисленных, следует отметить следующие два метода, EAP-TTLS и EAP-PEAP. В отличие от предыдущих, эти два метода перед непосредственной аутентификацией пользователя сначала образуют TLS-туннель между клиентом и сервером аутентификации. А уже внутри этого туннеля осуществляется сама аутентификация, с использованием как стандартного EAP (MD5, TLS), или старых не-EAP методов (PAP, CHAP, MS-CHAP, MS-CHAP v2), последние работают только с EAP-TTLS (PEAP используется только совместно с EAP методами). Предварительное туннелирование повышает безопасность аутентификации, защищая от атак типа «man-in-middle», «session hihacking» или атаки по словарю.
На рис.1 показана структура EAP кадра. Протокол PPP засветился там потому, что изначально EAP планировался к использованию поверх PPP туннелей. Но так как использование этого протокола только для аутентификации по локальной сети - излишняя избыточность, EAP-сообщения упаковываются в «EAP over LAN» (EAPOL) пакеты, которые и используются для обмена информацией между клиентом и аутентификатором (точкой доступа).
рис.2, 802.1x в действии
Схема аутентификации состоит из трех компонентов:
Supplicant - софт, запущенный на клиентской машине, пытающейся подключиться к сети
Authenticator - узел доступа, аутентификатор (беспроводная точка доступа или проводной коммутатор с поддержкой протокола 802.1x)
Authentication Server - сервер аутентификации (обычно это RADIUS-сервер)
Теперь рассмотрим сам процесс аутентификации. Он состоит из следующих стадий:
Клиент может послать запрос на аутентификацию (EAP-start message) в сторону точки доступа
Точка доступа (Аутентификатор) в ответ посылает клиенту запрос на идентификацию клиента (EAP-request/identity message). Аутентификатор может послать EAP-request самостоятельно, если увидит, что какой-либо из его портов перешел в активное состояние.
Клиент в ответ высылает EAP-response packet с нужными данными, который точка доступа (аутентификатор) перенаправляет в сторону Radius-сервера (сервера аутентификации).
Сервер аутентификации посылает аутентификатору (точке доступа) challenge-пакет (запрос информации о подлинности клиента). Аутентификатор пересылает его клиенту.
Далее происходит процесс взаимной идентификации сервера и клиента. Количество стадий пересылки пакетов туда-сюда варьируется в зависимости от метода EAP, но для беспроводных сетей приемлема лишь «strong» аутентификация с взаимной аутентификацией клиента и сервера (EAP-TLS, EAP-TTLS, EAP-PEAP) и предварительным шифрованием канала связи.
На следующий стадии, сервер аутентификации, получив от клиента необходимую информацию, разрешает (accept) или запрещает (reject) тому доступ, с пересылкой данного сообщения аутентификатору. Аутентификатор (точка доступа) открывает порт для Supplicant-а, если со стороны RADIUS-сервера пришел положительный ответ (Accept).
Порт открывается, аутентификатор пересылает клиенту сообщение об успешном завершении процесса, и клиент получает доступ в сеть.
После отключения клиента, порт на точке доступа опять переходит в состояние «закрыт».
Описанный процесс проиллюстрирован на рис.3 (там показан один из простейших методов EAP):
рис.3, процесс аутентификации
Как видно из рисунка, для коммуникации между клиентом (supplicant) и точкой доступа (authenticator) используются пакеты EAPOL. Протокол RADIUS используется для обмена информацией между аутентификатором (точкой доступа) и RADIUS-сервером (сервером аутентификации). При транзитной пересылке информации между клиентом и сервером аутентификации пакеты EAP переупаковываются из одного формата в другой на аутентификаторе.
Детальное рассмотрение алгоритмов шифрования, а также методы генерации сессионных ключей шифрования, пожалуй, выходят за рамки данного материала, поэтому рассмотрю их лишь вкратце.
Первоначальная аутентификация производится на основе общих данных, о которых знают и клиент, и сервер аутентификации (как то логин/пароль, сертификат и т.д.) - на этом этапе генерируется Master Key. Используя Master Key, сервер аутентификации и клиент генерируют Pairwise Master Key (парный мастер ключ), который передается аутентификатору со стороны сервера аутентификации. А уже на основе Pairwise Master Key и генерируются все остальные динамические ключи, которым и закрывается передаваемый трафик. Необходимо отметить, что сам Pairwise Master Key тоже подлежит динамической смене.
Теперь перейдем от сухой теории к реальности, а именно реализации WPA в Windows XP. Нормальная поддержка WPA (с поддержкой AES) появилась, только начиная с windows service pack 2.
рис.4
В закладке аутентификация доступны методы
MD5-Challenge - самый примитивный и слабый, рассматривать не будем;
PEAP (Protected EAP) позволяет производить аутентификацию на основе сертификатов или логина/пароля. Он нам интересен в первую очередь возможностью аутентификации пользователя, используя логин/пароль. При этом нам не требуется настраивать инфраструктуру открытых ключей (PKI). Достаточно подключить RADIUS-сервер к какой-либо базе (обычный файл, mysql, ldap) с хранящимися пользователями и производить аутентификацию пользователей по ней.
Smart Card or Other Certificate - обычный EAP-TLS. Требует настроенной PKI, использует сертификаты для аутентификации клиентов. Более гибок (разумеется, после настройки PKI), чем аутентификация по логину/паролю. А также является единственным способом получить работающую связку беспроводных пользователей, работающих в Windows-домене.
Во второй части статьи будет рассмотрена настройка Windows-клиентов (Windows XP SP2), RADIUS-сервера (FreeRadius), и PKI на основе OpenSSL. Последние два компонента работают в операционной системе Gentoo Linux.
Навигация
Часть первая - теоретически аспекты протокола WPA
Часть вторая - WPA в режиме EAP-PEAP
Часть третья - WPA в режиме EAP-TLS, создание сертификатов и настройка FreeRadius
Часть четвертая - WPA в режиме EAP-TLS, настройка клиентов
Часть пятая - EAP-TLS аутентификация компьютеров в доменных сетях Windows
Евгений Зайцев (eightn@ixbt.com.)Опубликовано — 29 ноября 2005 г.
Защищаем беспроводную сеть: руководство THG
Андрей Пировских, 3 с
http://www.thg.ru/network/20050903/wep_security-02.html#7_
Умения нулевого уровня: любой владелец компьютера с беспроводным адаптером
1. Смените настройки по умолчанию
2. Обновите прошивку и, если нужно, оборудование
3. Отключите широковещание SSID
4. Выключайте сеть, когда не работаете!
5. Фильтрация по MAC-адресам
6. Снижение мощности передачи
Умения первого уровня: пользователь с общедоступным набором утилит для взлома WLAN
7. Шифрование
Умения второго уровня: пользователь с расширенным набором утилит для взлома WEP/WPA-PSK
8. Аутентификация
Умения третьего уровня: профессиональный хакер
9. Общая безопасность сети
Умения первого уровня: пользователь с общедоступным набором утилит для взлома WLAN
Перейдём к более опытным пользователям, которые специально бродят по окрестностям в поисках беспроводных сетей. Некоторые занимаются этим просто из интереса, пытаясь обнаружить, сколько сетей находится рядом. Они никогда не пытаются использовать уязвимые сети. Но есть и менее доброжелательные хакеры, которые подключаются и используют сети, а иногда даже доставляют владельцам неудобства.
Как мы полагаем, все принятые меры нулевого уровня не спасут от взломщиков первого уровня, и незваный гость может проникнуть в вашу сеть. От него можно защититься, используя шифрование и аутентификацию. С аутентификацией будем разбираться немного позже, пока же остановимся на шифровании.
Примечание. Одно из возможных решений - пропускать весь беспроводной трафик через туннель VPN (Virtual Private Network - виртуальная частная сеть), однако настройка VPN не совсем проста и выходит за рамки данного материала.
7. Шифрование
Владельцам беспроводных сетей следует использовать самый надёжный из доступных методов шифрования. Конечно, здесь всё зависит от оборудования, но, так или иначе, обычно можно выбрать WEP, WPA или WPA2.
WEP (Wired Equivalent Privacy - безопасность, эквивалентная проводной сети) является наиболее слабым протоколом, но на текущее время он наиболее широко распространён и поддерживается практически всем оборудованием 802.11. Возможно, придётся остановиться на использовании этой технологии и потому, что не все производители беспроводного оборудования выпустили обновления прошивки с поддержкой WPA для оборудования 802.11b. Некоторые до сих пор выпускают оборудование, которое поддерживает только WEP, например - беспроводные VoIP-телефоны. Таким образом, приходится искусственно снижать безопасность сети из-за того, что не всё оборудование поддерживает более новые технологии.
Как WPA (Wi-Fi Protected Access), так и WPA2 обеспечивают хорошую защиту беспроводной сети, что достигается благодаря более стойкому алгоритму шифрования и улучшенному алгоритму управления ключами. Основное отличие между ними состоит в том, что WPA2 поддерживает более стойкое шифрование AES (Advanced Encryption Standard). Однако, ряд продуктов, поддерживающих WPA, тоже позволяют использовать алгоритм шифрования AES вместо стандартного TKIP.
Большинство продуктов 802.11g поддерживают WPA, но есть и исключения. Что касается обновления старых продуктов до WPA2, то многие прошивки до сих пор находятся в состоянии разработки, несмотря на то, что стандарт 802.11i, на котором основан WPA2, был утверждён ещё в июне 2004.
Мы рекомендуем, по меньшей мере, использовать WPA. Его эффективность сопоставима с WPA2, и, как мы уже писали, стандарт поддерживается большим количеством оборудования. Конечно, внедрение WPA может потребовать покупки нового оборудования, особенно, если вы используете 802.11b. Однако оборудование 11g стоит сегодня относительно недорого и сможет оправдать себя.
Большинство потребительских точек доступа WPA и WPA2 поддерживают только режим с общим паролем WPA-PSK (Pre-Shared Key) (Рис. 4). WPA2 или WPA "Enterprise" (он же WPA "RADIUS") также поддерживается в некотором оборудовании, однако его использование требует наличия сервера RADIUS.
Рис. 4. Шифрование трафика на точке доступа Netgear.
Для большинства частных беспроводных сетей использование WPA-PSK обеспечит вполне достаточную защиту, но только при выборе относительно длинного и сложного пароля. Не следует использовать только цифры или слова из словаря, поскольку такие программы, как cowpatty, позволяют проводить словарные атаки против WPA-PSK.
Роберт Москович (Robert Moskowitz), старший технический директор ICSA Labs, в своей статье рекомендовал использовать 128-битное шифрование PSK. К счастью, все реализации WPA позволяют использовать цифробуквенные пароли, то есть для выполнения рекомендация Московича достаточно 16 символов.
В Интернете можно найти множество генераторов паролей, стоит лишь воспользоваться поисковой системой. Например, вот этот имеет множество настроек и позволяет оценивать, насколько сложен взлом сгенерированного пароля.
И, наконец, некоторые производители оборудования стали продавать точки доступа и беспроводные адаптеры с автоматической настройкой защиты беспроводных соединений. Buffalo Technology выпустила серию продуктов с технологией AOSS (AirStation One-Touch Secure Station). Linksys недавно начала производство и продажу оборудования с поддержкой подобной технологии SecureEasySetup от Broadcom.
Умения второго уровня: пользователь с расширенным набором утилит для взлома WEP/WPA-PSK
WPA и WPA2 закрывают большинство проблем, которые есть у WEP, но они всё же остаются уязвимыми, особенно в варианте PSK. Многие уже сами испробовали, как взломать WEP, тем более что в нашем предыдущем материале мы пошагово описали процедуру взлома.
Взлом WPA и WPA2 с паролем более сложен и требует больших затрат, особенно при использовании шифрования AES, но всё же возможен.
8. Аутентификация
Для защиты от этой угрозы следует внедрять аутентификацию. Аутентификация добавляет ещё один уровень безопасности, требуя, чтобы компьютер клиента зарегистрировался в сети. Традиционно это выполняется при помощи сертификатов, маркеров или паролей (также известных как Pre-Shared-Key), которые проверяются на сервере аутентификации.
Стандарт 802.1X позволяет работать с WEP, WPA и WPA2 и поддерживает несколько типов аутентификации EAP (Extensible Authentication Protocol). Подробнее о протоколах аутентификации EAP, WPA и WPA2 вы можете узнать в материале Джорджа Оу (George Ou).
Настройка аутентификации может оказаться затруднительной и дорогой задачей даже для профессионалов, не говоря об обычных пользователях. На нынешней конференции RSA в Сан-Франциско, например, многие посетители решили не настраивать безопасность беспроводных подключений только из-за того, что руководство занимало целую страницу!
К счастью, ситуация постоянно улучшается, и вам уже не нужно покупать полноценный сервер RADIUS, поскольку появилось множество простых в установке альтернативных решений. Например, LucidLink предлагает бесплатную полнофункциональную версию одноимённого сервера до конца 2005 года, поддерживающего средства аутентификации и защиты для трёх пользователей.
Подобный продукт от Wireless Security Corporation (недавно приобретённой McAfee) носит название WSC Guard. Цена подписки на него начинается от $4,95 в месяц за каждого пользователя, при оплате нескольких мест действуют скидки. Бесплатную 30-дневную тестовую версию можно скачать здесь.
Следующее решение больше подходит для опытных "сетевиков" - TinyPEAP является прошивкой с сервером RADIUS, который поддерживает аутентификацию PEAP на беспроводных маршрутизаторах Linksys WRT54G и GS. Отметим, что прошивка официально не поддерживается Linksys, так что установка выполняется на свой страх и риск.
Умения третьего уровня: профессиональный хакер
До сего момента защита сводилась к тому, чтобы не дать злоумышленнику подключиться к вашей сети. Но что делать, если, несмотря на все усилия, хакер пробрался в сеть?
Существуют системы обнаружения и предотвращения атак для проводных и беспроводных сетей, однако они нацелены на корпоративный уровень и имеют соответствующую стоимость. Также можно найти и решения, основанные на открытом исходном коде, но они, к сожалению, не совсем понятны для новичков. Кстати, наиболее популярной здесь является система Snort.
За многие годы существования проводных сетей были выработаны основные принципы безопасности, которые можно применять и к беспроводным сетям. Они позволят защититься от вторжения злоумышленника.
9. Общая безопасность сети
Для усиления защиты сетей следует внедрить следующие меры.
Аутентификация при обращении к любому сетевому ресурсу. Любой сервер, любой общий ресурс, панель управления маршрутизатором и т.д. должны требовать аутентификации. Хотя внедрить на уровне пользователей настоящую аутентификацию без соответствующего сервера невозможно. Как минимум, следует установить пароли на все общие ресурсы и отключить гостевую учётную запись, если вы используете Windows XP. И никогда не предоставляйте в общее пользование целые разделы!
Сегментирование сети. Компьютер, не подключённый к сети, защищён от сетевых атак. Однако есть и другие способы ограничения доступа. Несколько правильно настроенных недорогих маршрутизаторов NAT могут послужить прекрасной основой для создания защищённых сегментов LAN, с возможностью доступа из них в Интернет. Подробнее об этом читайте здесь.Коммутаторы или маршрутизаторы с поддержкой VLAN помогут также с разделением сети. Впрочем, функции VLAN есть на большинстве управляемых коммутаторов, однако они практически не встречаются в недорогих маршрутизаторах и неуправляемых коммутаторах.
Программные средства защиты. Как минимум, нужно использовать обновлённые антивирусные решения и регулярно обновлять базы. Персональные брандмауэры, такие как ZoneAlarm, BlackICE и другие оповестят о подозрительной сетевой активности. К сожалению, последние версии вредоносных и "шпионских" программ требуют установки ещё и специального "анти-шпионского" программного обеспечения. Здесь можно отметить Webroot Softwares Spy Sweeper, а также Sunbelt Software's CounterSpy. Отметим, что для организации надёжной защиты сети необходимо защитить все машины без исключения!
Шифрование файлов. Шифрование файлов с использованием криптостойких алгоритмов обеспечит надёжную защиту на случай неавторизованного доступа. Пользователи Windows XP могут воспользоваться Windows Encrypted File System (EFS). Пользователи Mac OS X Tiger - FileVault. Из минусов шифрования можно отметить, что оно требует ресурсов процессора, а это может существенно замедлить работу с файлами.
Заключение
Безусловно, беспроводные сети добавляют немало удобства, но нужно с умом подходить к их защите. Если вы не сделаете защиту самостоятельно, то никто не сделает это за вас. Конечно, от профессионального хакера вы вряд ли защититесь, но значительно осложните его работу. Да и вряд ли ваша сеть будет интересна профессионалам. А вот от многочисленных любителей нашкодить вы будете защищены. Так что взвесьте все "за" и "против" и защитите свою сеть!