Библиотека сайта rus-linux.net
Настройка строгой аутентификации (802.1X) Wi-Fi в Linux, часть 2
Оригинал: Configuring Strong Wi-Fi (802.1X) Authentication in Linux, Part IIАвтор: Eric Geier
Дата публикации: 15 декабря 2009
Перевод: М.Ульянов
Дата перевода: январь 2010 г.
В прошлом месяце мы начали разговор о технологии аутентификации 802.1X. Рассмотрели, каким образом она использует шифрование для защиты беспроводных сетей. Выяснили, что стандарт WEP давно мертв, WPA вполне пригоден для работы, ну а WPA2 - лучший вариант. Также были описаны два различных режима функционирования WPA (обеих версий): легко настраиваемый PSK (Персональный) и более мощный Корпоративный, предназначенный для защиты сетей в организациях.
Помимо вышеперечисленного, в предыдущей части были рассмотрены основные саппликанты (клиенты) 802.1X: Xsupplicant и wpa_supplicant. Мы использовали wpa_supplicant, настраивая его через графический интерфейс сетевых настроек Ubuntu. В этот раз займемся ручной настройкой wpa_supplicant через соответствующий конфигурационный файл. Это пригодится в случае, если ваш дистрибутив Linux не поддерживает настройку данного саппликанта через графический интерфейс.
Настройка wpa_supplicant с использованием конфигурационного файла
В случае, если вы установили wpa_supplicant отдельно, его следует настроить через конфигурационный файл. В случае, если саппликант предустановлен в вашем дистрибутиве Linux, вы все равно можете использовать конфигурационный файл для более тонкой и точной настройки параметров аутентификации и шифрования.
Вот пара основных параметров, требующих настройки в первую очередь (они применяются ко всем сетям, к которым вы подключаетесь):
- eapol_version: может принимать значения 1 и 2. По умолчанию wpa_supplicant использует EAPOL версии 2, как указано в стандарте IEEE 802.1X-2004. Однако, некоторые точки доступа все еще поддерживают только первую версию.
- fast_reauth: значение 1 включает быструю повторную аутентификацию для всех поддерживаемых методов EAP, 2 - выключает.
Подробные настройки сетей, к которым вы хотите подключиться, указываются в блоках, заключенных в фигурные скобки. Саппликант будет пытаться подключиться к перечисленным сетям в том порядке, в каком они указаны. Прежде чем тратить время на настройку всех параметров, стоит проверить, нормально ли саппликант работает с вашим беспроводным драйвером. Для этого нужно подключиться к незашифрованной точке доступа, используя следующий блок:
# Connects to the specified open or unencrypted network network = { ssid="network_name" key_mgmt=NONE }
Перед конфигурацией других блоков настройки сети, давайте проведем обзор некоторых параметров (полей), которые можно в них использовать для настройки параметров сети:
- ssid: Имя сети. Обязательное поле.
- scan_ssid: При установке параметра в 1 во фреймах probe request указывается конкретный SSID сети. Это используется при подключении к скрытой сети или к точке доступа, имеющей несколько идентификаторов SSID.
- key_mgmt: Допустимы такие варианты, как WPA-PSK (при использовании этого значения обязательно также поле psk), WPA-EAP, IEEE8021X (аутентификация как с использованием динамически генерируемых ключей WEP, так и без) и NONE (для сетей открытых или использующих статические ключи WEP).
- pairwise: Если используется один из стандартов WPA, укажите либо CCMP (в случае WPA2), либо TKIP (в случае WPA).
- eap: Разделенный пробелами список поддерживаемых методов EAP: MD5, MSCHAPV2, OTP, GTC, TLS, PEAP, или TTLS.
- identity: Строка, используемая для идентификации EAP, например имя пользователя.
- password: Строка, используемая в качестве пароля EAP.
- ca_cert: Полный путь к CA-сертификату в формате PEM или DER, необходим для возможности подтверждения сертификата сервера.
- ca_path: Полный путь к директории, где хранятся файлы CA-сертификатов (в формате PEM), которые вы хотите добавить в список доверенных. Необходим для возможности подтверждения сертификата сервера.
- client_cert: Полный путь к файлу сертификата клиента в формате PEM или DER format, необходим для возможности использования методов EAP, например TLS.
Теперь продемонстрируем использование некоторых из этих полей на примерах.
Вот пример блока, настроенного для подключения к сети в режиме WPA-Enterprise с аутентификацией 802.1X (используется протокол PEAP, требующий от пользователя ввода данных учетной записи):
network = { ssid="wpa-enterpise-peap example" key_mgmt=WPA-EAP pairwise=TKIP group=TKIP eap=PEAP identity="user@your_domain" password="your_password" ca_cert="/etc/cert/ca.pem" phase1="peapver=0" phase2="MSCHAPV2" }
Далее приведем пример блока, настроенного на подключение к сети WPA2-Enterprise с аутентификацией 802.1X (используется EAP-TLS, требующий сертификаты клиента и сервера):
network = { ssid="wpa2-enterpise-tls example" key_mgmt=WPA-EAP pairwise=CCMP group=CCMP eap=TLS ca_cert="/etc/cert/ca.pem" private_key="/etc/cert/user.p12" private_key_passwd="PKCS#12 your_password" }
Запускаем wpa_supplicant
Сохранив в файле wpa_supplicant.conf
необходимые параметры и блоки настройки сети, можно попробовать его в деле. Вот пример того, как произвести запуск из командной строки:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Данная команда запускает демона в фоновом режиме, использует сетевой интерфейс wlan0 и считывает конфигурационные файлы из директории etc. Для получения дополнительной помощи, используйте man wpa_supplicant
, чтобы прочесть руководство. Если возникают какие-то проблемы, попробуйте запустить следующую команду для вывода информации отладки:
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -d
Дабы не вводить все эти команды после каждой загрузки, в файле по адресу /etc/network/interfaces следует сохранить следующее:
auto wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf post-down killall -q wpa_supplicant
Использование приложения wpa_gui
Если с командной строкой какие-то проблемы, попробуйте wpa_gui
. Это графическая утилита,
которую можно использовать для настройки большинства параметров wpa_supplicant. В зависимости от
вашего дистрибутива Linux, утилита может быть установлена вместе с пакетом wpa_supplicant,
либо из отдельного пакета wpa_gui.
На рисунке 1 показано, как выглядит утилита в Ubuntu. По сути, это графическая оболочка для работы с конфигурационным файлом и командной строкой. Позволяет искать беспроводные сети и сохранять для них профили, есть возможность просмотра состояния сети и истории событий, также можно настроить параметры WPS.
Рисунок 1
Получение дополнительной помощи
Мы рассмотрели лишь некоторые аспекты работы с wpa_supplicant. В Интернете можно найти гораздо больше примеров по настройке конфигурационного файла, а также воспользоваться соответствующим списком рассылки для поиска информации или связи с другими пользователями.
Eric Geier - основатель и генеральный директор NoWiresSecurity, предлагающей аутсорсинговый сервис AuthenticateMyWiFi с целью помочь организациям защитить свои Wi-Fi сети. Также он является автором многих книг, посвященных сетевым и компьютерным технологиям, из серий Cisco Press и For Dummies.