Журнал LinuxFormat - перейти на главную

LXF97:RADIUS

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
* '''Linux в сети WPA:'''
+
* '''WPA Enterprise Linux на страже безопасности домашней Wi-Fi сети'''
==WPA Enterprise Linux на страже безопасности домашней Wi-Fi сети==
+
 
 +
==Linux в сети WPA: есть контакт!==
 +
 
  
 
'''ЧАСТЬ 2''' Теперь, когда в вашем распоряжении есть защищенная по максимуму Wi-Fi-сеть, дело за малым: осталось только подключить к ней свой собственный ноутбук. Этим и займется '''Андрей Боровский'''.
 
'''ЧАСТЬ 2''' Теперь, когда в вашем распоряжении есть защищенная по максимуму Wi-Fi-сеть, дело за малым: осталось только подключить к ней свой собственный ноутбук. Этим и займется '''Андрей Боровский'''.
Строка 32: Строка 34:
 
</code>
 
</code>
  
Если же апплет ''NetworkManager'' запустился успешно и обнаружил настройки беспроводной сети, в системном лотке рабочего стола появляется пиктограмма с несколькими точками и бегущими по кругу стрелками. Щелчок мышью по этой пиктограмме открывает окно, в котором перечислены обнаруженные сети. Справа от имени каждой беспроводной сети расположен значок, указывающий на наличие
+
Если же апплет ''NetworkManager'' запустился успешно и обнаружил настройки беспроводной сети, в системном лотке рабочего стола появляется пиктограмма с несколькими точками и бегущими по кругу стрелками. Щелчок мышью по этой пиктограмме открывает окно, в котором перечислены обнаруженные сети. Справа от имени каждой беспроводной сети расположен значок, указывающий на наличие защиты сети, и индикатор качества сигнала. Чтобы подключиться к одной из обнаруженных сетей, следует щелкнуть по ее имени. Правда, по умолчанию для сетей WPA апплет ''NetworkManager'' предлагает только аутентификацию WPA Personal, то есть WPA-PSK. Для под ключения к сети с использованием других методов аутентификации выберите команду '''Connect to Other Wireless Network....''' В открывшем ся окне (Рис. 1) можно ввести необходимые параметры. Для настройки аутентификации по протоколу PEAP MS CHAP V2 вам понадобятся имя пользователя сети и пароль, а для настройки авторизации методом EAP TLS – файлы сертификатов, ключа и пароль к секретному ключу. Пояснения смысла полей ввода этого окна вы найдете ниже, в разделе '''«Настройка подключения к сети»'''.
 +
 
 +
[[Изображение:Radius1.jpg|Рис. 1. Подключение к сети WPA Enterprise с помощью апплета
 +
''NetworkManager'']]
 +
 
 +
Убедившись, что подключение к сети с помощью ''NetworkManager'' работает, вы можете добавить ''NetworkManager'' в rc-скрипты для его автоматического запуска в процессе загрузки ОС.
 +
 
 +
Недостатком апплета ''NetworkManager'' на сегодняшний день является то, что утилита не умеет настраивать параметры IP-адреса сетевого интерфейса. Отсутствие средств такой настройки не является проблемой, если вы используете DHCP во всех сетях, к которым подключаетесь, но многие, в том числе и я, используют в домашней сети статические адреса. Настроить статический IP для соединения, управляемого ''NetworkManager'', можно стандартными средствами вашего дистрибутива Linux, однако тут возникает еще одна проблема – хотя штатные средства настройки сетевых интерфейсов ОС обычно позволяют создавать несколько профилей (DHCP для одной сети, статический адрес – для другой), эти профили нельзя привязать к профилям ''NetworkManager'', так что при переключении с одной сети на другую (которое ''NetworkManager'' выполняет автоматически) профили настроек сетевых интерфейсов придется менять вручную. Разработчики ''NetworkManager'' обещают добавить поддержку настроек IP-адресов в следующую версию (0.7) своей утилиты, а пока что придется мириться с этим неудобством.
 +
 
 +
===Настройка ''wpa_suppplicant''===
 +
 
 +
