Библиотека сайта rus-linux.net
Настройка строгой аутентификации (802.1X) Wi-Fi в Linux
Оригинал: Configuring Strong Wi-fi (802.1X) Authentication in LinuxАвтор: Eric Geier
Дата публикации: 23 ноября 2009 г.
Перевод: М.Ульянов
Дата перевода: декабрь 2009 г.
В этом цикле статей мы сначала покажем, какое место аутентификация 802.1X занимает в системе безопасности беспроводных ЛВС. Затем разберемся с настройками аутентификации в Ubuntu, а в конце материала рассмотрим ручную конфигурацию саппликантов* 802.1Х. Ну что ж, начнем!
* от переводчика: русская терминология 802.1Х до конца не устоялась, поэтому постоянно встречаются разногласия. Термин "supplicant" в разных источниках может быть переведен как "клиент", "проситель", "инициатор", а может иметь место и простая транслитерация - "саппликант". В данной статье будет использоваться последний вариант.
Переход WEP -> WPA -> WPA2
После того как были обнаружены уязвимости протокола шифрования WEP, используемого в Wi-Fi сетях, в беспроводной индустрии (и, в частности, в IEEE) началась разработка новых протоколов и стандартов. В результате появился 802.11i, стандарт, наконец-то применивший абсолютно надежные механизмы шифрования к беспроводным ЛВС. Прежде чем он был закончен, Wi-Fi Alliance выпустили стандарт шифрования WPA (Wi-Fi Protected Access, защищенный доступ Wi-Fi), по сути базирующийся на промежуточной версии 802.11i с использованием протокола TKIP для шифрования. Позже они выпустили WPA2, включающий в себя полную поддержку 802.11i с использованием шифрования AES/CCMP.
Впоследствии в первой версии WPA было найдено немало недостатков. Однако, хоть некоторые и не признают этого, WPA так и не был взломан. Полностью раскрыть ключи шифрования или пароли никому не удалось. Найденные уязвимости относятся к используемому протоколу шифрования, TKIP, и поэтому справедливы для обоих режимов работы WPA - как Enterprise, так и PSK. Всё это никоим образом не относится к WPA2, использующему абсолютно надежный протокол шифрования AES/CCMP. И хотя WPA сейчас предоставляет адекватный уровень безопасности, особенно с длинными и сложными паролями, вам стоит попробовать перейти на WPA2 - и забудьте про WEP, навсегда.
Два режима работы Wi-Fi Protected Access
И WPA, и WPA2 могут функционировать в двух различных режимах: Корпоративный (Enterprise, 802.1X/EAP) и Персональный (Personal, PSK). При корпоративном режиме беспроводные клиенты аутентифицируются через протокол 802.1X/EAP на внешнем RADIUS-сервере, при персональном режиме же такого не происходит. И хотя последний гораздо легче настраивается и вполне годится для домашнего использования, в корпоративных сетях необходима аутентификация с использованием первого режима. Вместо ввода статичных ключей шифрования на клиентских машинах, в корпоративном режиме ключи согласуются и меняются автоматически после аутентификации при подключении к сети, причем происходит это прозрачно для пользователя.
Такое динамическое распределение ключей в корпоративном режиме имеет реальные преимущества. Собственно ключи шифрования, открывающие доступ к Wi-Fi соединениям, находятся не на клиенстких компьютерах, как при персональном режиме. И поэтому при краже компьютера вор не получает ключей для доступа к сети. Да и сами служащие тоже никогда их не увидят. При аутентификации 802.1Х для доступа к сети пользователь использует имя пользователя и пароль, или же цифровой сертификат, или же смарт-карту; и при необходимости эти идентификаторы могут блокироваться/отзываться администраторами сети. При персональном режиме для этого пришлось бы менять ключи шифрования на всех компьютерах.
Саппликанты 802.1X
Клиентское ПО, реализующее клиентскую часть протокола аутентификации, носит забавное название - саппликант 802.1Х. Именно в саппликант вводятся индентификаторы. Затем саппликант обращается к аутентификатору, в роли которого может выступать беспроводная точка доступа или коммутатор, который уже связывается с сервером аутентификации (RADIUS).
Итак, для подключения к сети с использованием 802.1Х вам необходимо установить клиентское ПО. Годы назад на Linux это было нелегкой задачей. По сути, саппликанты были только у Cisco и Microsoft. И хотя вскоре были разработаны open-source саппликанты, их было непросто настроить. Однако, теперь некоторые дистрибутивы Linux имеют настройки 802.1Х, встроенные прямо в графическую оболочку системы, где их конфигурация и ввод идентификаторов превращаются в довольно тривиальную задачу.
Два основных проекта саппликантов 802.1Х под Linux, это Xsupplicant и wpa_supplicant. Xsupplicant существует с 2003 года, разрабатывается в составе Open1X и имеет поддержку OpenSEA Alliance. В свою очередь, wpa_supplicant был создан в 2004 году, разрабатывается Джуни Мэлайненом (Jouni Malinen) не без поддержки других спонсоров. Оба клиента запускаются и под Linux, и под Windows, имеют графический интерфейс в дополнение к текстовым настройкам. Проект wpa_supplicant также поддерживает BSD и Mac OS X.
Настройка 802.1X в Ubuntu 9.10
Мало того, что в Ubuntu 9.10 по умолчанию входит wpa_supplicant, так еще и родной графический интерфейс настройки сети напрямую с ним взаимодействует! Поэтому настройка аутентификации 802.1Х и подключение к корпоративной сети с WPA или WPA2 в Ubuntu довольно просты. Когда вы готовы к подключению, просто нажмите на иконку сети в верхней части экрана и выберите сеть из списка.
Если вы используете протокол EAP, базирующийся на пароле, вроде популярных PEAPv0/EAP-MSCHAPv2, вас попросят ввести данные аутентификации, как показано на рисунке 1. Подразумевается, что ваш сетевой адаптер и драйвера поддерживают WPA/WPA2.
Сначала удостоверьтесь, что значение параметра Wireless Security установлено на WPA & WPA2 Enterprise
. Затем выберите протокол аутентификации, поддерживаемый сервером аутентификации, например популярный протокол PEAP. Если ваш сервер аутентификации не настроен на принятие анонимных соединений, то параметр Anonymous identity просто игнорируйте.
Далее вы должны выбрать файл сертификата УЦ (Удостоверяющий Центр, Certification Authority, CA), чтобы перед завершением аутентификации клиент мог удостовериться, что он подключается к легальному серверу авторизации. Хотя вы можете пропустить этот пункт, рекомендуется подтвердить сертификат сервера для абсолютной безопасности. Если сервер аутентификации имеет сертификат SSL, купленный у центров сертификации вроде VeriSign или Godaddy, вам придется скачать публичные корневые сертификаты с их сайтов, поскольку в отличие от Windows, в Ubuntu они не включены по умолчанию. Если вы создали собственные самоподписанные сертификаты, вроде openssl, то вам необходимо выбрать корневой сертификат УЦ из созданных.
Теперь вы можете настроить остальные параметры для выбранного вами типа EAP. Например, если был выбран PEAP, то параметр PEAP Version следует установить в значение Automatic
, а Inner Authentication - в значение MSCHAPv2
.
Наконец, введите имя пользователя и пароль, прописанные в сервере аутентификации или во внутренней базе данных.
Когда всё будет готово, нажмите Connect
. Дайте 802.1Х несколько секунд, и подключение к сети должно быть успешно установлено. Если нет, перепроверьте настройки и обратитесь к логам на сервере аутентификации.
Не расслабляйтесь - в следующей статье мы рассмотрим, как вручную настроить саппликанты 802.1Х.
Eric Geier - основатель и генеральный директор NoWiresSecurity, предлагающей аутсорсинговые услуги по аутентификации RADIUS/802.1X для организаций малого и среднего бизнеса с целью помочь последним защитить свои Wi-Fi сети. Также он является автором многих книг, посвященных сетевым и компьютерным технологиям, из серий Cisco Press и For Dummies.