Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Безопасность работы с системой Linux

Настройка строгой аутентификации (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
Рисунок 1

Получение дополнительной помощи

Мы рассмотрели лишь некоторые аспекты работы с wpa_supplicant. В Интернете можно найти гораздо больше примеров по настройке конфигурационного файла, а также воспользоваться соответствующим списком рассылки для поиска информации или связи с другими пользователями.

Eric Geier - основатель и генеральный директор NoWiresSecurity, предлагающей аутсорсинговый сервис AuthenticateMyWiFi с целью помочь организациям защитить свои Wi-Fi сети. Также он является автором многих книг, посвященных сетевым и компьютерным технологиям, из серий Cisco Press и For Dummies.