Если простая настройка сети с помощью ''NetworkManager'' у вас не работает, придется прибегнуть к ручной настройке ''wpa_supplicant''. В системе Linux ''wpa_supplicant'' (который, кстати, доступен и на платформе Windows) обычно запускается как демон, поэтому мы будем называть его «демон аутентификации». Демон аутентификации ''wpa_supplicant'' отвечает за решение двух задач безопасного беспроводного соединения – безопасной аутентификации по протоколам WPA/WPA2 и управления ключами, используемыми при шифровании передаваемых данных.
 +
 
 +
Поскольку ''wpa_supplicant'' и сопутствующие ему модули развиваются очень быстро, всегда есть вероятность, что оборудование, не поддерживаемое старой версией ''wpa_supplicant'' или Wi-Fi-драйвера, будет поддерживаться более новыми версиями. Если экземпляр ''wpa_supplicant'' из вашего дистрибутива не сумел наладить взаимодействие с вашей беспроводной картой, попробуйте собрать программу из исходных текстов последнего релиза (который всегда доступен на официальном сайте http://hostap.epitest.fi/wpa_supplicant/). Для успешной сборки ''wpa_supplicant'' вам понадобятся исходные тексты драйверов
 +
(обновление драйвера может решить проблему взаимодействия ''wpa_supplicant'' и беспроводной карты). Исходные тексты драйверов следует загружать отдельно, с сайтов разработчиков. Список поддерживаемых драйверов, как и ссылки на сайты, можно найти на той же официальной странице.
 +
 
 +
Демон ''wpa_supplicant'' имеет модульную структуру, так что если вы собираете его из исходных текстов, вы должны убедиться, что в процессе сборки были подключены все необходимые модули. Список модулей, подключаемых к wpa_supplicant в процессе сборки, должен содержаться в файле '''.config''', расположенном в корневой директории исходных текстов ''wpa_spplicant'' (по умолчанию, в корневой директории расположен файл '''defconfig''', из которого перед началом сборки необходимо сделать файл конфигурации, подходящий для вашей системы). Файл '''.config''' состоит из набора строк вида:
 +
 
 +
<code>
 +
CONFIG_<опция>=y
 +
</code>
 +
 
 +
Убедитесь, что ваш файл '''.config''' включает строки
 +
 
 +
<code>
 +
CONFIG_EAP_PEAP=y
 +
CONFIG_EAP_TTLS=y
 +
</code>
 +
 
 +
Они автоматически подключают модули, необходимые для поддержки аутентификации с помощью MS-CHAP V2 и цифровых сертификатов (EAP-TLS). Кроме списка модулей, реализующих методыи протоколы аутентификации, файл '''.config''' должен включать список поддерживаемых интерфейсов драйверов – например,
 +
 
 +
<code>
 +
CONFIG_DRIVER_MADWIFI=y
 +
CONFIG_DRIVER_NDISWRAPPER=y
 +
CONFIG_DRIVER_WEXT=y
 +
</code>
 +
 
 +
Проследите за тем, чтобы демон аутентификации был сконфигурирован с поддержкой интерфейса драйвера вашей Wi-Fi-карты. Двоичный пакет ''wpa_supplicant'', входящий в ваш дистрибутив Linux, сконфигурирован с поддержкой всех доступных демону Wi-Fi-драйверов. Это сделано с целью обеспечить максимальную совместимость двоичного пакета, однако в некоторых случаях драйверы конфликтуют между собой. Если вы никак не можете запустить процесс аутентификации и все другие средства не помогают, попробуйте удалить из файла конфигурации все директивы подключения драйверов, кроме одной, фактически используемой вашей беспроводной картой.
 +
 
 +
Поскольку мы настраиваем ''wpa_supplicant'' вручную, нам придется самостоятельно «привязать» наши настройки к сетевому интерфейсу – например, в Kubuntu в файл '''/etc/network/interfaces''' следует добавить запись вида:
 +
 
 +
<code>
 +
auto ath0
 +
iface ath0 inet static
 +
address 192.168.1.36
 +
netmask 255.255.255.0
 +
gateway 192.168.1.1
 +
wpa-driver madwifi
 +
wpa-conf /etc/wpa_supplicant.conf
 +
</codce>
 +
 
 +
Здесь '''ath0''' – имя настраиваемого беспроводного сетевого интерфейса. Далее следуют статические адреса узла и шлюза. Если узлы вашей сети получает адреса по DHCP, вместо этих настроек надо написать
 +
 
 +
<code>
 +
iface ath0 inet dhcp
 +
</code>
 +
 
 +
Последние две строчки настраивают собственно параметры WPA. В атрибуте '''wpa-driver''' указывается имя драйвера беспроводного адаптера, а в атрибуте '''wpa-conf''' – путь к файлу конфигурации ''wpa_supplicant''. В некоторых дистрибутивах Linux (и в старых версиях Kubuntu) параметры запуска ''wpa_supplicant'' следует прописывать в специальном файле '''/etc/sysconfig/wpa_supplicant''' (в старых версиях Kubuntu – '''/etc/default/wpasupplicant'''). Вот типичный пример такого файла:
 +
 
 +
<code>
 +
INTERFACES=”-iwlan0”
 +
DRIVERS=”-Dmadwifi”
 +
</code>
 +
 
 +
Значением атрибута '''INTERFACES''' должен быть список интерфейсов устройств, для которых запускается демон ''wpa_supplicant'', а значением атрибута '''DRIVERS''' – список интерфейсов необходимых драйверов.
 +
 
 +
===Настройка подключения к сети: PEAP MSCHAP V2 и EAP-TLS===
 +
 
 +
Linux предоставляет много способов настройки аутентификации с
 +
помощью wpa_supplicant, в том числе с применением вспомогатель-
 +
ных утилит. Мы начнем с настройки путем непосредственного редакти-
 +
рования файлов конфигурации. Вспомогательные утилиты настройки
 +
авторизации (включая апплет GNOME NetworkManager) используют те
 +
же обозначения полей, что и файл конфигурации wpa_supplicant, так
 +
что, поняв принцип редактирования этого файла, вы поймете и прин-
 +
ципы работы с графическими помощниками.
 +
Для настройки авторизации PEAP MSCHAP V2 создайте файл /etc/
 +
wpa_supplicant.conf и добавьте в него запись вида
 +
network={
 +
ssid=”lochi7”
 +
scan_ssid=1
 +
key_mgmt=WPA-EAP
 +
eap=PEAP
 +
identity=”kub”
 +
password=”password”
 +
phase2=”auth=MSCHAPV2”
 +
}
 +
Атрибут ssid содержит значение SSID беспроводной сети. Строка
 +
scan_ssid=1 необходима только в том случае, если в вашей сети
 +
запрещена широковещательная передача SSID. Значением атрибута
 +
key_mgmt должен быть список протоколов управления ключами (эле-
 +
менты списка разделяются пробелом). Помимо используемого нами
 +
протокола WPA-EAP, поддерживаются значения WPA-PSK, IEEE8021X
 +
и NONE (для отключения WPA). Если вы хотите явным образом указать
 +
алгоритм шифрования данных, можете указать атрибуты pairwise (для
 +
двусторонней передачи данных) и group (для широковещательной
 +
передачи). Значениями этих атрибутов являются списки имен протоко-
 +
лов шифрования. По умолчанию атрибуту pairwise присвоено значение
 +
TKIP CCMP, а атрибуту group – значение CCMP TKIP WEP104 WEP40.
 +
Если вы хотите, например, запретить использование любых протоко-
 +
лов, кроме AES, в процессе двусторонней передачи данных, добавьте в
 +
конфигурационную запись строку:
 +
pairwise=CCMP
 +
Атрибут eap позволяет указать список поддерживаемых методов
 +
аутентификации EAP. Мы присваиваем ему значение PEAP. В принци-
 +
пе, атрибут eap можно опустить, так как по умолчанию в wpa_supplicant
 +
включается поддержка всех методов аутентификации, поддержива-
 +
емых выбранным протоколом. Атрибут identity содержит имя поль-
 +
зователя для аутентификации по протоколу MS CHAP V2, а атрибут
 +
password – пароль. Наконец, атрибут phase2 указывает, что в безопас-
 +
ном туннеле, созданном по протоколу PEAP, должен использоваться
 +
протокол аутентификации MS CHAP V2. После внесения изменений
 +
в файл wpa_supplicant.conf, во избежание появления довольно стран-
 +
ных ошибок, следует перезапустить сетевой сервис (а не только демон
 +
wpa_supplicant). Не забудьте (при необходимости) перенастроить точ-
 +
ку доступа, и если вы все сделали правильно, вы увидите сообщения
 +
сервера FreeRADIUS об успешном прохождении процедуры аутентифи-
 +
кации PEAP MS CHAP V2.
 +
Для аутентификации по протоколу EAP-TLS на клиентской машине
 +
потребуется установить клиентский сертификат, корневой сертификат,
 +
удостоверяющий подпись клиентского и серверного сертификатов, и
 +
файл секретного ключа клиентского сертификата. Методы генерации
 +
всех этих файлов были подробно рассмотрены нами в предыдущей ста-
 +
тье (LXF96), и сейчас нам остается выполнить лишь одно дополнитель-
 +
ное преобразование. Напомню, что мы создавали файлы сертификатов в
 +
формате DER, тогда как демон wpa_supplicant и его друзья предпочита-
 +
ют сертификаты в формате PEM. Преобразовать клиентский сертификат
 +
из формата DER в формат PEM можно с помощью команды:
 +
openssl x509 -in user1.crt -out user1.pem
 +
Точно также следует преобразовать и корневой сертификат.
 +
При аутентификации по протоколу EAP-TLS запись network {...} в
 +
файле wpa_supplicant должна принять вид
 +
network={
 +
ssid=”lochi7”
 +
key_mgmt=WPA-EAP
 +
eap=TLS
 +
identity=”user1”
 +
ca_cert=”/usr/local/etc/certs/myroot_ca.pem”
 +
client_cert=”/usr/local/etc/certs/user1.pem”
 +
private_key=”/usr/local/etc/certs/user1.key”
 +
private_key_passwd=”password”
 +
}
 +
Теперь атрибут eap указывает метод авторизации TLS. Атрибут
 +
identity содержит имя пользователя, с которым связан клиентский сер-
 +
тификат. Как отмечалось в предыдущей статье, мы можем настроить
 +
сервер FreeRADIUS таким образом, чтобы он не проверял это значение.
 +
Значением атрибута ca_cert должен быть путь к файлу корневого сер-
 +
тификата, значением атрибута client_cert – путь к файлу клиентского
 +
сертификата, а значением атрибута private_key – путь к файлу секрет-
 +
ного ключа клиента. Пароль доступа к секретному ключу хранится в
 +
атрибуте private_key_passwd. На этом настройка клиента для авториза-
 +
ции по протоколу EAP-TLS закончена. Как и при настройке MS CHAP V2,
 +
нам следует перезапустить сетевую систему.
 +
Мы не коснулись еще одного важного аспекта настройки бес-
 +
проводного клиента – поддержки нескольких сетей. Настроить wpa_
 +
supplicant для работы с несколькими сетями очень просто – доста-
 +
точно добавить соответствующие записи network{...} в файл /etc/ wpa_
 +
supplicant.conf. В большинстве случаев подключение к доступной сети
 +
будет выполняться автоматически.

Версия 11:16, 16 октября 2008

  • WPA Enterprise Linux на страже безопасности домашней Wi-Fi сети

Содержание

Linux в сети WPA: есть контакт!

ЧАСТЬ 2 Теперь, когда в вашем распоряжении есть защищенная по максимуму Wi-Fi-сеть, дело за малым: осталось только подключить к ней свой собственный ноутбук. Этим и займется Андрей Боровский.

В прошлой статье мы познакомились с сервером FreeRADIUS и дополнительными возможностями авторизации WPA Enterprise, которые он предоставляет. На этот раз речь пойдет о настройке авторизации беспроводных клиентов Linux в сетях, использующих авторизацию WPA Enterprise. Конечно, в вашей беспроводной сети наверняка есть и Windows-машины, но останавливаться на методах настройки Windows мы не будем. Настройка авторизации клиентов Windows в беспроводной сети (в том числе и методами WPA) довольно проста и подробно документирована (пошаговые руководства на русском языке можно найти и в Сети). В мире Linux дела обстоят несколько сложнее. Впрочем, как мы увидим, не намного.

Самая серьезная проблема, с которой вы столкнетесь при подключении Linux-машины к беспроводной сети, заключается в подборе драйвера, поддерживающего вашу Wi-Fi-карту. Ситуация с поддержкой чипсетов беспроводных карт в ОС Linux сейчас напоминает положение дел с аппаратным ускорением графики в 2000–2001 годах: необходимые программные компоненты уже есть, но поддержка конкретного оборудования реализована не полностью. Справедливости ради надо отметить, что ситуация улучшается довольно быстро (см. врезку). При описании настройки авторизации беспроводного Linux-клиента я буду исходить из предположения, что вы уже прошли мучительный процесс поиска и установки Linux-драйвера для вашей Wi-Fi-карты (или подобрали поддерживаемую Linux Wi-Fi-карту) и научились «поднимать» беспроводной сетевой интерфейс в своей системе.



Аутентификацией WPA в Linux управляет демон wpa_supplicant. Перед началом настройки беспроводного клиента WPA-enterprise убедитесь в том, что этот демон установлен в вашей системе. Помимо него, нам понадобятся демон управления сетями NetworkManager, утилита wavemon, а также, в зависимости от того, по какому пути пойдет настройка – графическая оболочка GNOME NetworkManager Applet [или ее KDE-аналог – KNetworkManager, – прим. ред.], утилиты wpa_gui и KWlan. Все перечисленные программы можно найти в любом современном дистрибутиве Linux. Многие системы устанавливают их по умолчанию, но в некоторых случаях нужные пакеты придется добавлять самостоятельно.

Настройка WPA с помощью NetworkManager

Начнем с самого простого и приятного способа настройки аутентификации в беспроводной сети. Современные дистрибутивы Linux содержат компонент NetworkManager; его главная задача заключается в том, чтобы обеспечить работу сети прямо из коробки. NetworkManager – это демон, который выполняет роль связующего звена между такими компонентами, как демон аутентификации wpa_supplicant, клиент DHCP и другими. Во многих системах NetworkManager будет запущен сразу после установки – проверить это можно с помощью утилиты nm-tool, о которой будет сказано ниже. Если NetworkManager не запускается автоматически, его следует запустить в режиме root командой NetworkManager. Если вы хотите получить консольный вывод NetworkManager (например, в случае возникновения ошибок), запускайте программу с ключом --no-daemon. Учтите, что файлы конфигурации, оставшиеся от предыдущих попыток настроить подключение к беспроводной сети другими способами, могут поме- шать NetworkManager определить параметры оборудования и сети. Например, мне, чтобы запустить NetworkManager, пришлось удалить файл /etc/network/interfaces со старыми настройками. После запуска демона вы можете проверить его работу с помощью утилиты nm-tool. Если с NetworkManager все в порядке и утилита nm-tool распечатала на экране консоли корректные сведения о ваших сетевых интерфейсах и сетях, к которым они подключены, можете плясать и петь – основная часть работы по настройке подключения к сети вами уже сделана.

Для управления NetworkManager существует несколько графических утилит, наиболее функциональной из которых является апплет NetworkManager для GNOME. Утилита настройки NetworkManager от GNOME запускается командой nm-applet. Если ее нет в вашей системе, значит, скорее всего, соответствующий пакет просто не установлен. Если апплет NetworkManager отказывается запускаться с сообщением “Failed to open device XXX”, вам следует перезапустить демон dbus:

sudo /etc/init.d/dbus restart

Если же апплет NetworkManager запустился успешно и обнаружил настройки беспроводной сети, в системном лотке рабочего стола появляется пиктограмма с несколькими точками и бегущими по кругу стрелками. Щелчок мышью по этой пиктограмме открывает окно, в котором перечислены обнаруженные сети. Справа от имени каждой беспроводной сети расположен значок, указывающий на наличие защиты сети, и индикатор качества сигнала. Чтобы подключиться к одной из обнаруженных сетей, следует щелкнуть по ее имени. Правда, по умолчанию для сетей WPA апплет NetworkManager предлагает только аутентификацию WPA Personal, то есть WPA-PSK. Для под ключения к сети с использованием других методов аутентификации выберите команду Connect to Other Wireless Network.... В открывшем ся окне (Рис. 1) можно ввести необходимые параметры. Для настройки аутентификации по протоколу PEAP MS CHAP V2 вам понадобятся имя пользователя сети и пароль, а для настройки авторизации методом EAP TLS – файлы сертификатов, ключа и пароль к секретному ключу. Пояснения смысла полей ввода этого окна вы найдете ниже, в разделе «Настройка подключения к сети».

Рис. 1. Подключение к сети WPA Enterprise с помощью апплета NetworkManager

Убедившись, что подключение к сети с помощью NetworkManager работает, вы можете добавить NetworkManager в rc-скрипты для его автоматического запуска в процессе загрузки ОС.

Недостатком апплета NetworkManager на сегодняшний день является то, что утилита не умеет настраивать параметры IP-адреса сетевого интерфейса. Отсутствие средств такой настройки не является проблемой, если вы используете DHCP во всех сетях, к которым подключаетесь, но многие, в том числе и я, используют в домашней сети статические адреса. Настроить статический IP для соединения, управляемого NetworkManager, можно стандартными средствами вашего дистрибутива Linux, однако тут возникает еще одна проблема – хотя штатные средства настройки сетевых интерфейсов ОС обычно позволяют создавать несколько профилей (DHCP для одной сети, статический адрес – для другой), эти профили нельзя привязать к профилям NetworkManager, так что при переключении с одной сети на другую (которое NetworkManager выполняет автоматически) профили настроек сетевых интерфейсов придется менять вручную. Разработчики NetworkManager обещают добавить поддержку настроек IP-адресов в следующую версию (0.7) своей утилиты, а пока что придется мириться с этим неудобством.

Настройка wpa_suppplicant

Если простая настройка сети с помощью NetworkManager у вас не работает, придется прибегнуть к ручной настройке wpa_supplicant. В системе Linux wpa_supplicant (который, кстати, доступен и на платформе Windows) обычно запускается как демон, поэтому мы будем называть его «демон аутентификации». Демон аутентификации wpa_supplicant отвечает за решение двух задач безопасного беспроводного соединения – безопасной аутентификации по протоколам WPA/WPA2 и управления ключами, используемыми при шифровании передаваемых данных.

Поскольку wpa_supplicant и сопутствующие ему модули развиваются очень быстро, всегда есть вероятность, что оборудование, не поддерживаемое старой версией wpa_supplicant или Wi-Fi-драйвера, будет поддерживаться более новыми версиями. Если экземпляр wpa_supplicant из вашего дистрибутива не сумел наладить взаимодействие с вашей беспроводной картой, попробуйте собрать программу из исходных текстов последнего релиза (который всегда доступен на официальном сайте http://hostap.epitest.fi/wpa_supplicant/). Для успешной сборки wpa_supplicant вам понадобятся исходные тексты драйверов (обновление драйвера может решить проблему взаимодействия wpa_supplicant и беспроводной карты). Исходные тексты драйверов следует загружать отдельно, с сайтов разработчиков. Список поддерживаемых драйверов, как и ссылки на сайты, можно найти на той же официальной странице.

Демон wpa_supplicant имеет модульную структуру, так что если вы собираете его из исходных текстов, вы должны убедиться, что в процессе сборки были подключены все необходимые модули. Список модулей, подключаемых к wpa_supplicant в процессе сборки, должен содержаться в файле .config, расположенном в корневой директории исходных текстов wpa_spplicant (по умолчанию, в корневой директории расположен файл defconfig, из которого перед началом сборки необходимо сделать файл конфигурации, подходящий для вашей системы). Файл .config состоит из набора строк вида:

CONFIG_<опция>=y

Убедитесь, что ваш файл .config включает строки

CONFIG_EAP_PEAP=y
CONFIG_EAP_TTLS=y

Они автоматически подключают модули, необходимые для поддержки аутентификации с помощью MS-CHAP V2 и цифровых сертификатов (EAP-TLS). Кроме списка модулей, реализующих методыи протоколы аутентификации, файл .config должен включать список поддерживаемых интерфейсов драйверов – например,

CONFIG_DRIVER_MADWIFI=y
CONFIG_DRIVER_NDISWRAPPER=y
CONFIG_DRIVER_WEXT=y

Проследите за тем, чтобы демон аутентификации был сконфигурирован с поддержкой интерфейса драйвера вашей Wi-Fi-карты. Двоичный пакет wpa_supplicant, входящий в ваш дистрибутив Linux, сконфигурирован с поддержкой всех доступных демону Wi-Fi-драйверов. Это сделано с целью обеспечить максимальную совместимость двоичного пакета, однако в некоторых случаях драйверы конфликтуют между собой. Если вы никак не можете запустить процесс аутентификации и все другие средства не помогают, попробуйте удалить из файла конфигурации все директивы подключения драйверов, кроме одной, фактически используемой вашей беспроводной картой.

Поскольку мы настраиваем wpa_supplicant вручную, нам придется самостоятельно «привязать» наши настройки к сетевому интерфейсу – например, в Kubuntu в файл /etc/network/interfaces следует добавить запись вида:

auto ath0
iface ath0 inet static
address 192.168.1.36
netmask 255.255.255.0
gateway 192.168.1.1
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf

</codce>

Здесь ath0 – имя настраиваемого беспроводного сетевого интерфейса. Далее следуют статические адреса узла и шлюза. Если узлы вашей сети получает адреса по DHCP, вместо этих настроек надо написать

<code>

iface ath0 inet dhcp

Последние две строчки настраивают собственно параметры WPA. В атрибуте wpa-driver указывается имя драйвера беспроводного адаптера, а в атрибуте wpa-conf – путь к файлу конфигурации wpa_supplicant. В некоторых дистрибутивах Linux (и в старых версиях Kubuntu) параметры запуска wpa_supplicant следует прописывать в специальном файле /etc/sysconfig/wpa_supplicant (в старых версиях Kubuntu – /etc/default/wpasupplicant). Вот типичный пример такого файла:

INTERFACES=”-iwlan0”
DRIVERS=”-Dmadwifi”

Значением атрибута INTERFACES должен быть список интерфейсов устройств, для которых запускается демон wpa_supplicant, а значением атрибута DRIVERS – список интерфейсов необходимых драйверов.

Настройка подключения к сети: PEAP MSCHAP V2 и EAP-TLS

Linux предоставляет много способов настройки аутентификации с помощью wpa_supplicant, в том числе с применением вспомогатель- ных утилит. Мы начнем с настройки путем непосредственного редакти- рования файлов конфигурации. Вспомогательные утилиты настройки авторизации (включая апплет GNOME NetworkManager) используют те же обозначения полей, что и файл конфигурации wpa_supplicant, так что, поняв принцип редактирования этого файла, вы поймете и прин- ципы работы с графическими помощниками. Для настройки авторизации PEAP MSCHAP V2 создайте файл /etc/ wpa_supplicant.conf и добавьте в него запись вида network={ ssid=”lochi7” scan_ssid=1 key_mgmt=WPA-EAP eap=PEAP identity=”kub” password=”password” phase2=”auth=MSCHAPV2” } Атрибут ssid содержит значение SSID беспроводной сети. Строка scan_ssid=1 необходима только в том случае, если в вашей сети запрещена широковещательная передача SSID. Значением атрибута key_mgmt должен быть список протоколов управления ключами (эле- менты списка разделяются пробелом). Помимо используемого нами протокола WPA-EAP, поддерживаются значения WPA-PSK, IEEE8021X и NONE (для отключения WPA). Если вы хотите явным образом указать алгоритм шифрования данных, можете указать атрибуты pairwise (для двусторонней передачи данных) и group (для широковещательной передачи). Значениями этих атрибутов являются списки имен протоко- лов шифрования. По умолчанию атрибуту pairwise присвоено значение TKIP CCMP, а атрибуту group – значение CCMP TKIP WEP104 WEP40. Если вы хотите, например, запретить использование любых протоко- лов, кроме AES, в процессе двусторонней передачи данных, добавьте в конфигурационную запись строку: pairwise=CCMP Атрибут eap позволяет указать список поддерживаемых методов аутентификации EAP. Мы присваиваем ему значение PEAP. В принци- пе, атрибут eap можно опустить, так как по умолчанию в wpa_supplicant включается поддержка всех методов аутентификации, поддержива- емых выбранным протоколом. Атрибут identity содержит имя поль- зователя для аутентификации по протоколу MS CHAP V2, а атрибут password – пароль. Наконец, атрибут phase2 указывает, что в безопас- ном туннеле, созданном по протоколу PEAP, должен использоваться протокол аутентификации MS CHAP V2. После внесения изменений в файл wpa_supplicant.conf, во избежание появления довольно стран- ных ошибок, следует перезапустить сетевой сервис (а не только демон wpa_supplicant). Не забудьте (при необходимости) перенастроить точ- ку доступа, и если вы все сделали правильно, вы увидите сообщения сервера FreeRADIUS об успешном прохождении процедуры аутентифи- кации PEAP MS CHAP V2. Для аутентификации по протоколу EAP-TLS на клиентской машине потребуется установить клиентский сертификат, корневой сертификат, удостоверяющий подпись клиентского и серверного сертификатов, и файл секретного ключа клиентского сертификата. Методы генерации всех этих файлов были подробно рассмотрены нами в предыдущей ста- тье (LXF96), и сейчас нам остается выполнить лишь одно дополнитель- ное преобразование. Напомню, что мы создавали файлы сертификатов в формате DER, тогда как демон wpa_supplicant и его друзья предпочита- ют сертификаты в формате PEM. Преобразовать клиентский сертификат из формата DER в формат PEM можно с помощью команды: openssl x509 -in user1.crt -out user1.pem Точно также следует преобразовать и корневой сертификат. При аутентификации по протоколу EAP-TLS запись network {...} в файле wpa_supplicant должна принять вид network={ ssid=”lochi7” key_mgmt=WPA-EAP eap=TLS identity=”user1” ca_cert=”/usr/local/etc/certs/myroot_ca.pem” client_cert=”/usr/local/etc/certs/user1.pem” private_key=”/usr/local/etc/certs/user1.key” private_key_passwd=”password” } Теперь атрибут eap указывает метод авторизации TLS. Атрибут identity содержит имя пользователя, с которым связан клиентский сер- тификат. Как отмечалось в предыдущей статье, мы можем настроить сервер FreeRADIUS таким образом, чтобы он не проверял это значение. Значением атрибута ca_cert должен быть путь к файлу корневого сер- тификата, значением атрибута client_cert – путь к файлу клиентского сертификата, а значением атрибута private_key – путь к файлу секрет- ного ключа клиента. Пароль доступа к секретному ключу хранится в атрибуте private_key_passwd. На этом настройка клиента для авториза- ции по протоколу EAP-TLS закончена. Как и при настройке MS CHAP V2, нам следует перезапустить сетевую систему. Мы не коснулись еще одного важного аспекта настройки бес- проводного клиента – поддержки нескольких сетей. Настроить wpa_ supplicant для работы с несколькими сетями очень просто – доста- точно добавить соответствующие записи network{...} в файл /etc/ wpa_ supplicant.conf. В большинстве случаев подключение к доступной сети будет выполняться автоматически.

Персональные инструменты
купить
подписаться
Яндекс.Метрика