man wpa_supplicant(8) - клиент защищённого доступа Wi-Fi и проситель IEEE 802.1X НАЗВАНИЕ wpa_supplicant - клиент защищённого доступа Wi-Fi и проситель IEEE 802.1X ОБЗОР wpa_supplicant [-BddfhKLqqtuvwW] [-iимя_интерфейса] [-cфайл_конфигурации] [-Dдрайвер] [-PPID_файл] [-fвыходной_файл] ОБЩИЙ ОБЗОР Беспроводные сети не требуют физического доступа к сетевому оборудованию таким же образом, что и проводные сети. Это упрощает неавторизованным пользователям пассивное наблюдение за сетью и перехват всех переданных кадров. В добавок, неавторизованное использование сети значительно проще. Во многих случаях, это может произойти без явного уведомления пользователя, поскольку беспроводной сетевой адаптер может быть настроен на автоматическое вхождение в любую доступную сеть. Для обеспечения уровня безопасности беспроводных сетей можно воспользоваться шифрованием на уровне канала. Исходный стандарт беспроводных сетей IEEE 802.11 включает простой механизм шифрования WEP. Однако доказано, что он имеет недостатки во многих аспектах, а сети защищённые с помощью WEP не могут считаться безопасными. Для улучшения безопасности сети можно использовать аутентификацию IEEE 802.1X и часто меняемые динамические ключи WEP, но даже в этом случае можно ожидать унаследованных проблем, возникающих при использовании WEP для шифрования. Защищённый доступ Wi-Fi (WPA) и поправка IEEE 802.11i к стандарту беспроводной сети вводит хорошо улучшенный механизм безопасности беспроводных сетей. Сети, использующие IEEE 802.11i можно назвать действительно безопасными, поскольку при этом применяется CCMP (механизм шифрования основанный на сильном криптографическом алгоритме AES), который может обеспечить эффективную защиту от неавторизованного доступа тем приложениям, которые в ней нуждаются. wpa_supplicant является компонентом просителя WPA, то есть той частью, которая запускается на стороне клиентской станции. wpa_supplicant осуществляет обмен данными с аутентификатором WPA и аутентификацией по протоколу EAP с сервером аутентификации. К тому же, wpa_supplicant контролирует переход между сетями (roaming) и аутентификацию/ассоциацию IEEE 802.11 в драйвере беспроводной локальной сети. wpa_supplicant представляет собой демон, программу которая запускается в фоновом режиме и действует в качестве служебного компонента, управляющего беспроводным соединением. wpa_supplicant поддерживает различные программы-оболочки, например текстовый wpa_cli, входящий в состав wpa_supplicant. Перед тем, как wpa_supplicant сможет сделать свою работу, необходимо что бы сетевой интерфейс был доступен. Это означает, что физическое устройство должно быт присутствовать и быть включённым, а драйвер устройства должен быть загружен. Однако, опция "-w" демона wpa_supplicant позволяет ему продолжить работу в режиме ожидания и ждать, когда сетевой интерфейс станет доступным. Без опции '-w' демон немедленно прекратит работу, если устройство ещё не доступно. После того, как wpa_supplicant настроил сетевое устройство, могут быть запущены более высокоуровневые средства настройки, например DHCP. Существуют различные способы для встраивания wpa_supplicant в сценарии настройки сети компьютера, некоторые из которых описаны в разделе ниже. Для ассоциирования с точкой доступа при помощи WPA используются следующие шаги: o wpa_supplicant запрашивает драйвер ядра просканировать окружающие базовые станции (BSS) o wpa_supplicant выбирает базовую станцию (BSS) основываясь на её настройках o wpa_supplicant запрашивает драйвер ядра ассоциироваться с указанной выбранной базовой станцией (BSS) o Если WPA-EAP: встроенный проситель IEEE 802.1X завершает аутентификацию EAP на сервере аутентификации (ретранслируемом с помощью аутентификатора в точке доступа) o Если WPA-EAP: от просителя IEEE 802.1X принимается мастер-ключ o Если WPA-PSK: wpa_supplicant использует общий ключ PSK в качестве мастер-ключа сеанса o wpa_supplicant завершает четырёхэтапное рукопожатие WPA и рукопожатие группового ключа (Group Key Handshake) с аутентификатором точки доступа o wpa_supplicant настраивает ключи шифрования для направленного вещания и широковещания o могут передаваться и приниматься обычные пакеты данных ПОДДЕРЖИВАЕМЫЕ ВОЗМОЖНОСТИ Список поддерживаемых возможностей WPA/IEEE 802.11i: o WPA-PSK ("WPA-Personal") o WPA с EAP (например, с сервером аутентификации RADIUS) ("WPA-Enterprise") Просителем IEEE 802.1X поддерживаются следующие встроенные методы аутентификации: o EAP-TLS o EAP-PEAP/MSCHAPv2 (PEAPv0 и PEAPv1) o EAP-PEAP/TLS (PEAPv0 и PEAPv1) o EAP-PEAP/GTC (PEAPv0 и PEAPv1) o EAP-PEAP/OTP (PEAPv0 и PEAPv1) o EAP-PEAP/MD5-Challenge (PEAPv0 и PEAPv1) o EAP-TTLS/EAP-MD5-Challenge o EAP-TTLS/EAP-GTC o EAP-TTLS/EAP-OTP o EAP-TTLS/EAP-MSCHAPv2 o EAP-TTLS/EAP-TLS o EAP-TTLS/MSCHAPv2 o EAP-TTLS/MSCHAP o EAP-TTLS/PAP o EAP-TTLS/CHAP o EAP-SIM o EAP-AKA o EAP-PSK o EAP-PAX o LEAP (замечание: требует особой поддержки драйвером аутентификации IEEE 802.11) o (следующие методы поддерживаются, но они пока не порождают обмен ключевым материалом, они не могут использоваться для обмен ключами по WPA или IEEE 802.1X WEP) o EAP-MD5-Challenge o EAP-MSCHAPv2 o EAP-GTC o EAP-OTP o управление ключами по CCMP, TKIP, WEP104, WEP40 o RSN/WPA2 (IEEE 802.11i) o пре-аутентификация o кэширование PMKSA ДОСТУПНЫЕ ДРАЙВЕРЫ Драйверы, доступные для указания в опции -D: hostap (по умолчанию) Ведущий драйвер точки доступа (Intersil Prism2/2.5/3). (он также может использоваться совместно с загрузчиком драйвера Linuxant). hermes Драйвер Agere Systems Inc. (Hermes-I/Hermes-II). madwifi Поддерживаемые MADWIFI 802.11 (Atheros, etc.). atmel ATMEL AT76C5XXx (USB, PCMCIA). wext Беспроводные расширения Linux (обобщённый). ndiswrapper Linux ndiswrapper. broadcom Драйвер Broadcom wl.o. ipw Драйвер Intel ipw2100/2200. wired Проводной драйвер Ethernet wpa_supplicant bsd Поддерживаемые BSD 802.11 (Atheros, etc.). ndis Драйвер Windows NDIS. ОПЦИИ КОМАНДНОЙ СТРОКИ -b интерфейс_моста Необязательное имя интерфейса моста. -B Запустить демона в фоновом режиме. -c имя_файла Путь к файлу конфигурации. -C управляющий_интерфейс Путь к сокету управления_интерфейсом (используется только если -c отсутствует). -i имя_интерфейса Интерфейс для прослушивания. -d Увеличивает подробность отладочных сообщений (-dd ещё больше). -D драйвер Используемый драйвер. Смотри доступные опции далее. -f выходной_файл Журналировать вывод в указанный файл, а не на стандартный вывод. -g глобальный_сокет_управления_интерфейсом Путь к глобальному_сокету_управления_интерфейсом. -K Включать ключи (пароли и т.п.) в отладочный вывод. -t Включать отметки времени в отладочный вывод. -h Помощь. Показать справку по использованию. -L Показать лицензию (GPL и BSD). -p Параметры драйвера. -P PID_файл Путь к файлу с идентификатором процесса. -q Уменьшить подробность отладочных сообщений (-qq ещё меньше). -u Включить управляющий интерфейс DBus. -v Показать версию. -w Ждать добавления интерфейса, если необходимо. Обычно wpa_supplicant завершает работу, если интерфейс отсутствует. -W Ждать управляющий интерфейс перед запуском. -N Начать описание новых интерфейсов. ПРИМЕРЫ В большинстве случаев wpa_supplicant запускается следующим образом: wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -iwlan0 Эта команда заставляет процесс ответвиться в фоновый режим и ждать интерфейс wlan0, если он не был доступен в момент запуска команды. Наилегчайший способ отладки проблем и получения журнала об ошибках для составления отчета об ошибке, заключается в запуске wpa_supplicant в фоновом режиме с включенным режимом отладки: wpa_supplicant -c/etc/wpa_supplicant.conf -iwlan0 -d wpa_supplicant может управлять несколькими (радио) интерфейсами, по одному запущенному процессу для каждого отдельного интерфейса или просто запуском одного процесса со списком опций в командной строке. Каждый интерфейс отделяется аргументом -N. Например, следующая командная строка запустит wpa_supplicant для двух интерфейсов: wpa_supplicant \ -c wpa1.conf -i wlan0 -D hostap -N \ -c wpa2.conf -i ath0 -D madwifi ТРЕБОВАНИЯ К ОПЕРАЦИОННОЙ СИСТЕМЕ Текущие аппаратные/программные требования: o ядро Linux 2.4.x или 2.6.x с беспроводными расширениями Linux v15 или новее o FreeBSD 6-CURRENT o Microsoft Windows с WinPcap (по меньшей мере WinXP, может работать с другими версиями) ПОДДЕРЖИВАЕМЫЕ ДРАЙВЕРЫ Ведущий драйвер точки доступа для Prism2/2.5/3 (снимок разрабатываемой версии/v0.2.x) (http://hostap.epitest.fi/) Драйвер должен быть настроен в режиме управления ('iwconfig wlan0 mode managed'). Отметим, что фирменное программное обеспечение компьютера должно иметь версию 1.7.0 или новее, чтобы работать в режиме WPA. Загрузчик драйвера Linuxant (http://www.linuxant.com/driverloader/) с драйвером Windows NDIS для вашей беспроводной сетевой карты, поддерживающим WPA. Agere Systems Inc. драйвер для Linux (http://www.agere.com/support/drivers/) Отметим, что файл интерфейса драйвера (driver_hermes.c) и аппаратно-зависимые файлы не включаются в комплект поставки wpa_supplicant. Вам может потребоваться скопировать их из пакета с исходными текстами драйвера Agere. Драйвер madwifi для карт, основанных на наборе микросхем Atheros (ar521x) (http://sourceforge.net/projects/madwifi/) Отметим, что вам потребуется изменить файл конфигурации wpa_supplicant, чтобы использовать правильный путь до корневого каталога драйвера madwifi (CFLAGS += -I../madwifi/wpa - строка в примере defconfig). Драйвер ATMEL AT76C5XXx для карт USB и PCMCIA (http://atmelwlandriver.sourceforge.net/). Linux ndiswrapper (http://ndiswrapper.sourceforge.net/) с драйвером Windows NDIS. Драйвер Broadcom wl.o Это обобщённый драйвер Linux для карт IEEE 802.11a/g. Однако, это собственнический драйвер, который не доступен общественности, исключая связанные с особыми обстоятельствами, главным образом с беспроводными маршрутизаторами и точками доступа на основе Broadcom, которые используют Linux. Драйвер в двоичном виде может быть скачан, например, с сайта поддержки Linksys (http://www.linksys.com/support/gpl.asp) для Linksys WRT54G. Архив GPL включает в себя кросс-компилятор и необходимый заголовочный файл wlioctl.h, для сборки wpa_supplicant. Этот драйвер поддерживает wpa_supplicant, ожидается что он будет работать также с другими устройствами, основанными на драйвере Broadcom (подразумевая, что драйвер содержит поддержку клиентского режима). Драйвер Intel ipw2100 (http://sourceforge.net/projects/ipw2100/) Драйвер Intel ipw2200 (http://sourceforge.net/projects/ipw2200/) Беспроводные расширения Linux Теоретически, любой драйвер, поддерживающий беспроводные расширения Linux может использоваться вместе с IEEE 802.1X (то есть, не WPA) при использовании опции ap_scan=0 в файле конфигурации. Проводные драйверы Ethernet Воспользуйтесь ap_scan=0. Слой BSD net80211 (например, драйвер Atheros) В настоящее время он доступен в ветке FreeBSD 6-CURRENT. Windows NDIS Текущий версия для Windows требует для работы WinPcap (http://winpcap.polito.it/). Обратитесь к README-Windows.txt за более подробной информацией. wpa_supplicant был спроектирован пригодным для переноса на различные драйверы и операционные системы. Надеемся, что в будущем будет добавлена поддержка большего количество беспроводных карт и операционных систем. Обратитесь к developer.txt за более подробной информацией об архитектуре wpa_supplicant и о переносе на другие драйверы. Одной из главных целей было добавление полной поддержки WPA/WPA2 в беспроводные расширения Linux, с целью избежать реализации специального кода для взаимодействия между каждым новым драйвером и wpa_supplicant. АРХИТЕКТУРА Система wpa_supplicant состоит из следующих компонентов: wpa_supplicant.conf Файл конфигурации, описывающий все сети, к которым пользователь хочет подключать компьютер. wpa_supplicant Программа, которая напрямую взаимодействует с сетевым интерфейсом. wpa_cli Программа-клиент, которая предоставляет высокоуровневый интерфейс к функциям демона. wpa_passphrase Служебный инструмент, необходимый для создания файлов wpa_supplicant.conf, включающих зашифрованные пароли. БЫСТРЫЙ СТАРТ Для начала, создайте файл конфигурации, например /etc/wpa_supplicant.conf, который описывает интересные вам сети. За более подробной информацией обратитесь к wpa_supplicant.conf(5). Когда файл конфигурации готов, вы можете проверить работает ли он, запустив wpa_supplicant с помощью следующей команды, которая запустит его в интерактивном режиме со включенным режимом отладки: wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -d Если всё хорошо, вы можете выполнить следующую команду, которая запустит wpa_supplicant в фоновом режиме без отладки: wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B Отметим, что если перед сборкой пакета вы указали более одного драйвера в файле конфигурации (.config), вам может потребоваться указать в командной строке опцию -D<название_драйвера>, для указания используемого интерфейса. ИНТЕРФЕЙС К PCMCIA-CS/CARDMRG Например, для включения поддержки WPA можно воспользоваться следующими небольшими изменениями в сценариях pcmcia-cs: Добавить MODE="Managed" и WPA="y" в сетевую схему в /etc/pcmcia/wireless.opts. Добавить следующий блок в конец обработчика действия 'start' в /etc/pcmcia/wireless: if [ "$WPA" = "y" -a -x /usr/local/bin/wpa_supplicant ]; then /usr/local/bin/wpa_supplicant -Bw -c/etc/wpa_supplicant.conf -i$DEVICE fi Добавить следующий блок в конец обработчика действия 'stop' (может потребоваться отделение от других действий) в /etc/pcmcia/wireless: if [ "$WPA" = "y" -a -x /usr/local/bin/wpa_supplicant ]; then killall wpa_supplicant fi Это заставит cardmgr запускать wpa_supplicant при подключении карты. wpa_supplicant будет ожидать появления интерфейса (независимо от того, назначен ли статический IP-адрес или запущен клиент DHCP), а затем согласует ключи с точкой доступа. СМОТРИ ТАКЖЕ wpa_background(8), wpa_supplicant.conf(5), wpa_cli(8), wpa_passphrase(8) ПРАВА wpa_supplicant Copyright (c) 2003-2007, Джуни Мэлайнен (Jouni Malinen) и вкладчики. Все права защищены. Эта программа распространяется под двумя лицензиями: GPL версии 2 и лицензией BSD. Любая из лицензий может использоваться на ваш выбор. ------------------------------------------------------------------------------- http://translated.by/you/man-wpa-supplicant-8-wi-fi-protected-access-client-and-ieee-802-1x-supplicant/into-ru/trans/ Original (English): man wpa_supplicant(8) - Wi-Fi Protected Access client and IEEE 802.1X supplicant (http://manpages.debian.net/cgi-bin/man.cgi?query=wpa_supplicant&apropos=0&sektion=0&manpath=Debian+experimental&format=html&locale=en) Translation: © Владимир Ступин, alexanderyt. translated.by crowd